U盘的文件如果被删除,或者U盘被格式化以后,很多时候用恢复软件恢复出来的office文件会打不开,其实只要文件存在我们就可以使用winhex通过手工分析底层数据结构进行恢复。

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(1)

这个是什么原因呢?由于u盘的文件系统一般是fat32的,这种文件系统在存储文件的时如果在u盘进行操作的次数多了就很容易产生碎片。

一旦u盘上存储的文件产生碎片以后,由于这个文件的的底层数据存储并不是连续存储的,那么如果用普通的恢复软件去恢复的时候,往往恢复出来的文件都是不太正常的。

比如这个案例中,文件删除之后,用数据恢复软件恢打开有问题

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(2)

0

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(3)

1

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(4)

2

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(5)

3

现在打开恢复完的文件看一下结果是看不懂的乱码

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(6)

4

在找不到专业软件时,可以进行手工分析恢复

那么出现这种情况一般都是有碎片的文件,需要手工提取数据,这里就用一款十六进制编辑器winhex来手工提取,当然这个前提是要对各类文件系统有深入的了解。

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(7)

5

这就是那个分区在十六进制显示的样子,先跳转到6291456号扇区

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(8)

6

接下来把需要恢复的文件名转换成Unicode编码格式,因为NTFS分区格式是以Unicode编码格式来命名的,转换完之后点击菜单栏的Search--->Find Hex Values 会弹出如下图所示的窗口

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(9)

7

把刚才转换的16进制数值写进去,向下搜索

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(10)

8

光标停在了这个扇区,找到80属性,我用红色框框起来的就是我要恢复文件的簇流,就是根据这段簇流来恢复文件的,这个簇流不是连续的,有片段,这个就是平时所说的文件有碎片。

先算一下一个片段 起始位置:775124 簇大小:1

第二个片段 起始位置:16777253 簇大小:3 (第二个片段的起始位置是相对于第一个起始位置的)

第三个片段 起始位置:17552261 簇大小:41 (第三个片段的起始位置是相对于第二个起始位置的)

第四个片段 起始位置:17552345 簇大小:1 (第四个片段的起始位置是相对于第三个起始位置的)

一共有四个片段都计算完了,现在就需要提取每个片段的内容,先跳转到第一个片段的位置将内容复制到新文件,剩下的操作都一样

将每一个片段提取出来之后点击winhex菜单栏Tools--->File Tools--->Concatenate会弹出需要保存文件的路径及后缀

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(11)

9

点击保存后会弹出一个窗口选择刚才提取出来的文件(注意,一定要按顺序附加)

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(12)

10

四个碎片附加完成之后点击Done,附加完成,然后打开恢复的文件看一下

u盘文件恢复打不开怎么办(U盘文档恢复出来打不开)(13)

11

恢复完成,可以正常打开了

,