
我正在 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
沒有出現錯誤或警告。我沒有預料到會出現錯誤,因此沒有使用任何其他命令提前檢查磁碟,儘管回想起來這是明智的做法。有鑑於此,現在最好的行動方案是什麼?
edit2:我運行了dmesg
,現在我發現它遇到了一些 I/O 錯誤,並且可能是罪魁禍首。
我將取消dd
並安裝和使用ddrescue
。謝謝您的幫忙!
答案1
考慮使用ddrescue
代替。如果驅動器有一個或兩個壞(不可讀)區域,ddrescue 將首先跳過緩慢的部分(確保您會得到最多克隆的磁碟夠快),並將在稍後階段返回「抓取」跳過的區域。但是,如果驅動器有許多壞扇區,無論您做什麼,抓取仍然需要很長時間(可能是幾天)。
ddrescue /dev/sdb /dev/sdd /tmp/sdb-sdd.log
(可以使用 來查看日誌檔ddrescueview
。)