いざという時のために、データはこまめにバックアップしておくことが必要です。ここでは、ハードディスクをシステムごと全てバックアップすることができるdd
コマンドについて解説していきます。
|
|
■方法1:dd コマンドによるバックアップ
dd コマンドの使い方は至って簡単です。if= にコピー元のHDDを指定し、of= にコピー先のHDDを指定します。HDDをまるごと複製したい場合に重宝します。この手順でHDDを複製した場合、パーティションの切り方なども全く同じ構成のディスクができあがりますので、コピー元とコピー先のHDD
容量は同容量である必要があります(コピー先のほうが容量が大きい場合は、残った領域は空領域となります)。
# dd if=/dev/hda
of=/dev/hdb
コピー元 コピー先 |
|
なお、HDDの容量不足などの理由で、より容量の大きいHDDへデータを移動したい場合(パーティションの切り方を、コピー元とコピー先で変更したい場合)などには、dump
とrestore などのコマンドが推奨されます。
◎オプション
|
bs |
一度のI/O操作で転送されるデータサイズ(bytes)を指定 |
|
ibs=bytes |
一度に指定したバイトのブロックを読み込む。デフォルトは512byte |
|
obs=bytes |
一度に指定したバイトのブロックを書き込む。デフォルトは512byte |
|
skip=blocks |
入力ファイルの先頭から指定したブロックをスキップする |
|
seek=blocks |
出力ファイル中の指定したブロックをスキップする |
|
count |
入力から出力へ指定したブロックをコピーする |
|
ファイルをフロッピーディスクに複製するには、
# dd if=/tmp/fdd.img
of=/dev/fd0 |
|
フロッピーディスクからHDD にコピーするには、if と of の指定を逆にします。
# dd if=/dev/fd0
of=/tmp/fdd.img |
|
カーネルのコピーをとるには以下のようにします。
# dd if=/boot/vmlinuz
of=/dev/fd0 |
|
CD-ROMのイメージファイルの作成には以下のようにします。この時、ファイルシステムを通さずにデバイスから直接データを受け取るため、CD-ROMをマウントしている必要はありません。
# dd if=/dev/cdrom
of=cdrom.iso |
|
MBR(ディスクの先頭512bytesのデータ)をコピーするには、
# dd if=/dev/hda
of=mbr.img bs=512 count=1 |
|
■HDDのデータを完全消去
dd コマンドはイメージの複製以外にも、HDD を完全に消去することもできます。ゼロ(zero)をディスク全体に書き込むことでデータを完全に抹消します。消去の対象となるのは、ディスク全体かパーティション全体になります。プライマリマスターのHDD全体を消去するには下記のコマンドを打ち込みます。
# dd if=/dev/zero
of=/dev/hda |
|
より安全にデータを消去したい場合は、以下のように乱数を生成する仮想デバイス/dev/urandom からのランダムデータを2回ほどHDDに書き込み、最後にもう一度/dev/zero
でゼロを出力します。
# dd if=/dev/urandom
of=/dev/hda
# dd if=/dev/urandom of=/dev/hda
# dd if=/dev/zero of=/dev/hda |
|