什么是磁盘分区?分区是指在磁盘上建立的用于存储数据和文件的独立空间,磁盘分区由主分区(Primary Partition)和扩展分区(Extended Partition)组成。在使用时,这两种分区的区别体现在主分区可以直接使用,而扩展分区需要先划分成逻辑分区(Logical Partition)才可以使用。
分区中必须存在至少一个主分区,但扩展分区可以不存在,且主分区的数量最多可以是4个(整个磁盘都划分成主分区),而扩展分区上的逻辑分区理论上可以存在无数个。其实并不建议把整个磁盘划分成4个主分区(由于磁盘本身的原因,划分成4个主分区并不能用到全部空间,而且剩下的空间没有多余的分区表来记录),这会造成空间的浪费。另外,考虑到磁盘的连续性,建议将扩展分区放在最后的柱面。
扩展分区需要在逻辑卷上创建才可以使用,而不是直接创建逻辑卷,这是考虑到在工作环境下磁盘的分区不止4个,还要考虑分区表的数量,而在扩展分区上创建分区时就没有这些限制,可以创建无限个逻辑分区。
当然,磁盘中还存在一个只有512字节大小的分区,此分区用于存放系统启动的主引导(Master Boot Recorder,MBR)程序。该分区中包括系统启动的引导信息、磁盘分区表等重要的信息(见图1),如果该分区中的数据损坏,系统就无法启动,如果是物理实体损坏,就意味着这块磁盘也基本报废。
图1 主引导分区的位置及结构示意图
主引导分区主要划分成Bootloader和Partition tables两个分区。Bootloader占据446字节,用于存放引导代码;Partition tables占据64字节,用于存放磁盘分区表,磁盘每个分区的信息需要用16字节来记录,因此最多只能记录4个分区的信息。
另外,在每个分区表中记录着每个分区的大小(始终点)、所处磁盘的位置、柱面等信息,如果重新分区,实际上就是重新更改分区表的记录信息,分区表中定义了第n个分区是从“第x个柱面到第y个柱面”,因此当系统要读取第n个磁盘时,就根据分区表中定义的信息去操作。