硬盘重新分区后有一个分区表信息丢失的数据恢复

华山剑客

特别说明:
1、因为这个案例的数据恢复的全过程是通过QQ的远程协助完成的,对方(以下称“网友”)对某些软件的操作不是很熟练(比如用winhex手工重建分区表),为了防止数据恢复过程中的意外发生,有些地方我采用了比较另类的方法。
2、网友的要求是主要恢复原来E盘的数据,实际操作时我用了两种方法恢复的,第一种方法是利用镜像法直接恢复原来E盘的数据,第二种方法是用重建分区表的方法恢复其它盘(包括E盘)的数据。(其实方法一或方法二中任何一种方法都能达到恢复原来E盘数据的目的)
 
现象:一个40G硬盘(实际是38.2G)原来分了5个区(都是FAT32的文件系统):5G 10G 10G 10G 5G,在重装系统时分了4个区(也是FAT32的文件系统),并格式化,但只有第一个分区装了系统有数据):10G 10G 10G 10G。
 
网友要求:主要恢复原来E盘的数据。
 
网友提供信息:
1、 磁盘分区表记录(根据我的提示,网友用WinHex找到分区表的所在的扇区的信息,红色部分为最后计算的结果):
              1FE  55AA    0扇区
   20249B3FE  55AA    16852185扇区
   32CDBF5FE  55AA    26635770扇区
  4850671FE  55AA    37913400扇区
  59DF26BFE  55AA    47118645扇区
  707C32FFE  55AA    58974615扇区 
  80F08E1FE  55AA    67601520扇区
  硬盘参数:总容量:38.2GB   40,982,151,168bytes
  CMOS参数:4982柱面。255磁头。63扇区。
2、现在4个分区的DBR所在物理扇区的位置(用winhex查看的!)
C盘:63; D盘:16852248;  E盘;37913463; F盘:58974678。
3、原来E盘的分区表的信息(这是在推算出E盘分区表所在物理扇区的基础上获得的):
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 
分析:根据提供的信息可以看出有一个分区表的数据被覆盖了(因为提供的分区表记录只有7个,应该是8个)。由于原来的5个分区和现在的4个分区的容量不同,所以原来分区的另外大多数关键信息如DBR、FAT表可能没有覆盖,这样数据恢复的可能性比较大。又根据网友提供的现在4个分区的DBR所在物理扇区的位置确定现在4个分区的分区表所在的位置:C:0 D:16852185 E:37913400 F:58974615。在此基础上根据磁盘分区表记录可以推测出丢失的是原来的D区的分区表,并确定了原来的5个分区的分区表所在的位置(D盘的分区表的位置是根据原来原来F盘分区表所在物理扇区的位置[47118645]和E盘的分区表的数据[76 16 71 02]推算出来的:47118645-40965750=6152895):C:0 D:6152895 E:26635770 F:47118645 G:67601520。这样原来的G盘数据因没有覆盖可以100%的恢复,原来的E、F盘的数据会因为格式化时而造成部分破坏,原来D盘的数据的DBR和FAT表被覆盖而恢复的可能性不是很大,原来C盘数据破坏比较严重,但都是操作系统数据,可以不要。原来的E盘在现在的D盘和E盘中各有一部分,而且原来的E盘的分区表和现在D盘分区表相差11277630个扇区,这样原来的E盘的分区表信息、DBR和FAT表可能都没有破坏,这样原来E盘的数据恢复的可能性比较大。
 
恢复过程:
方法一:镜像法
      先找一个硬盘,要求其中有一个分区有10G的大小(因为原来E盘是10G大小),然后将此硬盘当从盘挂在上面,先格式化这个分区(网友用的这个分区是M盘),然后用DataExplore这个软件的“镜像到磁盘”(如下图所示,注意是“镜像到磁盘”不是“镜像到文件”)功能把原来E盘的数据镜像到准备好的那个M盘上(当然先要推算出原来的E盘的DBR的位置:第26635833扇区,注意是从DBR位置开始做镜像,而不是从原来的E盘的分区表的位置),当镜像做好时,直接打开M盘,原来的E盘的数据就恢复了。
 
 
方法二:重建分区表法
    D分区的分区表所在的位置前面已推算出来,在第6152895扇区,现在要计算原来D盘的扇区总数:26635770-6152895=20482875,这个数同时也是下一个分区开始的扇区数,因为这是扩展分区的的第一个分区(如果不是扩展分区的第一个分区就不能用这个数)。然后计算原来E盘的扇区总数(47118645-26635770=20482875),最后用PTEDIT32这个软件(这个软件重建分区表时不需要把十进制转换成十六进制,对一般的人来说比较方便)在第6152895扇区重新建一个D盘的分区表。重建的分区表数据如下:
      D盘分区表重建后还要根据C盘的扇区总数和整个硬盘的扇区数在C盘的分区表的相应的数据要作适当的修改(否则分区表的链连接不上!),调整后的数据如下:

分区表重建完毕。
 
预计结果:5个分区中只有D盘不能打开,要求格式化(因为DBR破坏了),其它4个盘都能打开,但只有G盘的数据能100%的恢复,E盘和F盘会有部分文件不能打开。而且方法一和方法二中所得的E盘的数据是一样的。
  
网友描述:和我预计的差不多,所不同的是E、F、G盘的文件都能打开,可能是没有把所有的文件都打开,也可能是被覆盖的数据的地方没有用。同时C盘的容量有点变化,这是因为C盘的DBR没有修改的原因,但这没有影响,下次格式化C盘时容量就还原了。
后记:如果要恢复D盘的数据的话还在看里面的数据覆盖在什么位置,只要没有破坏到FAT2的话还能恢复的,但如果FAT2的数据已破坏的话只有用数据恢复软件来扫描了,除非要其中的的少数数据要用手工的方法恢复。但网友说D盘没有什么重要的数据,所以没有往下进行,这次恢复就结束了。
 
                  2007年1月23日
                      华山剑客写于湖北随州