一块硬盘原来有三个分区,分别是CDED盘和E盘有重要数据。原打算用GhostC盘装上一个XP系统,但操作时不小心,把Ghost备份还原到了整个硬盘,这下子硬盘上只有一个C分区了。除了被Ghost覆盖了一部分数据,其余的数据都毫发无损,我们只要能重建分区表,原来的D盘和E盘的数据就可以重见天日了。要重建分区表,关键是要知道第一个扩展分区起始的位置,找到了这个位置,所有的问题就都解决了。除了diskgen可以恢复,其实winhex带512字节扇区的16进制编码更能百分之百恢复,被覆盖的D,E盘,C盘不能保证但可用EASYRECOVERY\finadata工具找回,一部分已被新系统所覆盖掉了数据。

winhex 以512个字节来划分一个扇区,在winhex16进制编码表中一16字节*32一栏表示一个扇区标准。

恢复思路:1.必须知道之前C盘容量,以容量来换算成实际柱面数来查找编码表确切位置

          2.借住分区表基础知识。

Winhex打开了物理硬盘,,硬盘分区从引导程序,分区表和55AA的结束标志

找到80 01 01 00 …… 55 AA ,导致在00001F***;已知每个柱面的大小是255×63×512=8225280字节=7.8M,举例,C盘之前40G,那么40*1024/7.8=5251柱面附近大概是扩展分区开始节点;其实只要抓住一个规律,每个分区的结束标示都是55 AA,那么只要找到这个结束标示,下个512字节---一扇区标准就有可能是扩展分区。

具体思路是每个扇区512个字节,编号从0511,我们让Winhex检索哪个扇区的510511字节是55AA,这个扇区就有可能是我们要找的扩展分区起始扇区。,也有可能某个不相干的扇区也是以55AA结尾,这时,不急,其实,既然真是扩展分区,自然有分区表呈现,我们只要查看在512字节编码中是否有分区表结构就可知晓了。

我们先用菜单“工具”-“转入扇区”来定位一个柱面个数个数,既然扩展分区大概在5251附近,则我们选个柱面数5100,定位后,搜索16位进制数值,从5100柱面开始,扇区标准0~511,因为510=55,511=AA;这个扇区位于5100柱面254磁头63扇区。显然是一个NTFS分区的结束扇区,很有可能就是原C盘的最后一个扇区.

查看下面是否有分区表再向下找到的扇区就很象我们的目标了,

这个扇区中有一个分区表,而且位置在5248柱面0磁头1扇区,和我们估算的5152柱面相差无几,凭经验基本可以认定这就是我们要找的扩展分区分区表了。而且是 00 01 ………开始,55 AA结束。然后目前用C/H/S模式已经超越8G容量,我们姑且用LBA模式扇区计算,逻辑分区D盘和E盘的分区范围,然后在第一个主分区表计算出这个扩展分区表的范围数值。从分区表中的第二项可以知道答案,分区表的第二项描述了第二个扩展分区的起点和终点,第二个扩展分区的终点就是我们要找的扩展分区的结束位置。从分区表来看,第二个扩展分区的起点距当前扇区有7D 04 7E个扇区,大小是F8 C8 AE个扇区。经过计算,扩展分区的终点是6034柱面254磁头63扇区。根据以前的分区表基础知识,D盘开始部分已经确定,这样就可以确定D盘结束部分在哪了,再看下,来确定第二扩展分区,来确定E盘的分区范围。以此类推,修改好范围数值,重启就能恢复之前C\D\E,独立共存的局势。