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