qcow2镜像
步骤1 - 在主机上启用NBD
modprobe nbd max_part=8
步骤2 - 将QCOW2文件连接为网络块设备
qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2
步骤3 - 列出QCOW2文件中的分区
fdisk /dev/nbd0 -l
步骤4 - 挂载虚拟机中的分区
mount /dev/nbd0p1 /mnt/somepoint/
你也可以使用普通用户权限(非root)来挂载文件系统:
mount /dev/nbd0p1 /mnt/somepoint -o uid=$UID,gid=$(id -g)
步骤5 - 完成后,卸载并断开连接
umount /mnt/somepoint/ qemu-nbd --disconnect /dev/nbd0 rmmod nbd
raw镜像
查看RAW镜像中的分区信息
首先,使用 fdisk 或 parted 查看RAW镜像中的分区信息,以确定要挂载的分区。
fdisk -l /path/to/your/image.raw
这将列出镜像文件中的分区信息。找到你需要挂载的分区,例如 /dev/loop0p1。
将RAW镜像文件关联到loop设备
使用 losetup 命令将RAW镜像文件关联到一个loop设备上。
losetup -fP /path/to/your/image.raw
-f 选项会自动查找一个未使用的loop设备,-P 选项会自动扫描分区并创建相应的设备文件。
挂载分区
使用 mount 命令挂载你需要的分区到指定的挂载点。
mount /dev/loop0p1 /mnt/somepoint/
如果你使用的是 losetup -fP 命令,那么分区设备名可能是 /dev/loop0p1,具体根据前面 losetup 关联的设备号而定。
卸载RAW镜像文件
卸载分区
在完成操作后,使用 umount 命令卸载分区。
umount /mnt/somepoint/
断开loop设备
使用 losetup 命令断开loop设备与RAW镜像文件的关联。
losetup -d /dev/loop0