有时需要访问虚拟机硬盘,有些系统没有权限直接操作磁盘。
可以通过以下方法,先把虚拟机硬盘挂载到本地,然后就可以用任意访问了。
# 加载内核模块,加载后可以看到/dev/nbd0等
sudo modprobe nbd max_part=16
# 安装工具
sudo apt install qemu-utils
# 挂载虚拟机硬盘到设备文件上,根据虚拟硬盘分区情况,会出现/dev/nbd0p1 /dev/nbd0p2...等
sudo qemu-nbd -c /dev/nbd0 ~/VirtualBox\ VMs/ros/ros.vmdk
# 再选择分区挂载到磁盘目录
sudo mount /dev/nbd0p2 /mnt/
# 取消挂载,顺序执行以下命令
sudo umount /mnt
sudo qemu-nbd -d /dev/nbd0
以上在64位ubuntu 16.04和virtualBox 5.1.10实测成功。