同硬碟和分割槽打交道時,我們可能需要建立所有分割槽的副本或備份,而不僅僅是複製內容(不僅是各個硬碟分割槽,而且包括引導記錄、分割槽表等資訊)。這時,我們就可以使用dd命令,它可能用於轉殖任何型別的磁碟,如硬碟、快閃儲存器、cd、***以及軟盤等。
dd命令介紹
dd命令的願意是data definiton。由於不正確的使用會導致資料丟失,因此它獲得了data destroyer這一謔稱。使用dd命令時,要留意引數的順序。錯誤的引數會損毀全部資料。dd基本上算是乙個位元流複製器 (bitstream duplicator),它可以將來自磁碟的位元流寫入檔案,也可以將來自檔案的位元流寫入磁碟。
ps:更多
指令碼學堂 中的
系統管理 ->
linux命令 部分,收集了很多實用的命令與例項。
dd的語法如下:
$ dd if=source of=target bs=block_size count=count
其中:1)、if代表輸入檔案或輸入裝置路徑;
2)、of代表目標檔案或目標裝置路徑;
3)、bs代表塊大小(通常以2的冪數形式給出,如512、1024、2048等)。count是需要複製的塊數(整數)。
需要複製的位元組總數 = 塊大小 * count
bs和count都是可選的。
通過指定count,我們可以限制從輸入檔案複製到目標的位元組數。如果不指定count,dd會對輸入檔案進行複製,直到遇見檔案結束標誌(eof)為止。
要將乙個分割槽複製到檔案中,可以使用:
# dd if=/dev/sda1 of=sda1_partition.img
該命令中的/dev/sda1是該分割槽的裝置路徑。
用備份恢復分割槽:
# dd if=sda1_partition.img of=/dev/sda1
要留心if和of引數。錯誤使用會造成資料丟失。
如果要永久性刪除乙個分割槽中的所有資料,我們可以用dd向該分割槽中寫入0值,命令如下:
# dd if=/dev/zero of=/dev/sda1
/dev/zero是乙個字元裝置。它總是返回字元 '\0'。
在容量相同的硬碟間進行轉殖:
# dd if=/dev/sda of=/dev/sdb
其中,/dev/sdb是第二個硬碟。
要製作cd rom的映象(iso檔案),方法如下:
# dd if=/dve/cdrom of=cdrom.iso
補充:如果將檔案系統建立在乙個由dd生成的檔案中,那麼我們可以將它掛載到掛載點上。
掛載映象檔案
用環迴(loopback)的方法可以將任何由dd生成的檔案映象進行掛載,這是用mount命令的-o loop來實現的。
# mkdir /mnt/mount_point
# mount -o loop file.img /mnt/mount_point
這樣,我們就可以通過/mnt/mount_point來訪問映象檔案中的內容了。
使用dd命令轉殖整個Linux系統
參考 本次使用使用dd命令轉殖整個ubuntu系統 1,vm安裝一台ubuntu虛擬機器 過程不詳述,硬碟1 10g 新增一塊硬碟2大於10g 本次新加硬碟15g新加的硬碟用於儲存dd複製的映象 2,使用cdrom或u盤啟動系統 啟動系統為ubuntu live模式 3,使用dd命令轉殖 檢視系統磁...
dd命令的詳細介紹
1.命令簡介 dd 的主要選項 指定數字的地方若以下列字元結尾乘以相應的數字 b 512,c 1,k 1024,w 2,xm number m if file 輸入檔名,預設為標準輸入。of file 輸出檔名,預設為標準輸出。ibs bytes 一次讀入 bytes 個位元組 即乙個塊大小為 by...
使用dd命令對Linux磁碟進行讀寫
在linux中,對磁碟進行讀寫能力的測試,是一件非常必要的事情。雖然有一些很專業的軟體去做這件事,但在某些情況下,由於技術能力限制,或使用者並不需要很專業,這時就要考慮linux內嵌命令dd了,它是乙個簡單易用,且功能略微強大的命令。一 首先要了解兩個特殊的裝置 dev null 站 無底洞,可以把...