디스크 이미지를 더 작은 디스크에 복사할 수 있나요?

디스크 이미지를 더 작은 디스크에 복사할 수 있나요?

좀 더 자세히 설명하겠습니다(이 문제는 더 많은 상황에 적용되지만). 512GB mSATA 디스크의 복제 이미지가 있는데 실제로는 OS에서 사용하는 10GB에 도달하지 않습니다(나머지는 여유 공간으로). 반면에 이 이미지를 256GB 디스크와 mSATA에 복사하고 싶습니다.

콘텐츠가 있는 디스크 부분만 복사하도록 dd에 지시하는 방법이 있습니까?

복제 및 복사에 사용하는 명령은 다음과 같습니다.

dd bs=512K if=/dev/sdx | gzip -c  > /image.img.gz
zcat /image.img.gz | cp --sparse=always /dev/stdin mini.img

설치하고 수정한 mini.img후 다음을 수행했습니다.

dd bs=512K if=mini.img of=/dev/sdy

물론 비슷한 크기의 디스크에서 하면 문제가 없습니다. 하지만 맨 아래 디스크에서 이 작업을 수행하면 오류가 발생하지 않고 종료됩니다.

하지만 OS를 부팅하려고 하면 다음과 같은 문제가 발생합니다.

[...]
Begin: Running /scripts/iniy-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... Volume group "ubuntu-vg" not found
  Cannot process volume group ubuntu-vg
done.
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: error opening /dev/md?*: No such file or directory
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
mdadm: No arrays found in config file or automatically
done.
Gave up waiting for root file system device. Common problems:
  - Boot args (cat /proc/cmdline)
    - Check rootdelay= (did the system wait long enought?)
  - Missing modules (cat /proc/modules; ls /dev)
ALERT!  /dev/mapper/ubuntu--vg-ubuntu--lv does not exist. Dropping to a shell!

BusyBox v1.30.1 (Ubuntu 1:1.30.1-7ubuntu3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) 

관심이 있다면 로컬 디스크가 마운트되었을 때 LVM2가 있는 Ubuntu였기 때문에 다음을 수행했습니다.

kpartx -a -v mini.img
vgscan
vgchange -ay
lvdisplay
mount /dev/ubuntu-vg/ubuntu-lv /mnt/ubuntu

관련 정보