将已删除的文件标记为未删除

Elm*_*lmo 11 ntfs data-recovery mft

我的硬盘容量是 500 GiB。150 GB 数据被意外删除。在那次事件之后我没有向驱动器写入任何字节,所以我的数据保证在那里。我尝试过像 Recuva 这样的应用程序,所有应用程序都显示数据在那里,并允许我将数据保存在不同的位置,但问题是我不想这样做。

我只是希望文件在 MFT 中再次标记为未删除。有没有可用于此目的的应用程序?我搜索了很多但没有找到任何东西,是否可以在 MFT 中取消将文件标记为已删除,或者我是否遗漏了什么?如果我知道如何手动完成,我可以为此编写一个应用程序。

har*_*ymc 5

取消删除NTFS卷上的文件并不像翻转一位那么简单。确实,删除和未删除文件之间的区别只是 MFT 中的一位,但还需要恢复文件的内容,这些内容以流的形式存储,以及重新标记已删除的扇区$Bitmap 伪文件,每个扇区包含一位,每一位表示其对应的簇是被使用(分配)还是空闲(可用于分配)。

这项工作的复杂性使得所有恢复工具都不愿意写入损坏的卷。例如,如果该扇区已被另一个文件使用,则将 $Bitmap 中的扇区标记为已使用可能会导致交叉链接。

本文很好地演示了十六进制转储的问题:
Windows“文件恢复”系列:第 5 部分从 NTFS 文件系统手动恢复已删除的文件

另一篇文章甚至包含一个程序的源代码,该程序可以修改以取消“已删除”位: 取消删除 NTFS 中的文件

有很多 NTFS 磁盘编辑器可以编辑 MFT 来翻转那个位。我通过谷歌找到的一些(但幸运的是从来不需要使用)是:
WinHex
NTFS 数据恢复工具包
DMDE
免费软件活动磁盘编辑器

一种可能甚至可行的解决方案是撤消 MFT 中已删除的位,然后使用 chkdsk 实用程序尝试恢复内容。此实用程序可以恢复其扇区被错误标记为可用于重新分配的文件的扇区链,并将修复 $Bitmap。

但是,此过程总是有可能损坏您的磁盘。

这就是为什么您和上述所有评论员(包括我自己)都没有找到任何进行就地恢复的产品的原因。对于不是从事 NTFS 工作的 Microsoft 员工的任何人来说,搞砸磁盘的可能性实在是太大了。

我对您的最佳建议是获取第二个硬盘并恢复其上的文件。相信你已经发现一个备份盘是不够的。我已经有几个朋友要求我恢复他们唯一的备份,我总是建议他们(有时为时已晚)拥有两个备份磁盘。

此外,至少两个备份磁盘之一应与计算机断开连接。我在听说过这样的情况后建议这样做:一台计算机和每个连接的 USB 设备都炸了,让所有者没有数据也没有备份。