日期:2014-05-16  浏览次数:20771 次

Linux学习笔记之——Linux硬盘分区知识
搭建Linux环境之前,有必要对Linux的硬盘分区知识有所了解。本文总结Linux的硬盘分区知识。

一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算
      首先了解一下硬盘本身的一些信息。
1、硬盘种类、物理几何结构
      硬盘的种类主要是SCSI 、IDE及目前流行的SATA等;所有一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如SCSI标准已经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的Ultral-160就是基于SCSI-3标准的;IDE
遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE;
      硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;
2、硬盘容量及分区大小的算法
     在Linux下执行fdisk -l命令,将出现类似下面的信息:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        9729    55617030    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux
/dev/hda10           7752        9729    15888253+  83  Linux

其中 heads 是磁盘面;sectors 是扇区;cylinders 是柱面;每个扇区大小是 512byte,也就是0.5K;

通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;所以整个硬盘体积换算公式应该是:

磁面个数 x 扇区个数 x 每个扇区的大小512 x  柱面个数 = 硬盘体积 (单位bytes)

所以在本例中磁盘的大小应该计算如下:
255 x 63  x  512 x 9729 =  80023749120 bytes 
提示:由于硬盘生产商和操作系统换算不太相同,硬盘厂家以10进位的办法来换算,而操作系统是以2进位制来换算,所以在换算成M或G 时,不同的算法结果却不相同;所以我们的硬盘有时标出的是80G,在操作系统下看却少几M;
上面例子中,硬盘厂家算法 和 操作系统算数比较:
硬盘厂家: 80023749120 bytes = 80023749.120 K = 80023.749120 M  (向大单位换算,每次除以1000)
操作系统: 80023749120 bytes = 78148192.5 K = 76316.594238281 M  (向大单位换算,每次除以1024)
我们在查看分区大小的时候,能用生产厂家提供的算法来简单推算分区的大小;把小数点向前移动六位就是以G表示的大小;比如 hda1 的大小约为 6.144831G ;

二、关于硬盘分区划分标准及合理分区结构
1、硬盘分区划分标准
      硬盘的分区由主分区、扩展分区和逻辑分区组成;所以我们在对硬盘分区时要遵循这个标准;主分区(包括扩展分区)的最大个数是四个且扩展分区不能包围在主分区之间,主分区(包含扩展分区)的个数由硬盘的主引导记录MBR(Master Boot Recorder)决定的,MBR存放启动管理程式(GRUB,LILO,NTLOARDER等)和分区表记录。其中扩展分区也算一个主分区;扩展分区下能包含更多的逻辑分区;所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;比如下面的例子:
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1