원문 보기: https://dawoum.duckdns.org/wiki/QEMU/Moving_partitions
QEMU 아래에 설치된 Debian은 설치에서 BIOS, UEFI에 따라, 그리고 설치 이미지에 따라 다르게 파티션이 존재합니다.
원래는 /boot/efi, swap, /boot 파티션 등이 별도로 존재했지만, 모든 파티션을 하나로 합쳐둔 상태입니다.
문제는 Btrfs을 사용하려면, /boot 디렉토리의 내용을 별도의 etx4 파티션으로 옮겨야 합니다. (아니면, grub에서 btrfs을 지원하는 패치가 있을지도)
그렇지 않으면, / 파티션을 btrfs으로 변환 후에 부팅이 되지 않을 수 있습니다.
현재 QEMU 아래에서 설치된 데비안은, 짐작하는데로, /boot/efi 파티션을 별도로 나누지 않았기 때문에, BIOS 펌웨어를 사용합니다.
먼저, GParted 이미지로 부팅합니다. 그런-다음
- Partition->Resize/Move
- Free space preceding (MiB) : 600M
- 체크 표시를 선택하면, 이전 사용하던 공간이 뒤로 밀립니다. (꽤 시간이 걸립니다)
- 그리고 /dev/vda2에 ext4 파티션으로 포맷됩니다.
- /dev/vda2에서 마운트 오른쪽 버튼을 클릭해서 Manage Flags를 누릅니다.
- boot를 선택합니다.
- shutdown
- booting debian
- sudo mount /dev/vda2 /mnt
- sudo cp -a /boot/* /mnt
- sudo umount /mnt
- sudo blkid /dev/vda2
- sudo vi /etc/fstab
- UUID=... /boot ext4 defaults,noatime 0 2
- sudo update-grub
- reboot debian live image
- Debian/Btrfs에 따라 변환을 진행할 수 있습니다.
BIOS 펌웨어 아래에서, 위에서 처럼, /boot 파티션을 600M 정도로 만들면, 데비안에서 제공하는 리눅스 커널 6.x 버전은 3개까지 설치할 수 있습니다.
따라서, 4번째 커널 이미지를 설치하기 위해, 이전 커널을 먼저 지워야 합니다.