私の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)
他の3つの分割提案を試しましたが、すべて同じエラーが発生しました。ファイルシステムの種類の違いにより動作しませんか?マウントする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イメージを読み取り専用でインストールするのが最善です。そうしないと、画像が損傷する可能性があります。