
내 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 이미지를 읽기 전용으로 마운트하는 것이 가장 좋습니다. 그렇지 않으면 이미지가 손상될 수 있습니다.