64 GBのLinuxディスクイメージで、パーティション全体で約50 GBの未使用スペースがあります。ファイルはスパースなので、ディスク上で約14 GBしかかかりません。
しかし、イメージをdd
すると、64 GB全体が書き込まれるため、かなり時間がかかります。
50 GBのゼロを書き込まなくても、このイメージでdd if=os.img of=/dev/sdb
と同等のことができる方法はありますか?
これを行うのに十分スマートなツール、つまりEXT4ファイルシステムを認識するイメージングツールはありますか?
dd
はこれを処理できます。追加する必要がありますconv=sparse
をコマンドラインに追加します。
Manページから:
try to seek rather than write the output for NUL input blocks
ボリューム全体のmksquashfs
を作成する代わりに、dd
を使用して読み取り専用コピーを作成することを検討します。これにより、データがさらに圧縮および重複排除されます。
評価する必要があることに注意してください。使いやすさは特定のユースケースによって異なります。
ディスクイメージ全体を持っているので不便ですが、次のことができます。
os.img
にパーティションをリストし、/dev/sdb
に作成しますe2image -aro 1048576 os.img /dev/sdb1
MBRがある場合、これはMBRを処理しません。 /bin/dd if=os.img of=/dev/sdb bs=512 count=1
がそれを行います。
注:linux.die.netのe2imageマニュアルページは古くなっています。バイオニックインストールから:
SYNOPSIS
e2image [ -r|Q ] [ -f ] device image-file
e2image -I device image-file
e2image -ra [ -cfnp ] [ -o src_offset ] [ -O dest_offset ] src_fs [ dest_fs ]