使用libguestfs挂载qcow2磁盘镜像
挂载qcow2磁盘镜像的第一种方法是使用 libguestfs,它提供了一系列工具来访问和编辑 VM 磁盘镜像。libguestfs 支持几乎所有类型的磁盘镜像,包括 qcow2。你可以像下面这样,在Linux上安装libguestfs工具集。
1、安装guestmount工具
在基于 Debian 的系统上:sudo apt-get install libguestfs-tools
在基于 Red Hat 的系统上:sudo yum install libguestfs-tools
2、命令guestmount的全部参数选项如下:
一旦 libguestfs安装完成,你可以像下面这样使用称为 guestmount 的命令行工具挂载一个qcow2磁盘镜像。注意,当VM运行时,你一定不能以 "read-write" 模式挂载它的磁盘镜像。否则,你就有损坏磁盘镜像的风险。这样,在挂载 VM 的磁盘镜像关闭它总是安全的。
3、操作实例
3.1挂载一个 qcow2 格式的磁盘镜像
$ sudo guestmount -a /path/to/qcow2/image -m /path/to/mount/point
"-m " 用于指定磁盘镜像内,你想要挂载的分区(比如,/dev/sda1)。如果你不确定磁盘镜像内有什么分区,你可以任意提供一个无效的设备名。
guestmount 工具将为你展示所有你可以选择的设备名字。如:
在这个例子中,磁盘镜像文件中可选的磁盘设备只有 /dev/sda,文件系统为 vfat。
3.2 挂载磁盘镜像userdata-qemu.img.qcow2内的/dev/sda
要挂载磁盘镜像userdata-qemu.img.qcow2的/dev/sda,挂载点为为 qcow2_mount_point,则执行如下命令:
$mkdir qcow2_mount_point #创建挂目录
$ sudo guestmount -a userdata-qemu.img.qcow2 -m /dev/sda qcow2_mount_point
默认情况下,磁盘镜像将以 "read-write" 模式挂载。因此在挂载之后你可以修改 qcow2_mount_point 目录下的任何文件。
3.3 以"read-only"模式挂载userdata-qemu.img.qcow2内的/dev/sda
$ sudo guestmount -a userdata-qemu.img.qcow2 -m /dev/sda --ro qcow2_mount_point
3.4 以虚拟机名进行挂载
$ guestmount -d vm_name -i qcow2_mount_point
3.5要卸载它,则执行:
$ sudo guestunmount qcow2_mount_point
或
umount qcow2_mount_point