完全に構成された Linux システムを 16GB の USB ドライブにインストールしています。同じブランド/タイプの USB ドライブが 10 個あり、まったく同じマザーボードが 10 個あります。
ここで、USB ドライブを他のシステムにコピーして、10 個のシステムで同じイメージを使用できるようにします。
私がやったことは、WinDiskImager32 を使用して USB ドライブのイメージを作成し、それを元の USB ドライブに書き戻すことでした。同じドライブなのでうまくいきましたが、他の USB ドライブに書き込もうとすると、イメージがそれらのドライブに対して大きすぎるため失敗しました。それらはすべて 16 GB ですが、実際にはもちろん常に小さな違いがあります。
明らかにこれは正しい方法ではないので、元の USB を正しく「複製」して他の USB に展開するにはどうすればよいのか疑問に思っています。
(注意: システムは新しいコンピュータにインストールされているという事実に対応するように構成されているため、ここでは問題にはなりません。正確なコピーを取得するだけで済みます)
アップデート
WesleyDavid の回答に基づいて、gparted でドライブをチェックし、元々 WinDiskImager32 を使用して 8GB デバイスからイメージをコピーしたことを思い出しました。そのため、パーティションはすでに十分に小さいです。
問題は、WindDiskImager がパーティションだけでなくドライブ全体をコピーすることです。
現在、「dd」ソリューションはパーティションのコピーのみでこれを修正していますが、ターゲット USB で ext2 と swap ファイルシステムの両方を取得するにはどうすればよいでしょうか?
ddを使用してデバイス全体をコピーすると、16GB全体が再びコピーされ、他のデバイスに収まらない場合があります。
アップデート2
WesleyDavidの提案どおりにddを使用すると、
説明されているようにddのcountパラメータを使用するだけで済みます。ここ
基本的には「fdisk -u -l /dev/sdb」を実行することを意味します(sdbをデバイスに置き換えます)
> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
>
> Device Boot Start End Blocks Id System
> /dev/sdb1 * 2048 13672447 6835200 83 Linux
> /dev/sdb2 13674494 15818751 1072129 5 Extended
> /dev/sdb5 13674496 15818751 1072128 82 Linux swap
私の場合、最後のパーティションの終わりは「15818751」なので、次のようにしました。
dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752
安全のためにもう 1 つ追加しました。これでインストールできるイメージができました。
答え1
最も簡単で実証済みのオプション: 念のため、gparted を使用してソース パーティションを 15 GB にします。次に、他の USB ドライブにクローンを作成します。
本質的には、これはクローンの問題ではなく、パーティション サイズの問題です。パーティション/ディスク サイズが最大サイズより十分小さい場合は、dd if=source of=destination
(Windows の場合) そのまま進んでください。