VirtualBox 从USB设备启动

工作需要从USB设备启动虚拟机进而装系统或是还原镜像,在VirtualBox的设置中没有找到相关选项,辗转搜索到这篇文章

这里的解决方案是,通过命令在主机将usb设备模拟成虚拟硬盘,然后在VirtualBox设置虚拟机的Storage选项,增加模拟盘并将usb模拟盘放在第一顺位,虚拟机启动时就会从这第一个盘引导了。

这里引导顺序还需要在System > Motherboard下的Boot order中将硬盘的顺序放在第一位(如果只有硬盘,那不设置这个选项也是可以的)。

1
2
3
4
sudo fdisk -l #查看设备信息,找到usb设备对应的设备文件,常见的可能是/dev/sdb,像/dev/sdb1这种是指向对应设备分区的文件。
ls -l /dev/sdb #查看设备文件的属性,主要是看权限方面的,一般是brw-rw---- root
sudo chmod o+rw /dev/sdb #增加others在该设备文件的读写权限,如果不这样设置,那么后面运行相应的命令都得使用sudo(以root身份执行)才有权限操作该设备文件
vboxmanage internalcommands createrawvmdk -filename ~/VMs/usb.vmdk -rawdisk /dev/sdb #将指定设备文件模拟成指定文件名的虚拟硬盘

经过这几步,我们已经成功将usb设备模拟成虚拟硬盘了,接下来对VirtualBox中对应的虚拟机进行设置即可(见文章首部)。

如果需要创建一个全新的虚拟机并使用USB设备安装系统或是还原镜像的话,新建虚拟机时勾选“create a new virtual hard disk now”,从USB设备引导后,对新建的虚拟硬盘进行分区,然后将系统安装到新分的系统分区即可。