Linux

如何使用不可讀扇區進行磁碟複製?

  • March 10, 2020

我想按字節複製整個磁碟,例如

dd if=/dev/$SRC of=/dev/$DST bs=65536 count=$count

有更好的工具可以完成這項工作,它們可以理解文件系統(Windows)並且工作速度更快(我不在乎),但是由於舊源磁碟上的扇區不可讀,它們會失敗。

實際上,我必須跳過一個無效塊。所以我考慮過dd多次使用

dd if=/dev/$SRC of=/dev/$DST bs=65536 count=...
dd if=/dev/zero of=/dev/$DST bs=65536 count=... skip=... seek=...
dd if=/dev/$SRC of=/dev/$DST bs=65536 count=... skip=... seek=...

用零替換損壞的扇區數據。這是一種有效的方法嗎?我發現這個問題讓我感到困惑。

不要重新發明輪子。使用ddrescue.

GNU ddrescue 是一個數據恢復工具。它將數據從一個文件或塊設備(硬碟、cdrom 等)複製到另一個,試圖在讀取錯誤的情況下首先挽救好的部分。

不要相信 dd conv=sync,noerror,除非你真的知道它是如何工作的。

引用自:https://unix.stackexchange.com/questions/572246