clonezilla img の sda パーティション番号を変更する

clonezilla img の sda パーティション番号を変更する

Linux システムを別のコンピューターから自分のコンピューターにコピーしたいです。その Linux システムは 2 つのパーティションを使用しています。("/" ともう 1 つ)

私は、clonezilla を使用して、これら 2 つのパーティションをコピーし、イメージに配置しました。しかし、クローンを作成すると、パーティション名は sda5 と sda7 のままになりました。コンピューターで Gparted を使用すると、すでに sda5 パーティションがあるため、clonezilla を使用すると、そのパーティションが消去され、他のパーティションがコピーされます。

これを回避する方法はありますか? img 内のパーティションの名前を変更するなどでしょうか?

答え1

次のように、両方のコンピューターで dd を使用することをお勧めします。

まず、そのパーティション内の未使用領域全体にゼロを書き込んで、古いデータと削除されたファイルを削除します。

dd if=/dev/zero of=/mnt/original_partition/zerofile bs=16M conv=fdatasync

パーティションに空き容量がなくなると、このコマンドは停止します。その後、ゼロファイルを削除します。

rm /mnt/original_partition/zerofile

これで、パーティションにはバイナリ レベルで必要なデータのみが存在するため、圧縮が簡単になります。次に、パーティションのバイナリ イメージを作成します。fdisk -l を使用してパーティション識別子を確認します (この例では /dev/sdb5 にします)。その識別子を次のコマンドで使用します。この例では、gzip ではなく pigz を使用していることに注意してください。pigz は gzip の並列実装であり、システムのすべてのコアを使用して操作を高速化します。

dd if=/dev/sdb5 bs=16M | pigz | dd of=/path/to/backup/storage/sdb5.img.gz bs=16M conv=fdatasync

これで、パーティションの圧縮バイナリ イメージができました。これを他のマシンに転送します。次に、fdisk を使用してパーティションを準備する必要があります (fdisk は非常に簡単に使用できます)。パーティションを必要な大きさにし、変更をディスクに書き込みます。パーティション /dev/sdb3 を作成したとします。

次に、次のコマンドを使用してバイナリ イメージを解凍し、新しいパーティションに書き込みます。

dd if=/path/to/backup/storage/sdb5.img.gz bs=16M | pigz -d | dd of=/dev/sdb3 bs=16M conv=fdatasync

このコマンドを実行すると、マウント コマンドを使用してコピーしたパーティションをマウントできるようになります。

mount /dev/sdb3 /mnt/copied-partition/

パーティションのサイズに注意してください。少なくとも元のサイズと同じ大きさである必要があります。

関連情報