使用 dd 进行完整硬盘克隆的速度减慢直至停止

使用 dd 进行完整硬盘克隆的速度减慢直至停止

我正在使用 Ubuntu 上的实时 USB dd 命令将一个 1TB 驱动器克隆到另一个 1TB 驱动器。我一直通过在另一个终端中运行来监控进度:

sudo kill -USR1 $(pgrep ^dd)   

一开始一切都很顺利,我以为一天多一点的时间就能完成复印。两天后我回来发现复印速度几乎停滞了。

1055628+0 records in
1055628+0 records out
69181636608 bytes (69 GB, 64 GiB) copied, 160488 s, 431 kB/s
1055629+0 records in
1055629+0 records out
69181702144 bytes (69 GB, 64 GiB) copied, 160491 s, 431 kB/s

我能做什么吗?

编辑:我使用的确切命令是:

sudo dd if=/dev/sdb of=/dev/sdd bs=64K conv=notrunc,noerror

没有出现任何错误或警告。我没有预料到会出现错误,因此没有使用任何其他命令提前检查磁盘,尽管事后看来这样做是明智的。考虑到这一点,现在最好的行动方案是什么?

编辑2:我运行了dmesg,现在我发现它遇到了一些 I/O 错误,很可能是罪魁祸首。

我将取消dd并安装和使用ddrescue。谢谢您的帮助!

答案1

考虑使用ddrescue。如果驱动器有一个或两个坏的(不可读的)区域,ddrescue 将首先跳过速度较慢的部分(确保您获得最多磁盘克隆速度足够快),并将在稍后阶段返回“刮擦”跳过的区域。但是,如果驱动器有许多坏扇区,无论您做什么,抓取仍然会花费很长时间(可能是几天)。

ddrescue /dev/sdb /dev/sdd /tmp/sdb-sdd.log

(可以使用来查看日志文件ddrescueview。)

相关内容