gddrescue 传输缓慢,但没有坏扇区

gddrescue 传输缓慢,但没有坏扇区

最近,当我想将信息备份到外部硬盘时,我注意到我的第二个内部硬盘出现了问题。已使用 2TB 中的 1.4TB。我的传输率直线下降至 0,并且很难获取数据。我开始寻找可能出现的问题,但猜测很可能是我的硬盘坏了。我尝试使用 chkdsk 进行 SMART 扫描,但速度会减慢并停止大约 30%。我已经转而尝试 gddrescue,因为我反复读到使用 Windows 数据恢复应用程序可能会造成更多损坏。我为我的 USB 驱动器下载了 Kali,并通过 SATA 电缆连接了我的旧 2TB 东芝硬盘,并通过 SATA 电缆安装了新的 3TB WD 硬盘以开始传输。

这就是我用来启动扫描的。

ddrescue -f /dev/sda /dev/sdb /root/Desktop/log1.log

我在第一遍中就获得了 52% 的拯救,并且还没有错误或坏扇区。所以我不确定这是否正确,但此时传输率平均仅为 10,000 B/s。

我停止了它并开始反向扫描

ddrescue -f -R /dev/sda /dev/sdb /root/Desktop/log1.log

从这里开始,它首先以较低的速度开始,并且也下降到平均 10,000 B/s。

在第一次通过时这是正常的吗?如果下载速度这么慢,是否应该先跳到其他扇区下载,然后再返回到这些较慢的扇区(如果它们在第一遍期间损坏)?另外,“数据救援”部分实际上已经克隆到新硬盘驱动器中,还是需要完全完成操作才能将该数据存储在硬盘驱动器中?

答案1

当出现读取错误时, 的行为ddrescue将取决于磁盘本身的行为。

有些磁盘只会对每个读取请求进行几次尝试,如果磁盘的内部逻辑表明结果很可能是错误的,则会报告错误。这允许ddrescue类似的实用程序进行多次尝试并分别分析每次尝试的结果,直到他们能够获得统计上的高置信度,即所有请求的数据都已正确读取。

其他磁盘将尝试自行执行此操作:当仅发出一个读取包含错误的数据块的请求时,磁盘将多次尝试读取该数据块,仅在磁盘的内部诊断指示读取时才返回数据尝试很可能成功。当磁盘最终成功读取时,它会将数据返回给应用程序,而不必报告任何错误。当然,磁盘本身会大量增加每个故障块的读取尝试次数,这意味着磁盘的访问速度将非常慢。

将发生故障的磁盘块标记为坏块通常仅发生在写入操作中。如果读取操作也检测到坏块,则意味着系统本质上将自行决定特定数据块不再可恢复,然后将其替换为全零的备用块。这将使任何后续的数据恢复尝试变得更加困难:您将需要特殊的软件甚至硬件来覆盖磁盘本身中的坏块替换逻辑,以获得另一次从实际坏块恢复数据的机会,而不是仅仅读取空的替换块。

相关内容