在qcow2映像中访问linux guest OS文件系统

我附加虚拟机qcow2图像来访问文件里面:

modprobe nbd max_part=63 qemu-nbd -n -c /dev/nbd0 /var/lib/libvirt/images/vm-image.qcow2 

扫描卷组vgscan

读取所有物理卷。 可能还要等一下…
找不到卷组

fdisk -l /dev/nbd0只显示一个分区/dev/nbd0p1

当然,当我尝试mount /dev/nbd0p1 /mnt我得到了以下结果:

NTFS签名丢失。
无法装入“/ dev / nbd0p1”:无效的参数
设备“/ dev / nbd0p1”似乎没有有效的NTFS。

同时,如果我启动到虚拟机LVM分区存在,系统看起来像确定。 我认为主机操作系统是好的,因为基于qemu-nbd的访问qcow2映像的解决scheme对于LVM所在的其他访客映像(访客操作系统与同一个Linux分配版本略有不同)运行良好。

也试过qemu-img check /var/lib/libvirt/images/vm-image.qcow2

在图像上没有发现错误。

那么访问/激活guest虚拟机操作系统的LVM会出现什么问题呢?

或者看看guestfish , guestmont或virt-copy-out (都来自libguestfs.org )。

物理卷可能没有被初始化(udev)。 尝试这个:

 modprobe nbd max_part=63 qemu-nbd -n -c /dev/nbd0 /var/lib/libvirt/images/vm-image.qcow2 partprobe /dev/nbd0 vgscan --cache vgchange -ay