Dd
dd 是否複製所有內容,包括所有元數據和所有“空”塊
突然,我的分區出了點問題,或者只是一個分區。我有一個預設的 Ubuntu 安裝,在金士頓 SSD 上,根文件系統用 LUKS 加密(我認為使用 AES)。現在我正在嘗試從 live cd 掛載分區,但沒有運氣。
我很害怕做一些無法挽回的額外傷害。所以我想製作驅動器的精確副本。這意味著所有分區表,LUKS 分區的任何類型的元數據,以及我不知道的任何其他類型的元數據。我想我也希望所有的空塊都感到絕對安全。
我知道
dd if=/dev/sda of=/dev/sdb
,但我不知道它是否會包含所有描述的數據。也許我需要用 指定塊大小
-b
,但我不明白它是如何工作的以及為什麼它是必要的(如果是的話)。而且我也不知道如何找到分區的塊大小。請告訴我它是否確實複製了所有數據,如果沒有,是否還有其他方法。
是的,即使是(正式)不包含數據的塊以及有關分區、UUID 等的所有資訊。
例如,可以從 dd 複製的驅動器中恢復數據(即刪除文件後)。
您可能想閱讀有關
noerror
和sync
選項的內容。除非有讀取錯誤,否則塊大小 (
bs=
) 不會影響結果,但您應該將其設置為“1M”(或至少“4k”),否則會無緣無故地花費更長的時間。
做就是了:
cp /dev/block_device imgfile
如果*
imgfile
*將位於理解此類內容的文件系統上,則 GNUcp
應該預設稀疏地寫入圖像。不過,您可以指定您的偏好,例如…cp --sparse=always /dev/sda imgfile
dd
的主要用途在於它能夠可靠地僅獲取流的指定部分,或者它可以非常有效地對其應用某些轉換。如果您想要所有文件的 1:1 副本,那麼就cp
可以了。