在 qcow2 映像中访问 Linux 客户操作系统文件系统

在 qcow2 映像中访问 Linux 客户操作系统文件系统

我正在附加 VM 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 映像的基础解决方案对于其他同样存在 LVM 的客户映像也运行良好(客户操作系统是同一 Linux 发行版的略有不同的版本)。

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

图像上未发现任何错误。

那么访问/激活客户操作系统的 LVM 可能存在什么问题?

答案1

或者看看客鱼盖斯特蒙特或者虚拟拷贝输出(均来自libguestfs.org)。

答案2

物理卷可能存在未初始化 (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

相关内容