对于一般的linux发行版执行下面命令。PVE自带这些工具,直接略过
#首先安装
sudo apt-get install qemu-utils
或者
sudo yum install qemu-img
第一步:开启nbd
modprobe nbd max_part=8
第二步:挂载虚拟磁盘
#代码如下
qemu-nbd --connect=/dev/nbd1 /path/to/qcow2/image
#解释 /dev/nbd1就是磁盘名,例如/dev/sda
#注意的是这个nbd后面必须加个数字序号,可以1,可以是2。否则报错
qemu-nbd: Failed to open /dev/nbd: No such file or directory
#/path/to/qcow2/image 就是磁盘位置
#使用演示
1、qcow2位置/mnt/pve/nvme960/images/107/vm-107-disk-0.qcow2
2、磁盘名为nbd
#挂载虚拟磁盘
qemu-nbd --connect=/dev/nbd2 /mnt/pve/nvme960/images/107/vm-107-disk-0.qcow2
#使用fdisk查看磁盘
fdisk -l |grep nbd2
#可以看到如下信息
#Partition 1 does not start on physical sector boundary.
#Disk /dev/nbd2: 32 GiB, 34359738368 bytes, 67108864 sectors
#/dev/nbd2p1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
#/dev/nbd2p2 206848 67106815 66899968 31.9G 7 HPFS/NTFS/exFAT
#此时的虚拟磁盘就挂载成功了。可以看到2个分区。我这里挂载的是一个win7的镜像。其中/dev/nbd2p2是win7系统所在分区。格式是NTFS
第三步挂载分区
#由于是NTFS需要安装ntfs-3g
apt install ntfs-3g -y
#新建挂载点
mkdir /win7
#挂载/dev/nbd2p2 到/win7
mount /dev/nbd2p2 /win7
#查看挂载情况
df -h |grep win7
#输出如下
/dev/nbd2p2 32G 24G 8.9G 73% /win7
#直接进入文件夹去看看
root@pve:/win7# ls
'$Recycle.Bin' pagefile.sys 'Program Files' 'System Volume Information'
'Documents and Settings' PerfLogs 'Program Files (x86)' Users
hiberfil.sys ProgramData Recovery Windows
#挂载完,再新建一个文件夹试试
mkdir 1
第四步卸载
1、先卸载分区
umount /win7
2、卸载磁盘
qemu-nbd --disconnect /dev/nbd2
第五步 大功告成
可以看到有个文件夹1
