Linux上挂载虚拟磁盘

通过qemu实现

NBD(Network Block Device ,网络块设备) ,可以将一个远程主机的磁盘空间(与挂载nfs有区别),当作一个本地块设备来使用。NBD是一个内核模块,大部分不需要再安装了。

sudo modprobe nbd max_part=8

max_part=8 : 指定了 NBD 设备最多可以有 8 个分区

modinfo nbd
# 查看nbd设备
ls /dev/nbd*
sudo qemu-nbd -c /dev/nbd0 /path/to/file.vhdx

# 查看分区信息
sudo fdisk -l /dev/nbd0
sudo qemu-nbd -d /dev/nbd0
sudo mount -t exfat -o rw  /dev/nbd0p1 /mnt

# 卸载
sudo umount /mnt

通过vdfuse实现

vdfuse 是一个用于挂载 VirtualBox 硬盘镜像文件(.vdi、.vmdk 等)的 FUSE(文件系统用户空间)模块。FUSE 允许非特权用户在不修改内核代码的情况下创建自己的文件系统。vdfuse 使得用户能够在 Linux 系统中像访问普通文件夹一样访问 VirtualBox 虚拟硬盘镜像中的内容。

使用 vdfuse,用户可以挂载 VirtualBox 虚拟磁盘镜像,从而能够查看和修改其中的文件。这在备份虚拟机数据、进行系统恢复或者在虚拟机和宿主机之间传输文件时非常有用。

vdfuse 支持 VirtualBox 创建的虚拟磁盘镜像格式,包括以下几种:vdi、vmdk、vhd、hdd、qcow、qed、raw等,可使用 vdfuse --help 来获取最新的支持信息和命令行选项。

sudo vdfuse -f /path/to/file.vdi /path/to/mountpoint
sudo mount /path/to/mountpoint

通过vmware-mount实现

vmware-mount 是 VMware Workstation 的一个命令行工具,它允许用户在宿主操作系统上挂载和访问 VMware 虚拟机的虚拟磁盘文件。这个工具对于备份、恢复或直接编辑虚拟机磁盘中的文件非常有用。

vmware-mount 支持多种 VMware 磁盘格式,包括 VMDK(Virtual Machine Disk)格式,这是 VMware 最常用的磁盘文件格式。

vmware-mount 支持的一些常见虚拟磁盘格式:vmdk、vmfs、vdi、vhd、raw等,可使用 vmware-mount -h 命令来获取最新的帮助信息和确认支持的格式。

sudo vmware-mount /path/to/file.vmdk /path/to/mountpoint
sudo mount /path/to/mountpoint