元文件损坏修复的修复实验
我觉得论坛是一个交流的平台,有交流才有进步。做人要厚道,转帖请注明!!
我非我QQ:623772072
看了敏之煌写的《揭秘NTFS“文件或目录损坏且无法读取”》这篇帖子,大受启发。因此我也做了个类似的实验。
这个实验就是当16个元文件损坏,怎样修复。下面开始正文:
首先用我的电脑I盘做实验,为了使实验有可回溯性,我们将这些文件备份到其他地方。实验前的截图:
可以看到I盘大小为4.87G。下面用winhex打开I盘及另一个C盘,C盘大小为9.31G。并用C盘中$MFT0号项~15号项覆盖I盘中$MFT0号项~15号项(模仿元文件损坏)。覆盖前$MFT0号项截图:
覆盖后$MFT0号项截图:
保存。卸载后重新加载。保存时有“请运行chkdsk的提示”。再打开I盘里已经空空如也:
Winhex打开遍历后:
所有目录文件都是问号了,此时我们运行chkdsk看下结果如何:
强制卸载依然不行,看来C盘的元文件不能替换I盘的 我们前面说了C盘是9.31G,I盘是4.87G,是否和盘大小不一致有关呢。
为了证明这一点,我们再继续实验。在我的电脑用虚拟软件再虚拟出一个和I盘大小一样的磁盘J。用它的元文件覆盖I盘的元文件。卸载重新加载打开显示:
运行chkdsk[ 打开后如下:文件可以正常打开,但却少了好多文件!
是不是由于我们虚拟的磁盘元文件太小啊,那好增大$MFT的大小,修改$MFT大小,按照改大不改小的原则,100M吧。100M*1024*1024=104857600,换算成十六进制就是06400000。填入下图
结果和刚才一样,丢失的其他文件还是没有回来。什么原因还不得而知。
现在再将我们原来备份的文件拷入I盘,使其变回实验前的状态
然后执行以下步骤:将J盘的元文件拷入I盘,修改0号mft80数据属性的数据运行
再次执行chsdsk
打开如下:
文件恢复如初。由此是不是我们可以得出结论:
元文件损坏,只要用和磁盘大小相同的磁盘的元文件替换,再将其0号mft项数据运行修改的大一些,然后运行chkdsk数据就能恢复如初呢。
以上如有错误,请大家指正。
做人要厚道,转帖请注明!!
我非我QQ:623772072 初次发贴,排版有些乱,大家讲究看吧,呵呵 真够累的。。。。。。 分区小的话检查得比较严,分区大了就允许有误差了。 俺是新手,正在研究 好思路啊,我正一块st500G的硬盘出现了这个问题,可以试一试 这个还有没有人证实过有效么?
页:
[1]