分区表DPT(DiskPartitionTable),把硬盘空间划分为几个独立的连续的存储空间,也就是分区。分区表DPT则以80H或00H为开始标志,以55AAH为结束标志。分区表决定了硬盘中的分区数量,每个分区的起始及终止扇区、大小以及是否为活动分区等。通过破坏DPT,即可轻易地损毁硬盘分区信息。分区表分为主分区表和扩展分区表。
主分区表位于硬盘MBR的后部。从1BEH字节开始,共占用64个字节,包含四个分区表项,这也就是为什么一个磁盘的主分区和扩展分区之和总共只能有四个的原因。每个分区表项的长度为16个字节,它包含一个分区的引导标志、系统标志、起始和结尾的柱面号、扇区号、磁头号以及本分区前面的扇区数和本分区所占用的扇区数。其中“引导标志”表明此分区是否可引导,即是否活动分区。当引导标志为“80”时,此分区为活动分区;“系统标志”决定了该分区的类型,如“06”为DOSFAT16分区,“0b”为DOSFAT32分,“63”为UNIX分区等;起始和结尾的柱面号、扇区号、磁头号指明了该分区的起始和终止位置。
分区表项的16个字节分配如下:
第1字节:引导标志
第2字节:起始磁头
第3字节:低6位为起始扇区,高2位与第4字节为起始柱面
第4字节:起始柱面的低8位
第5字节:系统标志
第6字节:终止磁头
第7字节:低6位为终止扇区,高2位与第8字节为终止柱面
第8字节:终止柱面的低8位
第9-12字节:该分区前的扇区数目
第13-16字节:该分区占用的扇区数目
扩展分区作为一个主分区占用了主分区表的一个表项。在扩展分区起始位置所指示的扇区(即该分区的第一个扇区)中,包含有第一个逻辑分区表,同样从1BEH字节开始,每个分区表项占用16个字节。逻辑分区表一般包含两个分区表项,一个指向当前的逻辑分区,另一个则指向下一个扩展分区。下一个扩展分区的首扇区又包含了一个逻辑分区表,这样以此类推,扩展分区中就可以包含多个逻辑分区。为方便说明,我们把这一系列扩展分区和逻辑分区分别编号,主扩展分区为1号扩展分区,第一个逻辑分区表所包含的两个分区分别标为1号逻辑分区和2号扩展分区,依次类推。
主分区表中的分区是主分区,而扩展分区表中的是逻辑分区,并且只能存在一个扩展分区。
