今天翻出一个长时间未使用过的U盘,里面存放着的内容看似是一个可启动U盘,嫌麻烦不想重启电脑,于是想通过VirtualBox从U盘启动来试一试,但看了VirtualBox设置界面没有将U盘添加为虚拟硬盘的方法,虚拟机开机后也找不到从USB启动的方法。经过网络搜索,可以将U盘映射为一个VMDK文件作为VirtualBox的虚拟硬盘:
VBoxManage internalcommands createrawvmdk -filename F:\usb.vmdk -rawdisk \\.\PhysicalDrive2
这是Windows下的方法,我没有去试过,把“-rawdisk”后面的物理磁盘换成“/dev/sdb”,没有成功,又换成挂载U盘的目录、U盘不挂载等多种尝试仍未成功,查看了vboxmanage的help没有上述用法,后来折腾了半天发现是忽略了权限问题,加sudo后创建成功:
sudo vboxmanage internalcommands createrawvmdk -filename /home/VirtualBox/usb1.vmdk -rawdisk /dev/sdb
接下来在VirtualBox中添加虚拟磁盘时出错(错误代码VBOX_E_FILE_ERROR(0x80BB0004)),还是权限的问题,使用了搜索到的“usermod -a -G disk $(whoami)”这个办法没能解决。
由于太菜,组和用户权限不会弄,直接选择用root运行VirtualBox,因为先前尝试的时候把U盘卸载了添加时候又出错(错误代码NS_FAILURE(0x80004005)),重新挂载U盘后添加成功,从U盘启动成功。