硬盘分区表

上传人:cl****1 文档编号:456659211 上传时间:2022-10-23 格式:DOCX 页数:19 大小:21.48KB
返回 下载 相关 举报
硬盘分区表_第1页
第1页 / 共19页
硬盘分区表_第2页
第2页 / 共19页
硬盘分区表_第3页
第3页 / 共19页
硬盘分区表_第4页
第4页 / 共19页
硬盘分区表_第5页
第5页 / 共19页
点击查看更多>>
资源描述

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

1、硬盘分区表可以说是支持硬盘正常工作的 骨架.操作系统正是通过它把硬盘划分为若 干个分区,然后再在每个分区里面创建文件 系统,写入数据文件.本文主要讲述的是分区 表的位置,结构以及各个分区表是如何链接 起来的.当掌握了这些知识后,即使分区表受 到破坏,一样也可以根据残存的数据手工修 复分区表,从而修复分区。 一.分区表的位置及识别标志 分区表一般位于硬盘某柱面的 0 磁头 1 扇 区.而第 1 个分区表(也即主分区表)总是位 于(0柱面,1磁头,1扇区),剩余的分区表位置可 以由主分区表依次推导出来分区表有 64 个字节 ,占据其所在扇区的 441-509字节 . 要判定是不是分区表,就看其后紧

2、邻的两个 字节(也即510-511)是不是55AA,若是, 则为分区表二.分区表的结构分区表由4项组成,每项16个字节共4x16 = 64 个字节每项描述一个分区的基本信 息.每个字节的含义如下:分区表项含义 字节 含义0 Activeflag活动标志若为0x80H,则表示 该分区为活动分区.若为OxOOH,则表示该分 区为非活动分区.1,2,3 该分区的起始磁头号 ,扇区号,柱面号 磁头号 - 1 字节, 扇区号 - 2字节低6位, 柱面号 - 2字节高2位 + 3字节4 分区文件系统标志:分区未用: OxOOH.扩展分区: OxO5H, OxOFH.FAT16 分区:0x06H.FAT32

3、 分 区 : OxObH, Ox1bH, OxOCH, Ox1CH.NTFS 分区: 0x07H.5,6,7 该分区的结束磁头号 , 扇区号 , 柱面 号,含义同上.8,9,10,11 逻辑起始扇区号。表示分区起点 之前已用了的扇区数.12,13,14,15 该分区所占用的扇区数.分区表项有几个字节比较重要,下面分别阐 述之:1、(1,2,3)字节 磁头号由(1)字节 8 位表示,其范围为(0 - 28 - 1),也即(0 磁 头- 254 磁头)。 扇区号由(2)字节低 6 位表示,其范围为(0 - 26 - 1),由于扇区 号从 1 开始,所以其范围是(1 扇区- 63 扇区)。 柱面号由

4、(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 个字节要么 表示该分区起始逻辑扇区号与扩展分区起 始逻辑扇区号之差,要么为 63。详细情况 在后面有所阐述。注意:1、扇区上的字节是按左边低位,右边高位 的顺序排列的。所以在取

5、值时,需要把字节 再反一下,让高位字节在左边,低位字节在 右边, 这一点在读取逻辑起始扇区号和分 区大小时需要注意。举个例子 :第一项的逻 辑起始扇区为(3F 00 00 00),转换为十进制 前要先反一下字 节顺序,为(00 00 00 3F) 然后在转换为十进制,即 63 .同理分区大小 为(3F 04 7D 00),先反为(00 7D 04 3F) 再转换为十进制, 即 8193087。2、逻辑扇区号与(柱面,磁头,扇区)的 相互转换: 令 L = 逻辑扇区号, C = 柱面 号, H = 磁头号, S = 扇区号。 每道扇区 数 = 63 每柱面磁头数 = 255 每柱面扇区 数=每道

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

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

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

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

10、E 7F FD 3F 00 00 00 3F04 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 00 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):表示

11、 C 盘的起始扇区为(0 柱面, 0磁头,1扇区)。3. (Ob):表示C盘的 文件系统为 FAT32。 4(FE 7F FD): (FE) 16 = (254) 10 (7F) 16 = (0111 1111) 2 (FD) 16 = (1111 1101) 2磁头号: (254) 10; 扇 区号: (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盘起始逻辑扇

12、区号与逻辑0 扇区号之差。表示 C 盘前面已有63 个扇区, 这 63 个扇区为系统隐藏扇区。 6. (3F 04 7D 00): 反向, (00 7D 04 3F) 16 =(8193087) 10。表明 C 盘有 8193087 个扇 区。即(0 柱面,1 磁头,1 扇区)至(509 柱面,254磁头,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 = (

13、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 磁头,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) 1 0

14、.柱面号:(1 1 1111 1111) 2 = (1023) 10 但这是不准确 的,因为当柱面号的真实值超过1 023 时, 表示柱面号的 10 位也依然是 1023。5. (7E 04 7D 00): 反向, (00 7D 04 7E) 16 = (8193150) 10. 表示扩展分区的起始扇区 号为 8193150,即(510 柱面,0 磁头,1 扇区)。这是真实准确的, 我一般都用这一 项来定位分区起点。 6. (1F 2C b4 00): 反 向, (00 b4 2C 1F) 16 = (11807775) 10. 表 示扩展分区共有 11807775 个扇区。通过上 面得到的起

15、点和分区的大小, 可以推导出 扩 展 分 区 的 结 束 位 置 : 8193150 + 11807775 = 20000925 号扇区,即(1244 柱面,254 磁头,63 扇区)。二查找 D 盘分区表 根据上面的信息,第 二个分区表,也即 D 盘分区表在(510 柱面, 0 磁头, 1 扇区)处。读取该扇区,得到分 区表如下:00 01 41 FE 0b FE FF 7b 3F 00 00 00 bF A3 5D 00 00 00 C1 7C 05 FE FF FF FE A3 5D 00 21 88 56 00 00 00 00 00 00 00 00 00 00 00 00 00 0

16、0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 第一项: (00)(01 41 FE)(0b)(FE FF 7b)(3F 00 00 00 )(bF A3 5D 00) 描述 的是 D 盘的情况。 1.(00):表示 D 盘不 是活动分区。 2(. 01 41 FE): (01) 16 = (1) 10 (41) 16 = (0100 0001) 2 (FE) 16 = (1111 1110) 2.磁头号:(1) 10; 扇区号: (00 0001) 2 = (1) 10. 柱面号:(01 1111 1110) 2 = (510) 10; 故 D 盘开始扇区为 (510柱面,1 磁头,1扇区)。 3.(0b): 表示D盘的文件系统为FAT32。4(FE FF 7b): (FE)

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

当前位置:首页 > 建筑/环境 > 建筑资料

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