在 Linux 系统中,qcow2(QEMU Copy On Write)是一种常用的虚拟机磁盘镜像格式,如果你在 Ubuntu 上下载了一个 .qcow2 文件,通常有两种需求:一种是想启动这个虚拟机,另一种是想挂载它来访问其中的文件。
本文将重点介绍如何在 Ubuntu 上挂载并访问 qcow2 文件,这是最常用的场景。
前提准备
在开始之前,你需要确保系统已安装处理 qcow2 格式所需的工具,打开终端,运行以下命令:

sudo apt update sudo apt install qemu-utils
使用 qemu-nbd 挂载(推荐)
qemu-nbd(Network Block Device)工具可以将 qcow2 镜像映射为本地的一个块设备(如 /dev/nbd0),然后你可以像使用 U 盘一样使用 mount 命令来挂载它。
第一步:加载内核模块
你需要加载 NBD 内核模块,并设置最大分区数(防止镜像分区过多导致无法挂载)。
sudo modprobe nbd max_part=8
第二步:连接镜像文件
使用 qemu-nbd 将 qcow2 文件连接到 /dev/nbd0。
sudo qemu-nbd -c /dev/nbd0 /path/to/your/image.qcow2
注意:请将 /path/to/your/image.qcow2 替换为你实际的文件路径。
第三步:查看分区
连接成功后,系统会识别出设备,你可以使用 lsblk 或 fdisk 查看里面有哪些分区。
lsblk /dev/nbd0
qcow2 镜像会有一个主分区(/dev/nbd0p1)。
第四步:挂载分区
假设你看到分区是 /dev/nbd0p1,并且文件系统是 ext4(常见的 Linux 文件系统),你可以这样挂载:
sudo mkdir -p /mnt/qcow2_mount sudo mount /dev/nbd0p1 /mnt/qcow2_mount
你可以在 /mnt/qcow2_mount 目录下看到 qcow2 镜像内的文件了。
第五步:卸载并断开连接
操作完成后,务必先卸载,再断开连接,以防止数据损坏:
sudo umount /mnt/qcow2_mount sudo qemu-nbd -d /dev/nbd0
使用 guestmount(更简单的挂载)
如果你不想手动处理分区识别和卸载,可以使用 libguestfs-tools 中的 guestmount 工具,它会自动处理底层的块设备操作。
安装工具
sudo apt install libguestfs-tools
挂载
guestmount 可以

