
Tengo una imagen qcow2 de FreeBSD 11 que me gustaría montar en mi máquina Debian Jessie. Tengo otras imágenes de qcow2 que tienen Debian Jessie y puedo montar particiones en la imagen en el host usando libguestfs-tools. En el caso de Debian Jessie qcow2, normalmente hago algo como esto y funciona como se esperaba:
guestmount -a <qcow2 image> -m <parition to mount in the image> --ro <mount point>
Sin embargo, cuando hago lo mismo con una imagen de FreeBSD, aparece un error:
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)
Probé las otras tres sugerencias de partición, pero todas dan como resultado el mismo error. ¿Esto no funciona debido a diferencias en los tipos de sistemas de archivos? La partición FreeBSD que estoy intentando montar es UFS, mientras que el punto de montaje está en una partición EXT4.
Respuesta1
Descubrí cómo hacer esto, y es una combinación de la sugerencia anterior de Ridgy y el uso de la utilidad qemu-nbd como se sugiere en esteBlog:
Conecte el archivo qcow2 de FreeBSD al dispositivo NBD:
qemu-nbd -c /dev/nbd0 qcow2_file
Determine la partición para montar el dispositivo NBD. Yo usé 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
Mi imagen qcow2 tiene un tamaño de 20G, así que elegí nbd0p3 para montar
Monte la partición del dispositivo NBD en un punto de montaje:
montar -r -t ufs -o ufstype=ufs2 /dev/nbd0p3 /mnt
Nota: Es mejor montar la imagen qcow2 como de solo lectura o puede dañarse.