昨天中午一个朋友拿着一个4G的硬盘来找我,说起动后看不到分区,但是里面有一个程序里面有关于公司的一些比较重要的数据,dbf格式的数据库,公司比较小,没有多少人懂电脑,也没有备份。我帮助他找到了大部分数据,还是有一份数据丢失了。现在我把这一次 的体会写出来,给其他朋友增加一点经验,由于当时没有截图,我现在写的时候是凭着记忆写的,而且那块硬盘已经拿走,不可能重现当时的情况了,所以我就多说几句来弥补这一点,图都是事例性质的,不是当时修复的抓图。
上午的时候他打电话问我如何恢复数据,我就和他简单说了几句,说用easy recovery 试一试,中午他拿着硬盘找上门来,要我帮他。他告诉我说用easy recovery 6只找到一些古怪的文件,如.mpg等等没有用处的东西。
首先我把他的硬盘接到我的机器上,然后我是这么做的:
1 大概了解硬盘的情况,询问硬盘损坏的原因。
他告诉我说打开机器,发现无法启动,主板似乎没有自检,怀疑主板坏了,换了一块主板,发现只能在bios里面找到硬盘,而不能进入系统,接到别的机器上,也看不到分区。我说可能就是分区表丢了,如果仅仅是分区表丢了的话比较简单。
2 粗略查看硬盘数据。运行winhex或者RunTimes的磁盘工具diskexplorer,(其他的可以进行磁盘编辑的软件也可以),如图1,选中需要的物理硬盘,申明一点,贴图时候那块硬盘不在了,所以这里仅仅是作个例 子说一说。然后拖动滚动条,浏览一遍整个硬盘,可以看到一些有意义的字符串,还可以见到大批的零数据,当然更多的是看不懂的内容。这个没有关系,至少目前说明硬盘没有什么明显的物理损坏,或者逻辑坏道。
3 自动寻找。用Easy recovery 6里面的工具试图自动找到分区,失败了。
4 试图重建分区表。查看第一个扇区也就是MBR的内容,发现一塌糊涂,分区表完全损坏。如果仅仅是分区表损坏,完全可以通过搜索分区,然后根据分区的偏移重建分区表。
5 了解分区情况,如硬盘分几个区,每个分区大概多大,分区格式是什么。继续询问,了解到机器大概是99年左右买的,装的是win98,不知道几个分区,不知道分区格式是fat16还是fat32,不知道那个关键程序装在那个分区,不知道那个关键程序的目录名 字,头晕,一问三不知阿,不过至少知道是fat格式,不是ntfs格式,而且很可能是fat32的分区格式(纯属猜测)。根据经验,一般第一个分区从第64个扇区开始,这个扇区是分区的第一个扇区,对于fat来说,是引导扇区,里面存储着BPB数据。从起 始扇区一直浏览到第64个扇区,前面的扇区数据都很混乱,不像是空白的样子,怀疑被病毒改写了,看这样的症状,猜测是类似CIH的病毒,损坏bios,导致主板不能启动,同时搞乱C盘的数据。一直到远远超过了64个扇区的时候,也没有看到看起来可能是fa t的引导扇区的扇区。直接搜索扇区尾部的55AA(引导扇区的标志数据),搜索了一会,似乎没有找到引导扇区。
6 寻找根目录。找不到引导扇区,无法定位分区的开始,从而无法定位fat文件分配表的位置。换个思路,根路径就在fat后面,挨着fat阿,所以决定搜索根路径。看看我的win98的根目录,有MSDOS这个文件名字,于是搜索MSDOS这个字符串,很幸运 ,找到了,在大约第16700个扇区里面,然后倒退几个扇区,发现了fat表,fat表一般是排列很整齐的数据,你打开你自己的硬盘,看看fat的16进制表示,就知道这个很整齐大概是什么样子了。这样看来,第一个分区大概在硬盘的8M左右的位置开始的。 找一个磁盘编辑工具,如RunTimes的磁盘工具diskexplorer,从根路径扇区的开始位置用根路径的模式查看,熟悉的文件名字出现了,说明这里确实是根路径所在的扇区。查看fat表,似乎前面部分的fat损坏了一部分,而后面的比较完好,同时 还是没有找到引导扇区,看来引导扇区被破坏了。
7 再一次自动寻找。根据前面的信息,已经可以推算出大部分的信息了,但是手工劳工比较辛苦,还是试一试自动化的工具哦。
再一次运行Easy recovery 6,使用Data recovery 里面的AdvancedRecovery工具,如图2所示,当硬盘上没有分区信息时候,红色箭头所指的Advanced Options按钮是可以选择设定的。第一次自动寻找的时候,就是使用了缺省的设置,所以搜索失败,根据前面的分析,设定搜索范围从16000个扇区开始,分区类型选择fat32,fat的匹配模式选择忽略fat表(缺省时候是最佳匹配),然后就可以看到 Easy recovery 6不断的显示出查找的文件。
8 导出重要数据。 可以说Easy recovery 6得恢复还是比较成功的,恢复出了相当多的目录结构,关键是我看到了lock2000目录,这就是我们要寻找的重要数据目录。其他没有关系的数据就不要了。存储lock2000目录后,打开dbf数据库,发现大部分数据库完全恢复,少部分在最后面出现了乱 码,也就是最后面的数据不太对。
最后,总共历时1个小时。基本上,数据恢复是成功的,不能恢复的部分估计是因为fat表的损坏导致Easy recovery 6接错了文件的尾部。得到的教训是,充分利用自动化工具,但是,随着大硬盘的增多,自动化工具扫描一次非常费时间,当然4g的硬盘很小,也是比较慢的。所以要注意收集信息,信息收集越充分,提供给自动化工具的信息越多,数据恢复的可能也越大。