计算机硬盘的读取,并不像人那么聪明。读取相应的文件时,你必须要给出相应的规则。这就是分区概念。
分区从实质上就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。
对于硬盘来说,第一扇区十分重要,记录了硬盘的重要信息。
通常我们把第一扇区称为引导扇区。位于0磁头、0柱面的第一扇区称为主引导扇区。
主引导扇区(又称主引导记录(Master Boot Record,MBR))中包含了三个信息:
引导加载程序:有446bytes。
分区表(partition table):记录整块硬盘的状态,有64bytes。
硬盘有效标志:2bytes。
硬盘分区表
举例分析:
假设上面的硬盘装置名为/dev/hda,那么这四个分区在Linux系统中的设备文件名如下所示, 重点在于文件名后面会再接一个数字,这个数字与该分区所在的位置有关
P1: /dev/hda1
P2: /dev/hda2
P3: /dev/hda3
P4: /dev/hda4
上图中我们假设硬盘只有400个柱面,共分割成为四个分区,第四个分区所在为第301到400号柱面的范围。 当你的操作系统为Windows时,那么第一到第四个分区的代号应该就是C, D, E, F。当你有数据要写入F盘时, 数据会被写入这个磁盘的301~400号柱面之间。
由于分区表只有64bytes,最多只能分成四个分区。从图中得到几点重要信息:
1、硬盘默认的分区表最多只能分成四个分区。
2、这四组分区称为主(Primary)或扩展(Extended)分区。
3、分区的最小单位为柱面(cylinder)。
4、当系统要写入磁盘时,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。
分区的好处:
(1)增加数据的安全性:
因为每个分区的数据是分开的!所以,当你需要将某个分区的数据重整时,例如windows中C盘重装系统并不会影响到D盘。
(2)提高系统性能:
由于分区将数据集中在某个柱面的范围,例如上图当中第一个分区位于柱面号码1~100号,当有数据要读取自该分区时,磁盘只会搜寻前面1~100的柱面范围,这有助于提高数据读取的速度与效能!
是否我们的硬盘可以分成超过四个分区?
当然可以,虽然主引导扇区的分区表只能记录四条数据,但我们可以利用额外的扇区来记录更多的分区信息。
举例分析:
图中P1为主分区,P2为扩展分区,L1~L5为逻辑分区。(硬盘中主分区至少有1个,扩展分区可以没有,最多1个)
扩展分区的目的是使用额外的扇区来记录分区信息,扩展分区本身不能拿来格式化。
扩展分区是不能直接用的,它是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。
同样的,上述的分区在Linux系统中的设备文件名分别如下:
P1: /dev/hda1
P2: /dev/hda2
L1: /dev/hda5
L2: /dev/hda6
L3: /dev/hda7
L4: /dev/hda8
L5: /dev/hda9
注意!!设备文件名中没有/dev/hda3与/dev/hda4,因为前面四个号码都是保留给Primary或Extended用的。 所以逻辑分区的设备文件名称号码就由5号开始!
三种分区的性质简述:
(1)主分区和扩展分区最多可以有四个。
(2)扩展分区最多只有一个,主分区至少一个。
(3)逻辑分区是由扩展分区中分割出来的。
(4)能够被格式化后,作为数据存取的分区为主分割与逻辑分区,扩展分区无法格式化。
(5)逻辑分区的数量限制依操作系统而不同。