像 rsync 这样的文件复制实用程序,带有像 ddrescue 这样的错误处理,用于从有坏扇区或硬件故障的硬盘驱动器中恢复数据

pur*_*ion 12 hard-drive rsync data-recovery file-transfer ddrescue

我的硬盘有坏块或扇区,由于潜在的机械问题而无法读取,例如磁盘磁头坏、电机坏或其他一些导致硬盘读取数据极其缓慢且大量数据的问题读取错误。我看到平均 50 KB/秒,有些读取速度低于 10 KB/秒,并且经常完全卡在文件或扇区上,通常很长一段时间 - 从 2-10 分钟或更长时间(当在超时之前使用 rsync)。

速度似乎变化很大,它经常卡在文件上,当它最终“解开”时,它似乎只持续了一小段时间,然后再次卡住。驱动器也非常安静,只有偶尔的文件复制声音(通常是在它卡住/解开一小段时间,然后再次卡住之前)。因此,不存在通常与 HDD 死亡相关的那些邪恶声音。有人建议,这些问题听起来可能是由磁头未对齐引起的,需要大量重新读取才能最终成功读取数据。听起来很有道理,但我离题了......

无论如何,rsync 的问题在于它似乎没有像样的错误处理支持。显然,这并不意味着,以恢复从失败的硬盘中的数据,但所有的所谓的“数据恢复”实用工具在那里,意味着这种使用通常集中在被删除的文件恢复或弄乱了分区,而不是从垂死的硬盘驱动器上复制文件。显然,已删除的文件恢复不是我需要的,所以也许您可以理解我对无法找到我所追求的内容的失望。

自然,这就是您可能会说“您应该使用 ddrescue!”的地方。好吧,这一切都很好,但我已经备份了大部分数据,所以我只想恢复某些文件。我不关心尝试像 ddrescue 那样逐块恢复完整分区。我只对拯救特定的文件和目录感兴趣。

理想情况下,我想要的是 rsync 和 ddrescue 之间的某种交叉:允许我将源和目标指定为 rsync 等普通文件的目录(而不是 ddrescue 要求的两个完整分区),并可以通过以下方式跳过文件初始运行中出现错误,然后允许我在以后的运行中尝试恢复那些有错误的文件(当然,命令略有更改),甚至可能提供一个选项来指定重试尝试的次数……就像ddrescue 如何处理块,只有我想要一个可以像 rsync 一样处理特定文件/目录的实用程序。

那么我是在这里做白日梦,还是有什么东西可以做到这一点?或者,甚至可能是一种使 rsync 或 ddrescue 以这种方式工作的方法?我真的对任何可能有效的解决方案持开放态度,只要它们让我选择我想要“拯救”的文件,并且可以在初始运行时跳过有错误的文件,然后再尝试/重试这些错误。

到目前为止,我已经尝试使用以下选项进行 rsync,但它通常会在文件上停留的时间超过超时时间,理想情况下,我只是希望它移动到下一个文件,稍后再返回到它获取的文件坚持。我不认为这是可能的。无论如何,这是我迄今为止一直在使用的:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/
Run Code Online (Sandbox Code Playgroud)

Chr*_*-IT 2

好问题,喜欢细节水平。对于在这种情况下运行良好的实用程序,我建议尝试Quetek的 Filescavenger 。它将允许超过 100 次的重复读取,但更重要的是,它具有磁盘映像功能,允许您将整个内容转储到图像,而无需浪费时间尝试评估文件,然后加载图像并扫描它对于文件。该实用程序对于家庭用户的运行费用为 50 美元,但您可以在花钱之前下载并测试它,看看可以从图像中恢复什么。

如果是专业用途,它将花费您相当多的钱,但会获得重要的功能,包括对逻辑和硬件 raid 阵列的支持。

如果这也失败了,那么您可能已经无法使用软件恢复工具了。如果您是,并且您可以证明实验室恢复的费用合理,请告诉我您所在的国家、州和城市。我可以推荐您附近的我们或竞争对手的实验室之一。

克里斯