如何對不可讀磁區進行磁碟複製?

如何對不可讀磁區進行磁碟複製?

我想按位元組克隆整個磁碟,例如

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=...

用零替換損壞的磁區資料。這是一個有效的方法嗎?我找到了這個問題這讓我很困惑。

答案1

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

GNU ddrescue 是一個資料復原工具。它將資料從一個檔案或區塊設備(硬碟、CDROM 等)複製到另一個檔案或區塊設備,在發生讀取錯誤時嘗試先挽救好的部分。

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

相關內容