トップ 一覧 置換 検索 ヘルプ RSS ログイン

ddコマンドの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://x68000.q-e-d.net/~68user/unix/pickup?dd
!!!例
!ディスクコピー
 dd if=/dev/hda of=/dev/hdb bs=32M
hda がコピー元
hdb がコピー先
bs のサイズは環境に合わせる。省略しても動くけど、遅いことがある

コピー先は、コピー元以上のサイズでなければならない。
(FAT32、ext3などのファイルシステムに左右されない)

!lzop で圧縮してバックアップ、リストア
http://blog.dc-d.jp/?p=600
バックアップ
 dd if=/dev/sda | lzop -c > /mnt/sdc1/sda.img.lzo 

リストア
 lzop -dc < /mnt/sdc1/sda.img.lzo | dd of=/dev/sda 

!gzip で圧縮してバックアップ、リストア
圧縮率は lzop より高いが、速度が遅い。
バックアップ
 dd if=/dev/sda | gzip -c > /mnt/sdc1/sda.img.gz

リストア
 gzip -dc < /mnt/sdc1/sda.img.gz | dd of=/dev/sda

!ファイル作成
 dd if=/dev/zero of=/swapfile bs=1M count=1024
 dd if=/dev/zero of=50mb bs=1M count=50
とりあえず、bs は困ったら 1M くらいが無難。

!MBRバックアップ
 dd if=/dev/hda of=$backdata/mbr.img bs=512 count=1
!MBRリストア
 dd if=mbr.img of=/dev/hda bs=446 count=1

!!!途中経過を表示する
 kill -USR1 プロセス番号
で、dd の途中経過を表示できる


!!!主要オプション一覧
,,
,if=[ファイル],入力ファイル (デバイス)。指定しないと標準入力。
,of=[ファイル] ,出力ファイル (デバイス)。指定しないと標準出力。
,bs=[サイズ] ,入出力のブロックサイズを指定。ibs と obs の両方に同じ値をセットする場合に使用する。
,ibs=[サイズ] ,入力のブロックサイズを指定
,obs=[サイズ] ,出力のブロックサイズを指定
,count=[ブロック数] ,コピーするブロック数を指定
,conv=変換オプション ,"変換オプションを指定 (後述)。conv=hoge,fuga などと複数指定も可能。"
,seek=[ブロック数] ,出力の開始位置を指定されたブロックに移動してからコピーする
,oseek=[ブロック数] ,FreeBSD では seek と同じ。Solaris では違うっぽい…?
,skip=[ブロック数] ,入力の開始位置を指定されたブロックに移動してからコピーする
,iseek=[ブロック数] ,FreeBSD では skip と同じ。Solaris では skip より速いと書いてある…?

サイズには数字のほか、k・m・g などの単位を指定できる (ブロック数にも使えるけど混乱するかも)。
,,
,bs=1,1バイト
,bs=1b,512バイト (b はバイトではなくブロック)
,bs=1k,1KB
,bs=1m,1MB
,bs=1g ,1GB

{{category2 OS,Linux}}