人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的骨架操作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件本文主要讲述的是分区表的位置,结构以及各个分区表是如何链接起来的当掌握了这些知识后,即使分区表受到破坏,一样也可以根据残存的数据手工修复分区表,从而修复分区。
一分区表的位置及识别标志
分区表一般位于硬盘某柱面的0磁头 1扇区而第1个分区表(也即主分区表)总是位于
(0柱面,1磁头,1扇区),剩余的分区表位置可以由主分区表依次推导出来.分区表有64个字节,占据其所在扇区的[441-509]字节要判定是不是分区表,就看其后紧邻的两个字节(也即[510-511])是不是 "55AA",若是,则为分区表.
二分区表的结构
分区表由4项组成,每项16个字节共4×16 = 64个字节.每项描述一个分区的基本信息每个字节的含义如下:
分区表项含义
字节
含义
0
Activeflag活动标志若为0x80H,则表示该分区为活动分区若为0x00H,则表示该分区为非活动分区
1,2,3
该分区的起始磁头号,扇区号,柱面号磁头号 -- 1字节, 扇区号 -- 2字节低6位,柱面号-- 2字节高2位 + 3字节
4
分区文件系统标志:
分区未用: 0x00H
扩展分区: 0x05H, 0x0FH
FAT16分区: 0x06H
FAT32分区: 0x0BH, 0x1BH, 0x0CH, 0x1CH
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扇区)。
柱面号由(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、扇区上的字节是按左边低位,右边高位的顺序排列的。所以在取值时,需要把字节再反一下,让高位字节在左边,低位字节在右边,
这一点在读取逻辑起始扇区号和分区大小时需要注意。举个例子:第一项的逻辑起始扇区为(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
每柱面扇区数 = 每道扇区数 每柱面磁头数
= 63 × 255
= 16065
柱面号下标从0开始。磁头号[0 -- 254],扇区号[1 -- 63]。
逻辑扇区号下标也从0开始。
(柱面,磁头,扇区)转换成逻辑扇区号的公式为:
L = C×16065 + H ×63 + S - 1 ;
比如(1柱面,1磁头,1扇区),其逻辑扇区号为:
L = 1×16065 + 1×63 + 1 - 1
= 16128
逻辑扇区号转换成(柱面,磁头,扇区) 公式为:
C = L / 16065
H = (L % 16065) / 63
S = (L % 16065) % 63 + 1
比如逻辑扇区号 16127:
C = 16127 / 16065 = 1
H = (16127 % 16065) / 63 = 0
S = (16127 % 16065) % 63 + 1 = 63
即(1柱面,0磁头,63扇区)
3、分区表上有四项,每一项表示一个分区,所以一个分区表最多只能表示4个分区。主分
区表上的4项用来表示主分区和扩展分区的信息。因为扩展分区最多只能有一个,所以硬盘
最多可以有四个主分区或者三个主分区,一个扩展分区。余下的分区表是表示逻辑分区的。
这里有必要阐述一点:逻辑区都是位于扩展分区里面的,并且逻辑分区的个数没有限制。
4、分区表所在扇区通常在(0磁头,1扇区),而该分区的开始扇区通常位于(1磁头,1扇区),中间隔了63 个隐藏扇区。
三分区表链的查找
分区表链实际上相当于一个单向链表结构。第一个分区表,也即主分区表,可以有一项描述扩展分区。而这一项就相当于指针,指向扩展分区。然后我们根据该指针来到扩展分区起始柱面的0头1扇区,找到第二个分区表。对于该分区表,通常情况下:第一项描述了扩展分区中第一个分区的信息,第二项描述下一个分区,而这第二项就相当于指向第二个分区的指针,第三项,第四项一般均为0。我们可以根据该指针来到扩展分区中第二个分区起始柱面的0头1扇区,找到第三个分区表。以此类推,只到最后一个分区表。而最后一个分区表只有第一项有信息,余下三项均为0相当于其指针为空所以只要找到了一个分区表就可以推导找出其后面所有分区表。不过该分区表前面的分区表就不好推导出来了。但令人高兴的是这个链表的头节点,也即主分区表的位置是固定的位于(0柱面, 0磁头, 1扇区)处,我们可以很轻易的找到它,然后把剩下的所有分区表一一找到。
让 今天我们来谈谈硬盘分区表。和分区表一样吗?首先给出答案:分区和分区表是两个概念。
我们之前讲过一个关于格式化硬盘的程序,其中有一部分涉及到分区。windows的Ntfs,Mac的Hfs,通用格式的exfat等。我们所需要做的就是使用磁盘工具将这些文件格式化成相应的分区。它的功能就像一个盛水的容器。
但如果一个大容量的硬盘有两个分区,或者硬盘中安装了一个操作系统,那么今天 话题来了。分区表
分区表,顾名思义,就是记录硬盘中所有分区信息的文件。它的作用是告诉你需要加载硬盘的哪个部分来启动系统。去哪里找文件。分区表的作用就像一个人指引你去取合适的盛水容器。
抛开物理组件不谈,磁盘是一系列地址,范围从0到n-1,每个地址包含512B的空间。一般我们称这些地址为逻辑块地址,每个块由512B组成。分区表告诉操作系统磁盘有几个分区,它们在哪里开始,在哪里结束。当将磁盘插入已经包含操作系统的机器时,操作系统将检索磁盘的分区表,并正确理解其分区结构。磁盘先有分区表,再有分区,再有文件系统。有了文件系统,它可以被操作系统读取、写入和删除。
也就是说,如果分区表损坏,硬盘可以 不能加载,硬盘中的信息不能 不要读。通常的做法是将硬盘重新格式化,修复分区表后再使用。
分区表损坏大多是硬盘在读写信息时突然断电造成的。但如前所述,因为分区表是在硬盘的头部,实际上,真实的内容可能并没有被破坏。因此,可以使用一些数据恢复软件。只要修复正确的分区表信息,或者通过扫描整个磁盘绕过分区表直接读取后面分区的数据。
这些都是从技术层面来说的。但我们应该主要保护硬盘,而不要 不要在读和写的时候热插拔它。
目前硬盘分区表格式有两种,MBR分区表和GUID分区表。这两种分区表的主要区别在于支持的分区数量。前者只支持4个主分区,后者可以扩展到128个以上。前者主要用于Windows系统,后者用于MacOS系统。
MBR
为主引导记录,位于磁盘的第一个逻辑扇区,即LBA0。因为一个逻辑扇区只能有512B,所以用于MBR分区表的字节只能有64B,因为其他空间已经被启动代码占用了。平分64B,也就是每个分区只会占用16B。因为空间问题,盘面会变得捉襟见肘,每一寸土地都浪费了。而且因为每个分区大小只有16B,寻址最多只能达到22TB。
虽然后来的变种MBR打破了这个限制,但是我们赢了 现在不讨论这个。
GUID
是全局唯一标识符表,简称GPT或GUID分区。GUID的诞生是由于MBR分区表的限制。它的位置从磁盘LBA1的位置开始,在位置LBA0的MBR之后,所以位置LBA1的空间很大,占用的字节不受空间约束,可以硬分区,不会出错。实际上,即使使用GUID分区,MBR的位置还是保留的,只是里面没有信息。操作系统引导时,会直接跳过LBA0的位置,直接运行LBA1中的GUID代码。
也就是说,如果可以使用GUID分区表,尽量使用GUID。毕竟它对现在的硬盘几乎没有任何限制。
王者之心2点击试玩
原因:
在重装系统或者恢复系统的时候,将恢复分区选择成了恢复磁盘,在ghost的界面上就是local-partition-from
image选择成为了local-disk-from
image。完成后,整个硬盘就变成了一个c盘,其他盘全部丢失。
使用diskgenius恢复分区表解决方法:
1、将故障盘挂接到一台正常的电脑,或者是使用光盘u盘等带有diskgenius的启动盘开机,然后运行diskgenius数据恢复软件;
2、点击菜单的工具-搜索已丢失的分区表(重建分区表),范围可选择整个硬盘或者是出故障的那段区域,然后让diskgenius搜索。
3、diskgenius搜索完成后会把找出的分区显示出来,此时如果搜索的分区符合要求,就点菜单上的保存更改,如果不符合,则重新搜索。
4、或换其他工具。保存更改后,diskgenius会自动加载分区,打开我的电脑,丢失的分区就出现了,此时依次查看文件是否恢复,如果能正常访问,则恢复成功。
欢迎分享,转载请注明来源:品搜搜测评网