硬盘DOS分区表参数的推算方法 湛江 陈文庆 1992-10-16 一、硬盘基本参数的确定: 我们知道,硬盘的逻辑0扇区存放有硬盘的I/O参数表,从I/O参数表可以确定有关硬盘的基本参数,其所在相对位置为0BH-1DH,共19个字节,各字节的含义如下: 0B-0CH:每扇区字节数。 0DH:每簇扇区数。 0E-0FH:保留扇区数。 10H:FAT表数。 11-12H:根目录最大可存文件数。 13-14H:本分区总扇区数。 15H:硬盘标志。 16-17H:每个FAT表占用扇区数。 18-19H:每磁道扇区数。 1A-1BH:磁头数。 1C-1DH:本分区前区有扇区数。 下面就是联想386/33机DOS3.3版的I/O参数表。其中硬盘总容量为100MB。只有一个DOS分区,总容量为32MB。其I/O参数表的具体内容是: 00 02 04 01 00 02 00 02 9F FF F8 40 00 21 00 08 00 21 00 二、硬盘分区表参数的推算法: 1.分区表各字节的含义: 在硬盘的第1扇区(0柱0头1扇区)有64字节是记录硬盘分区信息的,每个分区占16个字节,共有4个分区,在相对位置为1BE-1FDH,各字节的含义如下: 00H:活动分区标志。80H__活动分区;00H__非活动分区。 01_03H:表示本分区起始头号、区号及柱面号。 04H:DOS系统标志。 05-07H:本分区终止头号、区号、柱面号。 08-0BH:本分区前的扇区数。 0CH-0FH:本分区扇区总数。 2.柱面号和扇区号的关系: 从硬盘主引导程序可知,柱面号和扇区号有如下关系:起始实际柱面号的低8位就是分区表中的柱面号,高2位和实际扇区号合并就是分区表中的扇区号;终止实际柱面号低8位减1就是分区表中的柱面号,高2位和实际扇区事情合并就是分区表中的扇区号。 3.分区表参数的推算: 下面以联想386/33机为例来说明推算分区表参数的方法: (1)第一字节是80H(活动分区)或00H(非活动分区)。 (2)由于本分区前已有33个扇区,每磁道33个扇区,即在本分区前已有一磁道,所以本分区从0柱1头1区开始,故第二、三、四字节分别为01、01、00H。 (3)第五字节是04H。 (4)本分区总扇区数是FF9FH,本分区终止扇区号为FF9FH+21H=FFC0H,则终止柱面号为(FFC0H/21H)/8=F8H,由于余数为0,则可推知终止头号为07H(即最后一个磁头),即第六字节为07H,由实际柱面号F8H的低8位为F8H,则分区表第八字节为F7H,由于终止扇区号必为最后一扇区,即为33扇区,该扇区号和实际柱面号的高2位(二进制)合并得21H,故第七字节为21H。综上所述可得知第六、七、八字节分别07H、21H、F7H。 (5)由于本分区前已有21H个扇区,故第九、十、十一、十二字节分别为21H、00H、00H、00H。 (6)由于本分区的总扇区数为FF9FH,故第十三、十四、十五、十六字节分别为9FH、FFH、00H、00H。