
Eu tenho uma imagem qcow2 do FreeBSD 11 que gostaria de montar em minha máquina Debian Jessie. Eu tenho outras imagens qcow2 que possuem Debian Jessie e sou capaz de montar partições na imagem no host usando libguestfs-tools. No caso do Debian Jessie qcow2, normalmente faço algo assim e funciona conforme o esperado:
guestmount -a <qcow2 image> -m <parition to mount in the image> --ro <mount point>
No entanto, quando faço o mesmo para uma imagem do FreeBSD, recebo um erro:
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)
Tentei as outras três sugestões de partição, mas todas resultaram no mesmo erro. Isso não está funcionando devido a diferenças nos tipos de sistema de arquivos? A partição FreeBSD que estou tentando montar é UFS, enquanto o ponto de montagem está em uma partição EXT4.
Responder1
Eu descobri como fazer isso, e é uma combinação da sugestão de ridgy acima e usando o utilitário qemu-nbd conforme sugerido nesteblog:
Conecte o arquivo qcow2 do FreeBSD ao dispositivo NBD:
qemu-nbd -c /dev/nbd0 qcow2_file
Determine a partição para montar o dispositivo NBD. Eu usei 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
Minha imagem qcow2 tem tamanho 20G, então escolhi nbd0p3 para montar
Monte a partição do dispositivo NBD em um ponto de montagem:
mount -r -t ufs -o ufstype=ufs2 /dev/nbd0p3 /mnt
Nota: É melhor montar a imagem qcow2 como somente leitura ou ela poderá ser corrompida.