내 Debian Jessie 컴퓨터에 설치하고 싶은 FreeBSD 11 qcow2 이미지가 있습니다. Debian Jessie가 포함된 다른 qcow2 이미지가 있고 libguestfs-tools를 사용하여 호스트의 이미지에 파티션을 마운트할 수 있습니다. Debian Jessie qcow2의 경우 일반적으로 다음과 같은 작업을 수행하며 예상대로 작동합니다.
guestmount -a <qcow2 image> -m <parition to mount in the image> --ro <mount point>
그러나 FreeBSD 이미지에 동일한 작업을 수행하면 오류가 발생합니다.
root@bonddtest:/home/igw/bondd_testbed/ooo# guestmount -a ../shaper.qcow2 -m /dev/gpt/rootfs --ro /mnt
libguestfs: error: mount_options: mount_options_stub: /dev/gpt/rootfs: No such file or directory
guestmount: '/dev/gpt/rootfs' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
guestmount: /dev/sda1 (unknown)
guestmount: /dev/sda2 (unknown)
guestmount: /dev/sda3 (ufs)
다른 세 가지 분할 제안을 시도했지만 모두 동일한 오류가 발생했습니다. 파일 시스템 유형의 차이로 인해 작동하지 않습니까? 마운트하려는 FreeBSD 파티션은 UFS이고 마운트 지점은 EXT4 파티션에 있습니다.
답변1
나는 위의 Ridgy의 제안을 결합하고 여기에서 제안한 대로 qemu-nbd 유틸리티를 사용하여 이 작업을 수행하는 방법을 알아냈습니다.블로그:
FreeBSD qcow2 파일을 NBD 장치에 연결합니다:
qemu-nbd -c /dev/nbd0 qcow2_file
NBD 장치에서 마운트할 파티션을 결정합니다. 나는 lslbk를 사용했다:
root@host:# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom nbd0 43:0 0 21G 0 disk ├─nbd0p3 43:3 0 20G 0 part ├─nbd0p1 43:1 0 62.5K 0 part └─nbd0p2 43:2 0 1G 0 part
내 qcow2 이미지 크기는 20G이므로 nbd0p3을 선택하여 마운트합니다.
NBD 장치 파티션을 마운트 지점에 마운트합니다.
마운트 -r -t ufs -o ufstype=ufs2 /dev/nbd0p3 /mnt
참고: qcow2 이미지를 읽기 전용으로 설치하는 것이 가장 좋습니다. 그렇지 않으면 이미지가 손상될 수 있습니다.