Clonezillaはdd
舞台裏で使用します。
ディスクとパーティションについて
ディスク全体はのようなデバイスです/dev/sda
。これは、最初のディスクであり、第二のディスクである/dev/sdb
、第三/dev/sdc
、等IDEケーブルを介して接続された古いディスクは同様に命名されhda
、hdb
...ディスクのような複数のパーティションを持つことができます/dev/sda1
。ディスク上の第二パーティションが/dev/sda
ある/dev/sda2
というように。イメージ(バイトのリテラルコピー)は、パーティションとディスクの両方から作成できます。ディスクの最初の512バイトにはMBR(マスターブートレコード)が含まれていることに注意してください。
イメージの作成または復元時にパーティションをマウントしないでください。マウントしないと、パーティションからの読み取り時にデータの損失(イメージの作成)が発生する場合があります。
以下の例で/dev/sda1
は、イメージの作成元のパーティションです。
パーティションとディスクデバイスは/dev
、スーパーユーザー(root)とdisk
グループのユーザーのみが書き込み可能です。すべてをルートとして実行するのは嫌いなので、安全のために(たとえばタイプミスをした場合)、グループを一時的に自分自身に変更して、読み書きできるようにします。
sudo chgrp my_user_name /dev/sda1
上記のコマンドをスキップする場合、以下のdd
コマンドの前にを付ける必要がありますsudo
。
基礎
パーティションからイメージを作成するための基本的なコマンドは次のとおりです。
dd if=/dev/sda1 of=disk.img
if
「入力ファイル」をof
意味し、「出力ファイル」を意味します。Linuxのすべてはファイルであり、デバイスですらあります。
そのようなイメージを復元するには、次を実行します。
dd if=disk.img of=/dev/sda1
順序は関係ありませんdd of=/dev/sda1 if=disk.img
。上記も同様に記述できます。
圧縮画像
パーティションは一般に大きいため、イメージに書き込む前にデータを圧縮することをお勧めします。
dd if=/dev/sda1 | gzip > disk.img.gz
これが機能するのof
は、省略した場合、出力が圧縮プログラムへのパイプである「標準出力」に書き込まれるためgzip
です。その出力はに書き込まれdisk.img
ます。
このような圧縮イメージを復元するには、次を実行します。
gunzip -c disk.img.gz | dd of=/dev/sda1
ここに、gunzip
gzipの逆のコマンドがあります。コマンド-c
へのパイプである標準出力に出力が書き込まれdd
ます。if
は省略されているためdd
、入力はの出力である「標準入力」から読み取られgunzip
ます。
復元せずにイメージから読み取る
非圧縮イメージをマウントして、そこから読み取ることができます。パーティションイメージを圧縮した場合は、まずそれらを解凍します(disk.img.gz
削除され、disk.img
作成されます。十分なスペースを確保してください!)。
gunzip disk.img.gz
または、画像自体に触れずに画像を圧縮解除します。
gunzip -c disk.img.gz > disk.img
次に、ディスクをマウントできるディレクトリを作成し、イメージを読み取り専用でマウントします(ro
)。
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
これで、ファイルをで表示できます/mnt/wind
。完了したら、マウントを解除し、廃止されたマウントポイントを削除します。
sudo umount /mnt/wind
sudo rmdir /mnt/wind
小さいサイズ、より多くのCPU使用率、より長いバックアップおよび復元期間
時間が問題にならず、ストレージスペースがあまりない場合は、bzip2
圧縮形式を使用できます。上記で単純に置き換えgzip
てくださいbzip2
。.bz2
bzip2で圧縮されたファイルには拡張子を使用するのが一般的ですので、そうしてください。