这是一个大磁盘,似乎所有文件都可以读取,但只有少数文件是可读的。对于少数文件,读取同时失败。类似于 5GB 文件的 1.5GB 位置。SMART 数据确实显示不可重定位,所以我猜这是一个物理错误。但我很确定不是整个不可读的 3.5GB 都在坏扇区上。NTFS 文件系统可能会在遇到的第一个坏扇区处停止。
所以,我想恢复文件的所有可读部分(不可读部分可以用 填充0x00
)。似乎chkdsk /f /r
可以做到这一点,但需要数十个小时,因为它会尝试扫描整个磁盘。我已经知道读取失败的少数文件的名称。我不能/r
只为指定的文件或至少指定的目录做吗?
/r 定位坏扇区并恢复可读信息。必须锁定磁盘。/r 包括 /f 的功能,以及对物理磁盘错误的附加分析。
请提供使用 smartmontools 创建的 SMART 报告中的相关行。我从未在 SMART 报告中读过“不可重定位”一词。
解决方案 1
我怀疑 chkdsk 会以您想要的输出格式生成文件。linux下的解决方案可能是将ddrescue命令单独应用于每个损坏的文件:
ddrescue损坏文件恢复文件映射文件
在哪里
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html状态
如果输出文件是由 ddrescue 创建的常规文件,则标记为坏扇区的区域将包含零。如果它是设备或以前存在的文件,则标记为坏扇区的区域仍将包含以前存在的数据。
解决方案2(不完整,只是一个可能的提示)
chkdsk 中有一个名为“spotfix”的新参数。我没有找到任何令人满意的解释。仅运行旧版操作系统 我无法运行chkdsk /?阅读内置帮助文本。您可能对此感兴趣。