硬盘数据恢复经验

Author: 晓周 Date: 2000年 第38期

  硬盘作为用户存储数据的主要场所,其最大的用途莫过于存储数据,但有时往往由于用户操作不当,造成用户数据的丢失。如果对于普通用户,数据对用户相对而言并不重要,那么丢了就丢了,没有太大关系;但如果数据对用户很重要(对于这类用户,应经常备份数据),这时数据丢失了怎么办呢?此文就是通过一次对硬盘数据的恢复过程来简要说明一下硬盘数据恢复的方法,希望能对大家恢复硬盘数据有一定的帮助。
#1    相关概念
  MBR(Main Boot Record)即主引导记录区,它位于整个硬盘的0磁道0柱面1扇区,包括硬盘引导程序和分区表。
  DBR(Dos Boot Record)即操作系统引导记录区,通常位于硬盘的0磁道1柱面1扇区,是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为BPB(BIOS Parameter Block)的本分区参数记录表。每个逻辑分区都有一个DBR。
  FAT(File Allocation Table)即文件分配表,是DOS、Windows9X系统的文件寻址格式,为了数据安全起见,FAT一般做成两个,第二FAT为第一FAT的备份。
  DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后。有关硬盘存储结构的详细介绍,可参考我在《电脑报》1999年第20期的文章《硬盘数据结构一瞥》。
#1    估计数据丢失原因:
  1.安装多系统引导软件后,异常操作造成。
  2.遭到某种病毒感染。数据丢失前状态:2.5GB硬盘,原分区为:C:2GB+D:500MB,D盘装有重要数据。两分区均为FAT16格式。
#1    数据丢失过程
  一次系统重启后,D盘丢失。
#1    数据丢失后的操作
  该客户曾用Fdisk重新分区,试图按原分区大小再造分区,未果。但没有格式化D盘,只格式化了C盘并重装系统。
#1    客户的数据修复要求
  恢复D盘根目录下“数码相机”目录内所有文件。
#1    所用工具:
  NORTON DISK DOCTOR:diskedit.exe
#1    数据修复过程:
  一、数据备份 主要包括物理0磁道各扇区,各分区逻辑0磁道,FAT表和根目录区等,再配以GHOST备份各分区的数据区。
  二、分析该硬盘的主引导扇区MBR(包括主分区表和引导程序)、各分区的引导扇区DBR、FAT表及根目录区。
  由于已经重新分区并能顺利启动C盘(抛开病毒原因),故MBR的逻辑结构应该没问题,通过Diskedit命令察看MBR所在的0磁道第一扇区,证实估计正确,但现分区表与原分区表是否完全一致,还不能确定。
  通过分区表,可以查找到各分区的引导扇区所在的物理位置,分析后可确定C盘的各项重要数据(引导扇区、第一FAT表、第二FAT表、根目录区)均没有异常,但D盘除了引导扇区DBR外、上述的其他数据均无法对应,DBR之所以无异常,是因为重新分区的结果,而FAT1、FAT2和根目录区面目全非的原因,大致应该有两种可能:一是现分区与原分区不一致,导致数据对不上号;二是数据已被病毒破坏。
  由于在察看MBR时,发现0磁道的其他扇区留有不明程序的残余代码,通过察看其中的一些显示信息,可以判定是某种多系统软件留下的,说明客户曾经安装过多系统管理软件。这样大致可以排除病毒破坏分区的可能,分区丢失应该是异常操作多系统管理软件引起的。
  三、寻找原有分区 根据前面的分析,由于客户在数据丢失后又进行了重新分区,而且估计现有的分区与原来的分区不一致,这样无疑加大了数据修复的难度,但幸好没有格式化D盘,因为如果单单只是Fdisk,只会改写原硬盘的各分区的第一扇区。如果这个扇区不落在原分区的重要参数区(DBR、FAT、根目录)上,那么修复的成功率还是挺高的。接下来就是寻找原有D盘的重要数据区了。根据客户提供的资料可知,原D盘根目录下有一个叫“数码相机”的子目录,于是用DISKEDIT提供的搜索功能,搜索“数码相机”对应的十六进制代码,可以找到原有D盘的根目录区。历时30分钟,通过过滤搜索结果,最终找到该根目录所在的扇区,然后顺藤摸瓜,向前翻过两个FAT表(根据经验大概400个扇区~500个扇区)找到原D盘DBR所在的扇区,接着再向前翻63个扇区,找到原D盘的分区表,至此,最困难的问题攻克了。
  四、重建主分区表 因为客户后来用Fdisk重新建立的主分区表与原来的分区表并不一致,故必须手工重建原分区表,通过前面找到的原D盘分区表和原D盘的DBR,可以计算出主分区表,包括各分区的起始、结束扇区、分区大小、分区类型等。算出结果后,改写0磁道1扇区的主分区表。
  五、重启系统,出现原D盘,所有文件基本全部恢复。拷贝出“数码相机”目录,做好备份。通知客户取回数据。
#1    说明:
  1.数据备份时,不要过分相信GHOST,GHOST只认正确的分区,对于隐藏的分区它不会复制。对于不正确的分区,它会报告错误并停止复制过程。GHOST并非一个纯粹意义上的全盘复制软件,它只复制那些FAT表上存在的文件,并非复制磁盘上所有的数据!
  2.走运的是,该客户重新分的D盘刚好比原D盘大几个磁道,故新的D盘分区表被建在原C盘最后端的数据区中。所以本次维修基本上可以说100%地恢复了原D盘的数据。
  3.更走运的是,该客户没有重新格式化D盘,不然就不可能有那么高的恢复率了。
#1    给读者的建议
  在硬盘数据出现丢失后,请立即联系当地的数据修复公司。最好不要再对硬盘进行写操作,那样会增大修复的难度,也影响到修复的成功率。