Dd

使用 cat 複製磁碟時出錯

  • June 9, 2018

我希望複製一個大磁碟(一個 500GB SSD,物有所值),並且我傾向於使用catGilles 建議. 但是讓我猶豫的是,我真的不知道cat讀取錯誤時會發生什麼。我知道dd在這些情況下的行為方式,命令

dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress

不會因讀取錯誤而停止,並用零填充讀取錯誤(sync選項),以便數據保持同步。不幸的是,它是通過在要寫入的塊末尾填充零來實現的,因此早期 512 字節讀取中的單個錯誤會弄亂整個 64K 數據(對於更大、更快的塊大小更糟)。

所以我想知道:我可以做得更好/不同cat嗎?還是我應該繼續使用Clonezilla

cat如果遇到讀取或寫入錯誤,則停止。

如果您擔心源驅動器上可能存在無法讀取的扇區,您應該查看諸如ddrescue.

如果沒有壞的或難以讀取的扇區,

我會推薦Clonezilla。它更安全,因為有檢查點(如果您想繼續,請提出問題)

cat並假設您確切知道要做什麼,並且在按 Enter 鍵之前仔細檢查過ddddrescue“他們會毫無疑問地按照你告訴他們的去做,即使你告訴他們擦掉家庭照片。”

此外,Clonezilla 足夠聰明,只複製使用過的塊(並跳過空閒塊),這使得複製速度更快。

如果您認為扇區不好或難以閱讀,

我同意@StevenKitt,這ddrescue是一個很好的工具。資訊頁麵包含一個很好的教程,

info ddrescue

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