需求
- qemu ( qemu-nbd )
- WSL2虚拟硬盘文件(一般为.vmdk)
方法
qemu 安装比较繁琐,不同发行版也偏向不同的安装方法,这里不赘述。
利用 qemu-nbd
工具将虚拟机镜像挂载到Linux上,nbd是网络块设备(Network Block Device)的缩写,虚拟机硬盘本质上是块设备(block/raw)的集合。
本质上所有的虚拟机镜像都可以通过该工具挂载到Linux中,如果虚拟硬盘并非LVM且文件系统类型是Linux支持的类型(如ext4, ntfs)基本上不需要额外操作,若是LVM需要一些额外的操作。WSL2并非LVM且采用了(现代)Linux兼容性最高的ext4,故只需要几行命令即可。
首先,WSL2镜像一般在C:\Users\frnks\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
路径,移动到Linux文件系统中进行操作。
接下来终端命令如下:
1 | lsmod | grep nbd # 检查nbd模块是否开启 |
Pretty easy right? 又水了一篇文章(((
挂载了就得安全卸载:
1 | fuser -k # 查看文件占用 |
参考
https://linux.die.net/man/8/mount
https://superuser.com/questions/915615/mount-vmware-disk-images-under-linux