close

https://blog.gtwang.org/linux/dd-command-examples/

dd 指令

基本使用方式

dd 常用的參數如下:

  • if=FILE:指定輸入檔案名稱(input file)為 FILE
  • of=FILE:指定輸出檔案名稱(output file)為 FILE
  • ibs=BYTES:指定輸入區塊大小(input block size),一次讀取 BYTES 位元組的資料,預設為 512 位元組。
  • obs=BYTES:指定輸出區塊大小(output block size),一次寫入 BYTES 位元組的資料,預設為 512 位元組。
  • bs=BYTES:指定 block size,一次讀取與寫入 BYTES 位元組的資料,此選項會覆蓋 ibs  obs 的設定。
  • cbs=BYTES:一次轉換 BYTES 位元組的資料。
  • count=N:只處理 N 個輸入區塊,每個區塊的大小為 ibs
  • seek=N:在輸出時跳過輸出檔案的前 N 個區塊,每個區塊的大小為 obs
  • skip=N:在輸入時跳過輸入檔案的前 N 個區塊,每個區塊的大小為 ibs
  • conv=CONVS:指定資料的轉換選項,如果一次要指定多種轉換,則以逗點分隔。

以下是各種可用的轉換:

  • ascii:EBCDIC 轉 ASCII。
  • ebcdic:ASCII 轉 EBCDIC。
  • ibm:ASCII 轉 alternate EBCDIC。
  • block:將每一個區塊的資料結尾的換行字元替換為空白,並以空白將整個區塊補足 cbs 位元組。。
  • unblock:將每個區塊結尾的空白字元替換為換行字元。
  • lcase:將大寫字母轉換成小寫。
  • ucase:將小寫字母轉換成大寫。
  • swab:將每一對輸入的位元組交換。
  • sync:將每一個輸入的區塊以 NUL 補足至 ibs 位元組的大小,如果是在 block 或是 unblock 的轉換中,則以空白字元來補足。
  • nocreat:不要建立輸出檔案。
  • notrunc:不要將輸出檔案截短。
  • noerror:發生錯誤時還是繼續執行。
  • fdatasync:讓資料同步實體寫入硬碟,不要留在緩衝區中

 

備份整顆硬碟

 /dev/sda 所有的資料寫入 /dev/sdb

sudo dd if=/dev/sda of=/dev/sdb

if 參數指定的是輸入檔案(input file),而 of 參數指定的是輸出檔案(output file),這行指令會將 /dev/sda 這顆硬碟的資料讀出來,然後寫進 /dev/sdb這顆硬碟。

在整個過程中如果出現讀取錯誤的話,dd 就會停止執行,如果想要讓 dd 在出現讀取錯誤時還是繼續拷貝資料的話,就要加上 conv=noerror 參數,這個選項通常在備份資料時會使用到,另外加上 sync 可以讓 dd 以 synchronized I/O 的方式備份資料:

sudo dd if=/dev/sda of=/dev/sdb conv=noerror,sync

建立硬碟的備份影像檔

備份硬碟資料除了拿兩顆硬碟對拷之外,也可以直接將整顆硬碟的資料製作成影像檔,以這種方式備份資料會更有彈性:

sudo dd if=/dev/hda of=~/hdadisk.img

這行指令會將 /dev/sda 這顆硬碟的資料讀出來,儲存至 ~/hdadisk.img 這個影像檔中。

從備份影像檔回復硬碟資料

如果要以影像檔回復硬碟的資料,就執行:

sudo dd if=hdadisk.img of=/dev/hdb

這樣就會把 hdadisk.img 影像檔中的資料回復至 /dev/sdb 這顆硬碟(原本 /dev/sdb 硬碟中的所有資料會被覆蓋掉,請小心使用)。

http://wanggen.myweb.hinet.net/ech3/ech3.html

產生一個虛擬硬碟

 # dd if=/dev/zero of=200M-image bs=200M count=1 ←產生一個 200M 的內容是空的映像檔
# mkfs 200M-image ←格式化此映像檔
mke2fs 1.40.2 (12-Jul-2007)
200M-image is not a block special device. ←會出現此檔非〝block device〞(儲存裝置)的警告
Proceed anyway? (y,n) y ←不管警告按<y>繼續格式化
# mount -t ext2 -o loop 200M-image /mnt ←掛載此虛擬 partition 

 

https://blog.gtwang.org/linux/linux-ram-disk/
   RAM Disk ​​​​​​​

建立資料夾 並 MOUNT RAM DISK

mkdir /tmp/ramdisk
chmod 777 /tmp/ramdisk 
mount -t tmpfs -o size=4G tmpfs /tmp/ramdisk/
arrow
arrow
    文章標籤
    dd 指令
    全站熱搜
    創作者介紹
    創作者 立你斯 的頭像
    立你斯

    立你斯學習記錄

    立你斯 發表在 痞客邦 留言(0) 人氣()