Linuxシステムのイメージを作りたいです。 64GBのSDカードがあり、システムは11GBのみを占めます。 ddコマンド、Win32DiskManagerなどは、すべて11GBよりもはるかに大きい64GBのrawイメージを生成します。
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 11G 46G 20% /
devtmpfs 430M 0 430M 0% /dev
tmpfs 462M 4.0K 462M 1% /dev/shm
tmpfs 462M 13M 450M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 462M 0 462M 0% /sys/fs/cgroup
/dev/mmcblk0p1 43M 25M 18M 59% /boot
tmpfs 93M 4.0K 93M 1% /run/user/1000
16GBのSDカードがもう1つありますが、システム全体を16GBのSDカードに転送したいと思います。後で16GBのSDカードに書き込むために11GBのimgファイルを作成することをお勧めします。
ベストアンサー1
64GBデバイスの画像を16GBカードに書き込めません。これは「イメージ」の意味と正面に矛盾する。
しかし、それはまったく問題ではありません。 Linuxはファイルシステム上のファイルにのみ興味があるので、次のようにしてください。
sudo mksquashfs /path/where/you/mounted/your/sdcard sdcard.squashfs -comp zstd
すべての属性を含む、すべてのファイル、ディレクトリ、シンボリックリンク、デバイスファイルなどの圧縮アーカイブを作成します。
後でアーカイブをインストールしたりudisksctl loop-setup -f sdcard.squashfs
、sudo mount -o loop sdcard.squashfs /mnt
内部を調べたり、そこからファイルをインポートしたりできます。
インストールと使用により、新しくフォーマットされた(ext4、F2FSなど)SDカードにすべてのファイルを復元することもできます。
sudo cp -ar /mnt/* /mount/point/of/sdcard
または単に実行する
sudo unsquashfs -d /mount/point/of/sdcard sdcard.squashfs