2 filesystem kvm virtualization qemu
我需要查看 QEMU/KVM(virt-manager作为 GUI)Ubuntu VM的文件系统,并实时更新信息。尽管我需要从 VM(在主机中)外部查看此信息。也就是说,从虚拟机内部查看它是不可行的,而是从主机查看。有没有办法做到这一点?主机和来宾都将是带有 GNOME 3.22 的 Ubuntu GNOME 16.10。
虽然这是为了渗透测试的目的,但来宾可能会有所不同,尽管它可能仅在 Ubuntu 风格之间。
在 virt-manager 中,您可能会在 VM/磁盘的配置中找到相应文件的路径(类似于“源路径”);默认路径是/var/lib/libvirt/images/. 找出虚拟磁盘映像的名称。
假设图像路径是/var/lib/libvirt/images/disk1.qcow2(我假设这里是qcow2 格式)。
首先,libguestfs-tools在主机上安装:
sudo apt-get install libguestfs-tools
然后,您可以通过以下方式挂载虚拟磁盘
sudo guestmount -a <image-file> -m <device> --ro /mnt
其中<image-file>表示磁盘映像的完整路径和<device>要挂载的分区的设备名称。如果您不知道设备名称,您可以提供任何名称以列出有效设备,例如
sudo guestmount -a /var/lib/libvirt/images/disk1.qcow2 -m any --ro /mnt
这会给你类似的东西
libguestfs: error: mount_options: mount_options_stub: any: expecting a device name
guestmount: 'any' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
guestmount: /dev/sda1 (ext2)
guestmount: /dev/sda2 (ext2)
Run Code Online (Sandbox Code Playgroud)
要挂载第一个分区,然后发出
sudo guestmount -a /var/lib/libvirt/images/disk1.qcow2 -m /dev/sda1 --ro /mnt
现在您可以在 /mnt 中以只读模式访问文件系统。
重要提示:以这种方式挂载正在运行的 VM 的磁盘时,您必须指定“--ro”,这意味着只读,否则文件系统可能会损坏。
如果有多个磁盘,您可以输入虚拟域的名称,而不是使用虚拟磁盘文件的名称。假设您的虚拟域名是myvm,您可以发出
sudo guestmount -d myvm -m any --ro /mnt
什么会给你类似的东西
guestmount: 'any' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
guestmount: /dev/sdb (iso9660)
guestmount: /dev/sda1 (ext4)
guestmount: /dev/sda2 (unknown)
guestmount: /dev/sda5 (swap)
guestmount: /dev/sdc1 (ext4)
guestmount: /dev/sdc2 (unknown)
guestmount: /dev/sdc5 (swap)
guestmount: /dev/sdd1 (ext2)
guestmount: /dev/sdd2 (ext2)
Run Code Online (Sandbox Code Playgroud)
所以现在挂载 /dev/sdc1 (从你的虚拟机的角度看)你可以发出
sudo guestmount -d myvm -m /dev/sdc1 --ro /mnt
这应该可以解决问题。
| 归档时间: |
|
| 查看次数: |
6573 次 |
| 最近记录: |