![NTFS 的 MFT 和镜像损坏](https://linux22.com/image/1529416/NTFS%20%E7%9A%84%20MFT%20%E5%92%8C%E9%95%9C%E5%83%8F%E6%8D%9F%E5%9D%8F.png)
Windows 正在运行chkdsk
,在此期间电池耗尽,笔记本电脑关机。当我启动它时,我得到了如下信息:
Disk read error
我尝试从 Windows 的磁盘启动并运行chkdsk /f /r
,但没有成功。我有另一个安装了 Linux 的分区。我尝试ntfsfix
从那里运行,但它输出:
Mounting volume... $MFT must be non-resident.
Failed to load $MFT: Input/output error
FAILED
Attempting to correct errors... $MFT must be non-resident.
Failed to load $MFT: Input/output error
FAILED
Failed to startup volume: Input/output error
Checking for self-located MFT segment... OK
$MFT must be non-resident.
Failed to load $MFT: Input/output error
Volume is corrupt. You should run chkdsk.
我也尝试过testdisk
。Repair MFT
它还出现以下错误:
MFT and MFT mirror are bad. Failed to repair them.
我现在能做什么?我想把我的文件放回到原来的位置。
答案1
您的输出显示了几个 I/O 错误,这不是一个好兆头。此类错误的最常见原因是硬件故障。因此,我怀疑您遇到的是硬件问题 —— 要么是此时偶然出现的问题,要么是电源故障导致的问题。(您没有说明为什么CHKDSK
在 Windows 中运行。如果是因为磁盘出现故障,则硬件问题可能先于其他问题出现,并且在电源故障后变得更糟。)
您可能需要检查磁盘的 SMART 状态。我不是 Windows 专家,当然,考虑到问题的性质,您无法从常规 Windows 安装中执行此操作。请参阅这个问题了解从 Linux 获取 SMART 数据的一些技巧。或者,您可以尝试从 Windows 紧急磁盘执行此操作,但我对这种方法没有太多帮助。请注意,SMART 是一种诊断工具,而不是修复工具。如果您看到 SMART 错误,您会知道磁盘出现故障,但除了知道您需要获取新磁盘之外,它不会真正帮助您恢复数据。这远不能保证有效,但值得一试。
如果 SMART 提示磁盘出现故障,请停止使用它!某些类型的磁盘故障会随时间推移而蔓延,导致一个坏扇区变成十个,然后是一百个,依此类推。因此,使用磁盘的时间越长,恢复数据的可能性就越小。如果 SMART 提示有问题,请关闭计算机,购买新磁盘,然后仅在准备好将数据移至新磁盘时才重新启动。
如果您确实获得了新磁盘,则可以从旧磁盘到新磁盘进行低级复制。同样,由于我不是 Windows 专家,我无法建议使用特定的 Windows 工具来帮助完成此操作;但在 Linux 中,您可以使用ddrescue
,它会尽力从故障磁盘恢复数据并将其传输到另一个磁盘。修复工具有可能可以在新磁盘上工作。
在最坏的情况下,如果你无法使系统正常工作以挂载卷,则可以使用类似相簿恢复单个文件。不过,据我所知,PhotoRec 在恢复文件名方面做得很差,所以您将留下一大堆名字不好的文件需要整理。我听说有些 Windows 专用工具在恢复文件名方面做得更好,但我不知道细节,所以我不能推荐一个特定的工具。
最后一点:ntfsfix
在 Linux 中它几乎什么都不做;它只是检查一些非常基本的 NTFS 功能,然后在 Windows 中将文件系统标记为需要修复。因此,我不建议在该工具上浪费更多时间。