钢琴简谱入门虫儿飞:FAT32格式化为FAT32的数据恢复 - Qzone日志

来源:百度文库 编辑:中财网 时间:2024/04/30 02:31:42
 文章来源:http://user.qzone.qq.com/286757311?ptlang=2052&ADUIN=286757311&ADSESSION=1293620257&ADTAG=CLIENT.QQ.2839_FriendTip_QzoneFolder.0

    FAT32分区格式化为FAT32分区后,由于格式相同,在不改变分区大小的情况下,会将两个FAT表、根目录区全部清零,这种情况在所有格式化造成的破坏里是最糟糕的,恢复数据的难度也是最大的。

    用软件能够扫出一部分数据出来,但如果文件有碎片的话,就会存在打不开或者只能打开一部分的情况。我这里还是谈一谈用winhex手工恢复数据的方法。

    首先用winhex的快照功能全盘扫描一遍,就会重组出大部分数据,这时试着把根目录下的数据导出保存。因为根目录被清零,根目录下的数据也无从找起。保存后,看看能否打开,不能打开的就要重组碎片了,这个比较复杂,以后分专题再讲。

    由于格式化后对子目录没有影响,所以子目录下的数据是能够恢复的。搜索根目录下的子目录,可行搜索子目录“2E20202020202020”,再看看上级目录的簇号是否为零,如果为零,则是根目录下的子目录,反之,则不是。也可直接运用winhex的脚本功能直接进行定位搜索,把根目录下的子目录找完,记下它们的起始簇号,然后在根目录下重建目录项指向这些子目录,就会恢复根目录下的目录项。

    重建根目录的方法:复制任一文件夹的目录项到根目录区,只修改文件名和起始簇号即可,这个用短目录项模板修复更方便。修复好后,存盘,退出。再次加载,即可看到根目录下的子目录全部恢复,文件也都找回来了,但打开资源管理器,里面还是空空如也,原来,我们只修改了根目录项,在FAT表中没有链接,所以,资源管理器中是找不到这些文件的。要在资源管理器中显示这些文件,就要在FAT表中加上它们的链接。由于文件夹的大小为零,所以它们在FAT表中就一个表项,既是开始,也是结束,那就是“FFFFFF0F”,所以在每个子目录项的簇号对应FAT表项中填入“FFFFFF0F”,存盘,退出,再次加载,打开目标盘,就会显示根目录下的文件夹,当然,文件夹名是重建目录项时取的。双击打开文件夹,会提示打不开,这又是怎么回事呢?原来,我们只写入了子目录项的链接,子目录的下一级文件的链接没有,所以仍然无法打开,要想全部都能打开,就只有重建FAT表链,那是一项十分繁杂的工程,有兴趣的朋友可以自己去探索一下,虽然意义不大,但对我们的学习还是大有帮助的。

    至此为止,这种格式化的恢复要想全部显示在资源管理器中是不现实的,所以只有在把目录项重建完毕后把所有的文件导出到另外的硬盘上,保存即可。