Linux 시스템의 이미지를 만들고 싶습니다. 64GB SD 카드가 있는데 시스템이 11GB만 차지합니다. dd 명령, Win32DiskManager 등은 모두 11GB보다 훨씬 큰 64GB 원시 이미지를 생성합니다.
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 카드가 하나 더 있는데 전체 시스템을 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