ディスクイメージが完全なディスクイメージであるか、単なるパーティションであるかによって異なります。
パーティションの洗浄
ディスクが良好な動作状態にある場合、ディスクの空きスペースをゼロで洗浄すると、圧縮率が向上します。ディスクに障害がある場合は、この手順をスキップしてください。
ディスク全体をイメージングする場合は、ディスク上の各パーティションを洗浄する必要があります。
注意:パーティション自体ではなく、マウントされたパーティション内のファイルに設定するof
ように注意してください!
mkdir image_source
sudo mount /dev/sda1 image_source
dd if=/dev/zero of=image_source/wash.tmp bs=4M
rm image_source/wash.tmp
sudo umount image_source
パーティションイメージの作成
mkdir image
sudo dd if=/dev/sda1 of=image/sda1_backup.img bs=4M
どこsda
がデバイスの名前で1
あり、パーティション番号です。別のデバイスまたはパーティションをイメージする場合は、システムに応じて調整してください。
ディスク全体のイメージを作成する
mkdir image
sudo dd if=/dev/sda of=image/sda_backup.img bs=4M
sda
デバイスの名前はどこにあります。別のデバイスのイメージを作成する場合は、システムに応じて調整してください。
圧縮
完全な非圧縮画像を含む「squashfs」画像を作成します。
sudo apt-get install squashfs-tools
mksquashfs image squash.img
ストリーミング圧縮
別の一時ファイルをディスクのフルサイズにすることを避けるために、squashfsイメージにストリームすることができます。
mkdir empty-dir
mksquashfs empty-dir squash.img -p 'sda_backup.img f 444 root root dd if=/dev/sda bs=4M'
圧縮パーティションイメージのマウント
最初にsquashfsイメージをマウントしてから、マウントされたsquashfsイメージに保存されているパーティションイメージをマウントします。
mkdir squash_mount
sudo mount squash.img squash_mount
圧縮されたイメージがマウントされたので、イメージ自体をマウントします(squashfsイメージ内)。
mkdir compressed_image
sudo mount squash_mount/sda1_backup.img compressed_image
これで、イメージがにマウントされましたcompressed_image
。
編集:この時点で(コンテンツを参照/読み取りするためにマウントするのではなく)単にディスクイメージをパーティションに復元する場合は、を実行するのではなくdd
、イメージをsquash_mount/sda1_backup.img
宛先に配置しますmount
。
圧縮されたフルディスクイメージのマウント
これには、kpartxというパッケージを使用する必要があります。kpartxを使用すると、個々のパーティションをフルディスクイメージにマウントできます。
sudo apt-get install kpartx
最初に、フルディスクイメージを含むスカッシュパーティションをマウントします
mkdir compressed_image
sudo mount squash.img compressed_image
次に、フルディスクイメージの各パーティションにデバイスを作成する必要があります。
sudo kpartx -a compressed_image/sda_backup.img
これにより、フルディスクイメージのパーティションにデバイスが作成されます。/dev/mapper/loopNpP
ここで、Nはループバックデバイスに割り当てられた番号で、Pはパーティション番号です。例:/dev/mapper/loop0p1
。
これで、完全なディスクイメージに個々のパーティションをマウントする方法があります。
mkdir fulldisk_part1
sudo mount /dev/mapper/loop0p1 fulldisk_part1
SquashFS
この種のものに使用する必要があります。また、重複したファイルを重複排除します。