更快的磁盘恢复(ddrescue 运行缓慢)

rex*_*oni 8 data-recovery hard-disk ddrescue

我正在学习拥有良好备份的价值。

我有一个 500GB 的硬盘驱动器出现故障。我开始跑步

ddrescue /dev/sdb1 backup.img mapfile
Run Code Online (Sandbox Code Playgroud)

这将需要 40 到 70 天,这取决于你看它的那一刻。

我阅读了这篇文章,其中展示了如何ddrescue使用-c 1Ki选项加快速度。现在我在看 15 天左右。

我还缺少另一个技巧吗?或者更好的工具?这真的是恢复故障硬盘所需要的吗?

fro*_*utz 11

ddrescue 有这个选项:

   -a, --min-read-rate=<bytes>
          minimum read rate of good areas in bytes/s
Run Code Online (Sandbox Code Playgroud)

如果你在命令行上指定它的大小合适10M,幸运的是,仍然能够读取但速度极慢的区域将首先被跳过,然后继续驱动器仍然能够高效读取的其他区域。

根据最后遗漏了多少,您仍然可以在之后慢速通过。

也可以ddrescue--reverse模式下运行或强制它从特定偏移量开始,--input-position=X因此如果ddrescue它本身没有跳入更快的区域,您可以强制它手动执行此操作。

这真的是恢复故障硬盘所需要的吗?

很难说,因为有很多不同类型的故障。它还取决于驱动器的类型、它如何处理错误,有时还取决于控制器本身对坏驱动器的反应。检查dmesg是否有任何噪音,看看是否有总线重置,这些不应该仅仅因为驱动器遇到读取错误而发生。(如果发生这种情况,可能会增加/sys/block/.../device/timeout

如果您的驱动器支持 SCTERC(桌面消费驱动器不太可能),您可能能够告诉驱动器甚至不要尝试内部错误纠正,而是直接返回读取错误。