磁盘分区表

上传人:hs****ma 文档编号:564789297 上传时间:2022-11-18 格式:DOCX 页数:8 大小:30.09KB
返回 下载 相关 举报
磁盘分区表_第1页
第1页 / 共8页
磁盘分区表_第2页
第2页 / 共8页
磁盘分区表_第3页
第3页 / 共8页
磁盘分区表_第4页
第4页 / 共8页
磁盘分区表_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《磁盘分区表》由会员分享,可在线阅读,更多相关《磁盘分区表(8页珍藏版)》请在金锄头文库上搜索。

1、深入浅出硬盘分区表作 者 : 武 汉 市 中 国 地 质 大 学 印 涛 ,秦 剑人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。 究其原因,就 是硬盘分区表受损。硬 盘分区表可以说是支持硬盘正常工作的骨架.操作系统正是通过它 把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件.本文主要讲述的是分区 表的位置,结构以及各个分区表是如何链接起来的.当掌握了这些知识后,即使分区表受到破坏,一样也 可以根据残存的数据手工修复分区表,从而修复分区。一. 分区表的位置及识别标志分区表一般位于硬盘某柱面的 0磁头 1扇区.而第 1个分区表(也即主

2、分区表)总是位于(0 柱 面 ,1 磁 头 ,1 扇 区 ), 剩 余 的 分 区 表 位 置 可 以 由 主 分 区 表 依 次 推 导 出 来 分 区 表 有 64 个 字 节 ,占 据 其 所在扇区的441-509 字节 .要判定是不是分区表,就看其后紧邻的两个字节(也即510-511) 是不是 55AA, 若 是 ,则 为 分 区 表 二. 分区表的结构分区表由4项组成,每项16个字节.共4x16 = 64个字节.每项描述一个分区的基本信息.每个字节的 含义如下:分区表项含义字节含义0Activeflag.活动标志.若为0x80H,则表示该分 区为活动分区.若为0x00H,则表示该分区

3、为 非活动分区.1,2,3该分区的起始磁头号,扇区号,柱面号磁头号-1字节,扇区号-2字节低6位,柱面号-2字节高2位+ 3字节4分区文件系统标志:分区未用:0x00H.扩展分区:0x05H, 0x0FH.FAT16 分区:0x06H.FAT32 分区:OxOBH, 0x1BH, OxOCH, 0x1CH.NTFS 分区:0x07H.5,6,7该分区的结束磁头号,扇区号,柱面号,含义同上.8,9,10,11逻辑起始扇区号。表示分区起点之前已用了 的扇区数.12,13,14,15该分区所占用的扇区数分区表项有几个字节比较重要,下面分别阐述之:1、(1,2,3)字节磁头号由( 1)字节 8位表示,

4、其范 围为( 0 - 28 - 1),也即( 0 磁头- 254磁头)。 扇区号由(2)字节低6位表示,其范围为(0 - 26 - 1 ),由于扇区号从1开始,所以 其范围是(1扇区- 63 扇区)。柱面号由(2)字节高2位 + (3)字节,共10位表示,其范围为(0 -2 10 - 1 ),也 即(0 柱面- 1023 柱面)。当柱面号超过 1023 时,这10位依然表示成 1023 ,需要注意。 (5,6,7)字节含义同上。2、(8, 9, 10, 11 )字节如果是主分区表,则这 4 个字节表示该分区起始逻辑扇区号与逻辑 0扇区(0柱面,0 磁头,1扇区)之差。如果非主分区表,则这 4

5、个字节要么表示该分区起始逻辑扇区号与扩展分区起始逻辑扇区号之差,要么 为63 。详细情况在后面有所阐述。注意:1、扇区上的字节是按左边低位,右边高位的顺序排列的。所以在取值时,需要把字节再反 一下,让高位字节在左边,低位字节在右边, 这一点在读取逻辑起始扇区号和分区大小时需要注意。举个例子:第一项的逻辑起始扇区为 (3F 00 00 00) ,转换为十进制前要先反一下字节顺序,为( 00 00 00 3F )然后在转换为十进制,即63 .同理分区大小为( 3F 04 7D 00 ), 先反为( 00 7D 04 3F )再转换为十进制,即8193087 。2、逻辑扇区号与(柱面,磁头,扇区)的

6、相互转换:令L =逻辑扇区号,C =柱面号,H =磁头号,S =扇区号。 每道扇区数 =63每柱面磁头数 = 255每柱面扇区数 = 每道扇区数* 每柱面磁头数=63 X 255= 16065柱面号下标从 0开始。磁头号0 - 254 ,扇区号1 - 63 。 逻辑扇区号下标也从0开始。(柱面,磁头,扇区)转换成逻辑扇区号的公式为:L = CX16065 + H X63 + S - 1 ;比如( 1柱面, 1磁头, 1扇区),其逻辑扇区号为:L = 1X 16065 + 1X63 + 1- 1= 16128逻辑扇区号转换成(柱面,磁头,扇区) 公式为:C = L / 16065H = (L %

7、 16065) / 63S = (L % 16065) % 63 + 1 比如逻辑扇区号 16127: C = 16127 / 16065 = 1H = (16127 % 16065) / 63 = 0S = (16127 % 16065) % 63 + 1 = 63 即( 1柱面,0磁头,63扇区)3、分区表上有四项,每一项表示一个分区,所以一个分区表最多只能表示 4个分区。主分 区表上的 4项用来表示主分区和扩展分区的信息。因为扩展分区最多只能有一个,所以硬 盘 最多可以有四个主分区或者三个主分区,一个 扩展分区。余下 的分区表是表示逻辑分区的。 这里有必要阐述一点:逻辑区都是位于扩展分区

8、里面的,并且逻辑分区的个数没有限制。4、分区表所在扇区通常在(0磁头,1扇区),而该分区的开始扇区通常位于(1磁头,1 扇区),中间隔了 63 个隐藏扇区。三. 分区表链的查找 分区表链实际上相当于一个单向链表结构。第一个分区表,也即主分区表,可以有一项 描述扩展分区。而这一项就相当于指针,指向扩展分区。然后我们根据该指针来到扩展分 区起始柱面的 0头 1 扇区,找到第二个分区表。对于该分区表,通常情况下:第一项描述了 扩展分区中第一个分区的信息, 第二项描述下一个分区,而这第二项就相当于指向第二个分 区的指针,第三项,第四项一般均为 0。我 们可以根据该指针来到扩展分区中第二个分区起 始柱面

9、的 0 头 1 扇区,找到第三个分区表。以此类推, 只到最后一个分区表。而最后一个分 区表只有第一项有信息,余下三项均为 0.相当于其指针为空.所以 只要找到了一个分区表就可 以推导找出其后面所有分区表。不过该分区表前面的分区表就不好推导出 来了。但令人高兴 的是这个链表的头节点,也即主分区表的位置是固定的位于(0柱面, 0 磁头, 1 扇 区)处, 我们可以很轻易的找到它,然后把剩下的所有分区表一一找到。以笔者的硬盘为例:一个主分区(C盘),一个扩展分区.扩展分区中有两个逻辑分区(D盘,E盘)其分 区表链示意图如下:主分区表第二分区表第三分区表(C盘分医表)(D盘分区表)(E盘分医表)第一表

10、项定义C盘定义D盘定义E盘第二表项描述剩余空间描述剩余空间未用第三表项未用未用未用第四表项未用未用未用55AA55AA55AAC盘D盘E盘 主分冈逻nr逻辑分畏円扩展分区”图 一 分 区 表 链 示 意 图(一).读取(0柱面,0磁头,1扇区)处C盘的主分区表:80 01 01 00 0B FE 7F FD 3F 00 00 00 3F 04 7D 00 00 00 41 FE 0F FE FF FF 7E 04 7D 00 1F 2C B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0

11、0 00 00 00 00 00 00 00 第一 项:(80)( 01 01 00 )(0B)(FE 7F FD )(3F 00 00 00 )(3F 04 7D 00 ) 描述的是 C 盘的情况。1. ( 80 ):表示C盘为活动分区。即系统会从C盘启动。2. (01 01 00 ):表示 C 盘的起始扇区为(0 柱面,0 磁头,1 扇区)。3. ( 0B):表示C盘的文件系统为FAT32。4( FE 7F FD ):(FE) 16 = (254) 10 (7F) 16 = (0111 1111) 2 (FD) 16 = (1111 1101) 2 磁头 号: (254) 10 ;扇区号:

12、 (11 1111) 2 = (63) 10.柱面号: (01 1111 1101) 2 = (509) 10故C盘结束扇区为(509柱面,254磁头,63扇区)。5. ( 3F 00 00 00 ) :反向, (00 00 00 3F) 16=(63) 10, 为 C 盘起始逻辑扇区号与逻辑 0 扇区号之差。 表示C 盘前面已 有 63 个扇区 ,这 63 个扇区 为系统隐 藏扇 区。6. (3F 04 7D 00) :反向, (00 7D 04 3F) 16 =(8193087) 10 。表明 C 盘有 8193087 个扇区。即(0 柱面,1 磁头, 1 扇区)至(509 柱面, 254

13、 磁头, 63 扇区)共有 8193087 个扇 区。第二 项:(00 )( 00 41 FE )( 0F )( FE FF FF )( 7E 04 7D 00 )( 1F 2C B4 00 )描述的是扩展分区的情况。1. (00): 表示该分区不是活 动分 区。2. (00 41 FE):(00) 16= (0) 10(41) 16 =(0100 0001) 2 (FE) 16 =(1111 1110) 2磁头 号:(0) 10 ;扇区 号:(00 0001) 2= (1) 10.柱面 号:(01 1111 1110)2=(510) 10所以扩展分区的起始扇区为( 510 柱面, 0 磁头,

14、 1扇区)。3. (0F): 表示该分区为扩展分区。4. (FE FF FF):(FE) 16= (254) 10 (FF) 16=(1111 1111) 2 (FF) 16= (1111 1111) 2;磁头 号: (254) 10 ;扇区 号: (11 1111) 2= (63) 10.柱面 号: (11 1111 1111) 2=(1023) 10但这是不准确的,因为当柱面号的真实值超过 1023 时,表示柱面号的 10 位也依然是 1023。5. (7E 04 7D 00):反向, (00 7D 04 7E) 16=(8193150) 10. 表示扩展分区的起始扇区号为 8193150

15、 , 即(510 柱面, 0 磁头, 1扇区)。这是真实准确的,我一般都 用这 一项来定位分区 起点 。6. (1F 2C B4 00):反向, (00 B4 2C 1F) 16=(11807775) 10. 表示扩展分区共有 11807775 个扇区。通过上面 得到 的起 点和分区的大小 ,可以推导 出扩 展分区的结束位 置: 8193150 + 11807775 = 20000925 号扇 区, 即( 1244 柱 面,254 磁头,63 扇区)。二 查 找 D 盘 分 区 表 根 据 上 面 的 信 息 , 第 二 个 分 区 表 , 也 即 D 盘 分 区 表 在 ( 510 柱 面 , 0 磁 头 , 1 扇区)处。读取该扇区,得到分区表如下:00 01 41 FE 0B FE FF 7B 3F 00 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号