计算机打不开hex文件怎么办,怎么用WINHEX修复“文件或目录损坏且无法读取”

数据“文件或目录损坏且无法读取”的恢复。232G的NTFS分区D,XP系统,每簇扇区数8,用winhex无法读取分区,提示错误,通过物理磁盘访问该分区,根目录下看不到任何文件,检查DBR,没有发现明显的异常。

由于是远程恢复,原盘未做截图,本教程是模拟了原始分区数据丢失时的情景,请参考恢复思路,如有不足,请各位指正!

13d8f5aee8e2905df1db4280a7eb8451.png

跳转到第分区E的EBR(虚拟MBR)位置的上一个扇区,找到损坏的分区的备份的DBR,通过winhex提供的计算hash功能,计算哈希值。再 与第一个DBR的hash值对比。完全一样。(也可以通过winhex提供的同步和对比功能进行验证,winhex会不同的字节上显示黑色)

跳转到$MFT的开始位置,也即是$MFT自身的记录。发现其起始特征本应该是ASCII码的“FILE”四个字节,现在变成了ASCII码“BAD?”。这是造成提示“文件或目录损坏且无法读取”的关键问题所在。

跳转到偏移512=242位置,也就是这个MFT项的文件名起始位置。文件名正常:UNICODE码的“$MFT”。检查标准属性(10H),文件 名属性(30H),数据流属性(80H)属性,到80属性的时候,发现从80属性开始的第三行开始,都被清零,其他的重要的四个元数据文件 中,$Volume属性也出现了同样的错误。

ec324bd65e58fdc4fc737a29e7cc8499.png

找到备份的前四个元数据文件的记录。覆写错误的记录。根据DBR找到了MFT前四个元数据文件的备份,备份的元数据文件几乎跟前面四个一摸一样的错 误。只能是手工修复$MFT。在$MFT自身的记录当中,发现”结束VCN”并没有遭到破坏,这为后期的修复工作节省了很多时间,复制一个正常分区(分区 E)的第一个扇区到损坏的$MFT中,修改其中的一些数值。在80属性中,第三行字节的开始位置应该是描述的datarun的起始位置,根据起始VCN和 结束VCN得出$MFT的大小,计算方法:起始 VCN+1=LCN,根据这个数值,写入datarun。将LCN * 8 * 512=0000FE6DH。分别写入偏移(想对于80H)48H,50H,和58H,

d754d361f037030ec0f52164b21ef9ba.png

写入方法:根据DBR中的描述的$MFT起始位置(000000C000H)786432号簇,$MFT的大小为VCN+1个簇 ,那么datarun就是 “33 E0 DF 06 00 00 0C 00H”,按同样的方法修复备份的$MFT的前四个元数据文件。

36f648328d53f431986f63e8e333e6ed.png

保存,重新载入分区,winhex打开,所有的元数据文件全部显示出来。文件、目录损都可以正常读取

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值