Disk-Image
使用 DD 進行磁碟複製
關於磁碟複製工具有很多問題
dd
,至少有人提出過一次。我已經考慮過使用dd
自己,主要是因為易於使用,而且它在幾乎所有可引導的 Linux 發行版上都很容易獲得。
dd
複製磁碟的最佳方法是什麼?我做了一個快速的Google搜尋,第一個結果是一個明顯的失敗嘗試。使用後有什麼我需要做的嗎dd
,即有什麼不能閱讀的內容dd
嗎?
dd 無疑是最好的複製工具,只需使用以下命令即可創建 100% 副本。我從來沒有遇到過任何問題。
dd if=/dev/sda of=/dev/sdb bs=32M
請注意,在複製每個字節時,您不應在正在使用的驅動器或分區上使用它。特別是像數據庫這樣的應用程序不能很好地處理這個問題,你最終可能會得到損壞的數據。
為了節省空間,您可以使用 gzip 壓縮 dd 生成的數據,例如:
dd if=/dev/hdb | gzip -c > /image.img.gz
您可以使用以下方法恢復磁碟:
gunzip -c /image.img.gz | dd of=/dev/hdb
為了節省更多空間,請事先對您要複製的驅動器/分區進行碎片整理(如果合適),然後將所有剩餘的未使用空間清零,使 gzip 更容易壓縮:
mkdir /mnt/hdb mount /dev/hdb /mnt/hdb dd if=/dev/zero of=/mnt/hdb/zero
稍等一下, dd 最終將失敗並顯示“磁碟已滿”消息,然後:
rm /mnt/hdb/zero umount /mnt/hdb dd if=/dev/hdb | gzip -c > /image.img.gz
此外,您可以通過使用 kill 命令向其發送信號來讓 dd 程序在後台執行以報告狀態,例如:
dd if=/dev/hdb of=/image.img & kill -SIGUSR1 1234
檢查您的系統 - 上述命令適用於 Linux、OSX 和 BSD dd 命令,它們接受的信號不同(OSX 使用
SIGINFO
- 您可以按Ctrl
+T
報告狀態)。