硬盘分区表
理学领域术语
人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的骨架。操作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件。本文主要讲述的是分区表的位置,结构以及各个分区表是如何链接起来的。当掌握了这些知识后,即使分区表受到破坏,一样也可以根据残存的数据手工修复分区表,从而修复分区。
识别标志
分区表一般位于硬盘某柱面的0磁头1扇区。而第1个分区表(也即主分区表)总是位于(0柱面,0磁头,1扇区),剩余的分区表位置可以由主分区表依次推导出来。分区表有64个字节
结构含义
字节
分区表由4项组成,每项16个字节(Byte).共4×16 = 64字节(Byte)。每项描述一个分区的基本信息。每个字节的含义如下:
活动标志.若为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 -- 2^8 - 1),也即(0 磁头-- 255磁头)。
扇区号由(2)字节低6位表示,其范围为(0 -- 2^6 - 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扇区)处, 我们可以很轻易的找到它,然后把剩下的所有分区表一一找到。
以笔者的硬盘为例:一个主分区(C盘),一个扩展分区.扩展分区中有两个逻辑分区(D盘,E盘)其分区表链示意图:
C盘的主分区表
(一).读取(0柱面,0磁头,1扇区)处
[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 ]
[这里都是一串0,两个0之后一个空格]
[这里都是一串0,两个0之后一个空格]
第一项
(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柱面,1磁头,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;
扇区号:(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磁头,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磁头,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,即(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 00 00 BF A3 5D 00 ]
[00 00 C1 7C 05 FE FF FF FE A3 5D 00 21 88 56 00 ]
[这里都是一串0,两个0之后一个空格]
[这里都是一串0,两个0之后一个空格]
第一项
(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) 16 = (254) 10。(FF) 16 = (1111 1111) 2 (7B) 16 = (0111 1011) 2.
磁头号:(254) 10;
扇区号:(11 1111) 2 = (63) 10.
柱面号:(11 0111 1011) 2 = (891) 10
故D盘结束扇区为(891柱面,254磁头,63扇区)。
5.(3F 00 00 00):
反向,(00 00 00 3F)16 = (63)10,为D盘起始逻辑扇区号(510柱面,1磁头,1扇区)与扩展分区起始逻辑扇区号
(510柱面,0磁头,1扇区)之差。表示D盘前面已有63个扇区,这63个扇区为系统隐藏扇区。
6. (BF A3 5D 00):
反向,(00 5D A3 BF) 16 = (6136767) 10。表明D盘有6136767个扇区
通过上面得到的起点和分区的大小,可以推导出D盘的结束位置:8193150 + 63 + 6136767 = 14329980号扇区。即(891柱面,254磁头,63扇区)。与上面的正好吻合。
第二项
(00)(00 C1 7C)(05)(FE FF FF)(FE A3 5D 00)(21 88 56 00)
描述的是E盘的情况。
1. (00):表示E盘不是活动分区
2. (00 C1 7C):
(00) 16 = (0) 10 (C1) 16 = (1100 0001) 2 (7C) 16 = (0111 1100) 2
磁头号:(0) 10
扇区号:(00 0001) 2 = (1) 10
柱面号:(11 0111 1100) 2 = (892) 10
所以E盘的起始扇区为(892柱面,0磁头,1扇区)。
3. (05): 表示E盘的在扩展分区里面。
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
但这是不准确的,原因同上。
5.(FE A3 5D 00):
反向,(00 5D A3 FE) 16 = (6136830) 10. 这一项非常重要,它定位了E盘分区表所在扇区。其值为E盘分区表所在扇区号与扩展分区起始扇区号之差。所以,E盘分区表所在扇区号为:
8193150 + 6136830 = 14329980。即(892柱面,0磁头,1扇区)。
6.(21 88 56 00):
反向,(00 56 88 21) 16 = (5670945) 10.表示E盘共有11807775个扇区。通过上面得到的起点和分区的大小,可以推导出E
盘的结束位置:14329980 + 5670945 = 20000925号扇区,即(1244 柱面,254磁头,63扇区)。
查找E盘分区表
根据上面的信息,第三个分区表,也即E盘分区表在(892柱面,0磁头,1扇区)处。读取该扇区,得到分区表如下:
[00 01 C1 7C 0B FE FF FF 3F 00 00 00 E2 87 56 00]
[这里都是一串0,两个0之后一个空格]
[这里都是一串0,两个0之后一个空格]
该分区表第二项全为0,说明没有下一个分区表了。该分区表就是分区表链的最后一个节点。
第一项:
(00)(01 C1 7C)(0B)(FE FF FF)(3F 00 00 00 )(E2 87 56 00)
该项与D盘分区表的第二项描述的都是E盘的情况,但它们在某些细节上又有所区别。
1.(00):表示E盘不是活动分区。
2.(01 C1 7C):
(01) 16 = (1) 10 (C1) 16 = (1100 0001) 2 (7C) 16 = (0111 1100) 2.
磁头号:(1) 10
扇区号:(00 0001) 2 = (1) 10
柱面号:(11 0111 1100) 2 = (892) 10
故E盘起始扇区为(892柱面,1磁头,1扇区)。
3.(0B):表示E盘的文件系统为FAT32。
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
但这是不准确的,原因同上。
5.(3F 00 00 00):
反向,(00 00 00 3F) 16 = (63) 10.这一项与D盘分区表相应项有所不同.为E盘起始逻辑
扇区号(892柱面,1磁头,1扇区)与(892柱面,0磁头,1扇区)之差。表示E盘前面已有63个扇区,这63个扇区为系统隐藏扇区。
操作系统无法对这些扇区进行读写,所以可以把自己的秘密信息写在这里.
6. (E2 87 56 00):
反向,(00 56 87 E2) 16 = (5670882) 10。表明E盘有5670882个扇区。而D盘分区表相应项为5670945. (5670945) - (5670882) = 63.
正好等于63个隐藏扇区.这是因为D盘分区表描述的是(892柱面,0磁头,1扇区) 到 (1244 柱面,254磁头,63扇区) 之间的扇区数
而E盘分区表描述的是(892柱面,1磁头,1扇区) 到 (1244 柱面,254磁头,63扇区) 之间的扇区数。
结束语
至此,我们已经打通了整个分区表链.以后在某个链节点数据受损时,也可以根据上下节点的信息而手工定位并修复之。
修复工具可采用可读写磁盘的Winhex.
故障原因
在分区表被破坏后,启动系统时往往会出现“Non-System disk or disk error,replace disk and press a key to reboot”(非系统盘或盘出错)、“Error Loading Operating System”(装入DOS引导记录错误)或者“No ROM Basic,System Halted”(不能进入ROM Basic,系统停止响应)等提示信息。那么分区表故障究竟是如何发生的呢?
病毒引发故障
计算机病毒是导致分区表损坏最为典型的故障之一。比如典型的CIH病毒的变种除了攻击主板的BIOS之外,同时也会对分区表进行破坏,而且还有很多引导区病毒也会对分区表进行破坏。
环境问题导致
如今的Windows 2000/XP都支持NTFS文件格式,而且程序默认的都是采用这种文件格式来安装系统,如果对硬盘进行分区转换或者是划分NTFS分区时意外断电或者死 机,那么很有可能导致分区表损坏。而且在通过PQMagic(分区魔术师)之类的第三方分区软件调整硬盘分区容量、转换分区格式的时候也存在一定风险,如 果死机或者断电也会导致硬盘分区表故障,甚至有可能丢失硬盘中的所有数据。
操作不当
如果在一块硬盘上同时安装了多个操作系统,那么在卸载的时候就有可能导致分区表故障,比如在同时 安装了Windows 2000和Windows 98的计算机上,直接删除Windows 2000内核会导致分区表的错误。另外,在删除分区的时候如果没有先删除扩展分区,而是直接删除主分区,也会出现无法正确读出分区卷标的故障。
故障修复
查杀病毒
如果是由于引导区病毒造成分区表故障,则可以借助KV3000、瑞星、金山等杀毒软件提供的引导软盘启动计算机,接着在DOS环境中对系统进行病毒查杀操作。比如用KV3000的引导盘启动计算机之后输入“KV3000/K”命令进行病毒扫描,如果 发现引导区存在病毒,则程序会自动进行查杀清理,建议同时对整个系统进行完整的扫描以查找出隐藏的病毒。一般说来,将引导区中残留的病毒清除之后即可恢复 计算机的正常使用。
提示:使用软盘引导计算机之前一定要将软盘的写保护关闭,否则有可能导致病毒感染软盘。
Fdisk修复
Fdisk不仅是一个分区程序,它还有着非常便捷的恢复主引导扇区功能,而且它只修改主引导扇 区,对其他扇区并不进行写操作,因此对于那些还在使用Windows 9x的朋友而言无疑是个非常理想的分区表修复工具。通过Fdisk修复主引导区的时候,先用Windows 98启动盘启动系统,在提示符下输入“Fdisk /mbr”命令即可覆盖主引导区记录。
提示:“Fdisk /mbr”命令只是恢复主分区表,并不会对它重新构建,因此只适用于主引导区记录被引导区型病毒破坏或主引导记录代码丢失,但主分区表并未损坏的情况使用。而且这个命令并不适用于清除所有引导型病毒,因此使用的时候需要注意。
Fixmbr修复
在Windows 2000/XP中,我们一般会用到故障恢复控制台集成的一些增强命令,比如Fixmbr用于修复和替换指定驱动器的主引导记录、Fixboot用于修复知 道驱动器的引导扇区、Diskpart能够增加或者删除硬盘中的分区、Expand可以从指定的CAB源文件中提取出丢失的文件、Listsvc可以创建 一个服务列表并显示出服务当前的启动状态、Disable和Enable分别用于禁止和允许一项服务或者硬件设备等等,而且输入“help”命令可以查看 到所有的控制命令以及命令的详细解释。
比如输入“fixmbr”命令可以让控制台对当前系统的主引导记录进行检查,然后在“确定要写入一个新的主启动记录吗?”后面输入“Y”进行确认,这样就完成了主引导记录的修复。
调整分区
在删除分区或者是重新创建分区的时候,如果遇到意外原因死机或断电,这时候再使用原先的工具可能 无法识别当前硬盘的分区表,必须更换另外一款分区表软件进行修复。比如我们通过Fdisk分区时意外死机,这时候再通过Fdisk就无法顺利进行,可以采 用PQMagic之类的第三方分区软件解决。另外需要提醒大家注意的是,分区表对于系统的正常稳定运行影响非常大,一般情况下最好不要采用DM之类快速分 区格式化软件,否则有可能导致后期使用过程中频频出现意想不到的麻烦。
软件修复
分区表被破坏后,最常见的出错提示是:“Invalid Partition Table”(无效分区表)。对于分区表故障,可以通过“江民硬盘修复王”来进行修复。
首先在江民公司的网站上下载“硬盘修复王”的镜像文件及“HD.exe”文件,然后通过“HD.exe”将镜像写入江民杀毒王2003的钥匙盘中。用该软盘启动电脑,在提示符下输入“JMHDFIX”后回车便进入了硬盘修复王的主界面。
在主界面中按下F2键进入“系统测试与自动修复”界面,此时程序会自动检测硬盘分区表,如果分区表被破坏,则屏幕显示:
Hard Disk Partition Table - Error!!!
Fix Hard Disk Partition Table or Sector (Y/N)?
大意为:硬盘分区表错误,是否修复硬盘分区表或C盘引导区?按下“Y”键修复,按下“N”键退出。
按下“Y”键之后,屏幕显示:
大意为:请插入一张软盘,以便将坏的引导区信息做一备份,其文件命名为HDPT.VIR。插入软盘按下“Y”键继续,按下“N”键退出。
插入一张软盘并按下“Y”键后,屏幕显示:
Hard disk Partition table or boot sector fixed OK!!!
Fixing ......
注意:此时KV3000正在修复C盘的分区表,不要中断其操作。过了一会儿之后,如果屏幕出现以下字样:
OK!OK!OK!
Press any key to return ......
则说明重建分区表的操作成功,按任意键退出。重新启动电脑后,如果能够进入C、D等分区,修复成功。
备份恢复分区表
Disk Genius不仅提供了诸如建立、激活、删除、隐藏分区之类的基本硬盘分区管理功能,还具有分区表备份和恢复、分区参数修改、硬盘主引导记录修复、重建分 区表等强大的分区维护功能。此外,它还具有分区格式化、分区无损调整、硬盘表面扫描、扇区拷贝、彻底清除扇区数据等实用功能。
提示:如果只是想利用Disk Genius查看、备份硬盘分区信息,可以直接在Windows下运行它,但如果涉及更改分区参数的写盘操作,则必须在纯DOS环境下运行,而且在使用前应将CMOS中的“Anti Virus”选项设为“Disable”。
运行Disk Genius后,程序将自动读取硬盘的分区信息,并在屏幕上以图表的形式显示硬盘分区情况。这是Disk Genius检测笔者硬盘得到的分区信息结构图。其中左侧的柱状图显示硬盘上各分区的位置及大小,屏幕右侧用表格的形式显示了各分区的类型及其具体参数, 包括分区的引导标志、系统标志、分区起始和终止柱面号、扇区号、磁头号。在柱状图与参数表格之间,有一个动态连线指示了它们之间的对应关系。可以通过鼠标 在柱状图或表格中点击来选择一个分区,也可以用键盘上的光标移动键来选择当前分区。
需要备份分区表的时候,按下“F9”按键或者运行“工具→备份分区表”命令,并且在弹出的对话框 中输入文件名即可备份当前分区表。按下“F10”按键或者运行“工具→恢复分区表”命令,然后输入文件名,软件将读入指定的分区表备份文件并更新屏幕显 示,确认无误后即可将备份的分区表恢复到硬盘。
恢复分区表
以及是否为活动分区等重要信息。一旦分区表被破坏,系统因为无法识别分区,会把硬盘作为一个未分区的裸盘处理,因此造成一些软破坏,也不用着急,网络上有一款非常不错的分区表修复维护工具可以帮我们找回昔日正常的硬盘,这就是DiskMan
DiskMan是一款小巧的硬盘分区表维护工具,大小只有108KB,可是功能却非常强大。它可 以手工修改硬盘有中包括逻辑分区在内的所有数据,能重建被三十的表,可以按使用者的意愿分区,从而使一个硬盘中多个操作系统共存。它的独特之处在于,采用 全中文图形界面,无须任何汉字系统支持,以非常直观的图表提示了分区表的详细结构。
DiskMan后出现的程序界面边柱形表示古物,有几截就表明有几个分区,其不同的颜色表示不同 的分区类型,带网格属扩展(逻辑)分区,不带网格属主分区(或自由空间)。右边的图表是硬盘及各分区的参数信息,可用十进制和十六进制显示。分区和分区参 数的对应关系用箭头联系起来,一目了然。
启动该软件后,它会自动检查硬盘分区参数,发现不合理参数时逐一给出提示。你可以手工修改错误的 参数,方法是:用光标上、下方向键选择(或鼠标点击)要修改的分区,按F11键进入修改状态。在弹出的“修改分区参数”窗口中,将光标移动到要修改的参数 项,键入设定的值后,选“确定”退出即可。对修改过的分区,其序号旁边被标记上蓝色的字母m。如果分区的大小或位置改动过,该分区将被视为新建立的分区, 其序号旁的标志变为红色的字母n,存盘后,该分区的原引导记录将不再起作用或被覆盖。
提示:不要随便更改分区大小,特别是修改分区起始柱面、起始扇区、起始磁头参数,这会造成逻辑盘数据的丢失,因为DiskMan不能无损调整分区。
DiskMan中最重要的一项功能就是重建分区表了。如果你的硬盘分区表被分区调整软件(或病 毒)严重破坏,引起硬盘和系统瘫痪,DiskMan可通过未被破坏的分区引导记录信息重新建立分区表。在菜单的工具栏中选择“重建分区”,DiskMan 即开始搜索并重建分区。DiskMan将首先搜索0柱面0磁头从2扇区开始的隐含扇区,寻找被病毒挪动过的分区表。接下来搜索每个磁头的第一个扇区。搜索 过程可以采用“自动”或“交互”两种方式进行。自动方式保留发现的每一个分区,适用于大多数情况。交互方式对发现的每一个分区都给出提示,由用户选择是否 保留。当自动方式重建的分区表不正确时,可以采用交互方式重新搜索,如果重新找回分区,上面的数据都能保留。
利用DiskMan手工修改分区参数,需要熟悉分区各参数的意义;而用其“重建分区”功能,也不 能保证百分之百正确恢复。所以保护分区表最保险的方法还是备份分区表信息。启动DiskMan后按F9,输入文件名,插入软盘后选择确定即可。如要还原, 只需按F10键,按提示操作,即可将硬盘分区信息完全恢复。
提示:将DiskMan作为必备工具软件,放到系统紧急启动盘上,并利用它将分区表信息也备份到启动盘上,有务无患。
此外,DiskMan还能建立分区、激活分区、删除分区、隐藏分区、查看任意扇区数据。它的所有功能都可以通过快捷键和鼠标点击菜单的方式来完成,操作非常方便;并且,所有操作在未存盘前,都在内存中进行,不必担心误操作造成严重后果。
分区方案
MBR分区表
传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区逻辑分区的概念。但每个分区项仍用16个字节存储。
MBR分区方案不是用得好好的吗?为什么要提出新的方案呢?那就让我们看看MBR分区方案有什么问题。前面已经提到了主分区数目不能超过4个的限制,这是其一,很多时候,4个主分区并不能满足需要。另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。在硬盘容量突飞猛进的今天,2TB的限制将很快被突破。由此可见,MBR分区方案已经无法满足需要了。
GPT分区表
一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录(MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录(MBR)磁盘分区的样式相比,GUID分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes) 并且每磁盘最多有 128 个分区。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。
防范故障
由于分区表故障属于软故障,因此我们在日常使用计算机的时候需要养成正确的使用习惯,这样才能防患于未然,尽可能减少分区表出故障的可能性。
1.计算机中一定要安装杀毒软件,这不仅可以防止各种常见的病毒入侵计算机,更能够减少使用软盘或者光盘时,分区表误中病毒的可能性。而且在一般情况下,尽量不要使用来源不明的软盘与光盘。
2.新购置的硬盘建议在安装Windows 2000/XP的时候采用内置程序进行分区,或者借助Fdisk程序进行分区,尽量不要用第三方快速分区格式化一体的程序,这有可能导致日后使用计算机过程中出现故障。
3.对分区进行划分或者调整操作的时候,尽量选择电源比较稳定的时间段,有可能的情况下最好能够使用外接UPS电源
4.在计算机稳定运行的情况下,尽可能不要对分区表进行调整和转换操作,尤其是NTFS分区,在进行上述操作之前一定要备份分区中的重要数据文件。
5.安装好操作系统之后,建议对分区表进行备份,以防出现故障时能够及时恢复。
看完上述介绍的内容之后,相信大家遇到分区表故障的时候也不会一筹莫展了吧,希望分区表故障不再困扰我们正常使用自己的计算机。
相关知识
当通过Fdisk或其他分区工具对硬盘进行分区时,分区软件会在硬盘0柱面0磁头1扇区建立一个 64字节的分区表,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录MBR的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序调入内存加以执行;而分 区表DPT则以80H或00H为开始标志,以55AAH为结束标志,位于主引导扇区的最末端。整个分区表决定了硬盘中的分区数量,每个分区的起始及终止扇 区、大小以及是否为活动分区等。
参考资料
最新修订时间:2023-12-16 08:37
目录
概述
识别标志
结构含义
参考资料