开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

成功恢复FAT32误格式化后所有碎片文件(已覆盖的除外)

简介:
+关注继续查看
[摘要]    接至沈阳寄过来的一个FAT32的10GB分区,存储某单位重要的文档(多为DOC和XLS),误格式化!之后客户想过若干种方法,也找过当地一些数据恢复公司,客户称:用一些数据恢复软件进行恢复(猜测如FINAL DATA等工具),部分文件可找到名称,但恢复出来的数据无法打开,修复后也只能出来少部分数据。
[分析]
    1、接手后观察文件系统损坏情况,格式化前后文件系统结构相同,所以原FAT表全部清0,不可重现。试用几个数据恢复软件进行恢复,只有不到5个文件能够完全打开,还都是像请假条、通知一样的并不很重要的文档。这样可知,市面上所有软件均无法完好恢复。
    2、具体进行磁盘数据区,对原因进行确认。果然,大多数文件均不连续。(原因可能是因为这些重要的文档,像数据库一样频繁改动),直观上看,没有任何规律。格式化后因用户或先前的数据恢复商并未严格遵守不写盘的原则,直接在系统上挂盘,造成系统还原、缩略图、回收站等组件新占用了部分空间,约5000个簇(大约40M),基本占用分区最前边,所以这40M的恢复将很困难。
    3、逆向分析数据的存储过程,根据磁盘扇区的特征及文件内容特性,通过模糊比对算法是有可能进行处理的。但工作量巨大,鉴于客户数据重要,决定一试。
[恢复过程]
    1、通过之前写过的扇区类型分析程序进行扇区类型分析。形成A中间结果
    2、根据A中间结果中的目录节点,分析结构,重组模糊目录树。假设为B中间结果
    3、根据A与B中间结果,结合逆向数据存储过程算法,重建一FAT表。
    4、根据建好的FAT表,映射欲恢复数据的目录项,恢复后测试70%的文件已经恢复成功。
    5、对未成功恢复的文件进行分析,发现这些文件其跳跃性较大,所以程序很难自动分析处理。所以,手工进行分析。
    6、先前正确的文件很有助于进行分析,通过程序将这些不可能存储的空间在虚拟环境中剔除,再将A结果中不符合数据类型的空间剔除。余下的可形成C结果。
    7、针对单个文件,过滤掉存储位置在覆盖范围内的,再分析其特征,与C结果中进行比对,很快发现命中率很高,(此例中,多数文件100%命中),根据分析结构,恢复数据。将恢复结果,写了一个小程序补充至C结果,减少分析范围和复杂度。
    8、继续第7步,如果有无法恢复的文件,暂时跳过。
    9、待所有文件均处理完成后,返回来再分析8步中遗留的文件,继续7-9步。完成后剩余2个文件还无法恢复。
    10、人工方式仔细分析最后的两个文件,根据簇之间的差异性,做出碎片的判断,经过很长时间的处理(比上面的要复杂得多)。终于恢复成功。两个文件均有4个不连续的碎片,恢复的难度很高。
    11、至此,所以未覆盖的文件100%恢复成功。
[后记]
一、 此例100%恢复也不是必然的,之所以可以完美解决,原因可能有:
        1、文件数目并不是很多,造成存储空间在特征上的复杂程序是有限的,磁盘空间也不很大;
        2、多数文件(尤其在同类型的文件上)表现的碎片还是有一定规律性的,比如客户需要的一个保险的目录,基本其下的所有重要文件都是两个 碎片,且第一个碎片多为1-2个簇,可能是客户先将空表建好后,才后续添入内容的。
        3、程序的自动分析的对关键结构的重建在恢复中起到了至关重要的作用。否则以人工的方式进行分析和恢复,几乎是不可能的。
二、同样的处理方式不光可应用于FAT误格式化,对于只剩下数据、没有文件系统痕迹的恢复同样可以尝试
[广告](转载时请保留)
    如遇相同问题,数据又特别重要,可以通过本文介绍的方式尝试恢复,如果无法自己写出程序或无法理解我的算法,可以联系我进行恢复:[email]zymail@vip.sina.com[/email](张宇) 或13522617215 。数据恢复服务商在长期合作的前提下可享受代理价。




本文转自 张宇 51CTO博客,原文链接:http://blog.51cto.com/zhangyu/33856,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
拷贝单个文件到U盘提示“目标文件系统 文件过大”,不需格式化解决
拷贝单个文件到U盘提示“目标文件系统 文件过大”,不需格式化解决
0 0
如何恢复磁盘中被删除的数据
如何恢复磁盘中被删除的数据
0 0
硬盘分区删除后的恢复!
今天在安装操作系统到固态盘的时候,忘记电脑上还挂着一个2T移动硬盘的情况。在安装操作系统的时候把两个分区都删除。删除才想起来,一顿后悔啊。然后寻找度娘,各种方法,有使用EasyDataRecovery,恢复的。
1821 0
关于 ext3 下如何恢复误删除文件的实验
http://linux.chinaunix.net/bbs/viewthread.php?tid=908195&highlight=%BB%D6%B8%B4+%C9%BE%B3%FD  ...
424 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载