问题很简单明了:
如何从VirtualBox中的USB驱动器启动?
编辑:
我已附加usb
到VirtualBox,如屏幕截图所示。
但是,即使已连接(参考),也无法从USB驱动器引导 。
所以我想知道是否还有其他从USB驱动器启动的可能性?
问题很简单明了:
如何从VirtualBox中的USB驱动器启动?
编辑:
我已附加usb
到VirtualBox,如屏幕截图所示。
但是,即使已连接(参考),也无法从USB驱动器引导 。
所以我想知道是否还有其他从USB驱动器启动的可能性?
Answers:
VirtualBox本身不支持从USB设备引导。为了从USB设备引导,需要另一个引导程序。下面的步骤提供了一种完成此操作的方法:
plpbt.iso
从ZIP存档中提取文件并将其保存在某处。打开虚拟机的设置并附加ISO文件:
为USB设备添加过滤器:
引导VM,然后在菜单中选择“ USB”选项:
如果一切顺利,则计算机现在应从USB设备启动。
编辑:2018年3月7日
这里要注意的事情。重新启动时将USB驱动器留在计算机中会更改/dev/sd
驱动器号,导致原始usb.vmdk
文件指向错误的驱动器,因此它不会在VirtualBox中引导。作为测试,我在系统中保留了一个。是/dev/sdi
在我重新启动之前,在重新启动之后/dev/sdc
。重新引导计算机以进行任何更改时,请在重新引导之前卸下USB驱动器。我正在研究是否可以从驱动器的UUID创建原始磁盘,因为它不会改变。
由于VirtualBox不会引导至USB驱动器,因此您可以创建一个.vmdk
指向USB驱动器的文件以进行引导。
注意: 您必须将用户帐户添加到vboxusers
VirtualBox 的组中,才能查看USB。您还必须将帐户也添加到该disk
组,否则不能将.vmdk
文件添加到虚拟机。在EDIT中添加了以下说明。这也不会将USB驱动器复制到硬盘驱动器,而是直接使用USB。如果要保留的USB上存在持久性,这将很有帮助。 并非每种情况都相同,因此这可能不适用于每种情况。
首先,您需要在系统中创建USB,并确定物理驱动器是什么。我们将假设您的驱动器安装为/dev/sdb1
。因此,物理驱动器将为/dev/sdb
。
接下来,在终端窗口中键入以下内容以创建.vmdk
指向USB驱动器的文件:
sudo vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
要么
sudo VBoxManage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
然后,您应该看到类似以下内容:
RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.
注意:有些人遇到了新创建文件的所有权问题。获取新文件的所有权:
sudo chown $USER:$USER ~/usb.vmdk
然后,您所要做的就是将.vmdk
文件添加到VirtualBox虚拟机,并确保可以启动该文件。
编辑:
要将用户添加到vboxusers
组,请运行以下命令:
sudo usermod -a -G vboxusers username
要将用户添加到disk
组,请运行以下命令:
注意:将用户添加到磁盘组可能是危险的,也存在安全风险。与具有sudo访问权限写入原始磁盘一样危险。
sudo usermod -a -G disk username
然后,您必须重新引导系统才能使更改生效。
重新启动之前:
重新启动后:
希望这可以帮助!
disk
组,然后注销并重新登录,或者在添加该组后重新启动?
几天前,我来到了这篇文章。我不想使用Plop Boot Manager,因为我的USB记忆棒已经可以启动了。
因此,我尝试通过创建USB记忆棒将其指向VMDK磁盘(如Terrance答案中所示) vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
不幸的是,这种拒绝工作......我chmod
和chown
该usb.vmdk
盘,所以我可以将它连接到一个虚拟机,但它根本没有工作。
最后,我尝试了另一种解决方案,并且该解决方案完美无缺。这是(感谢Gean Santos的研究):
/dev/sdb
,正在运行Sabayon Linux);创建一个.vmdk
由磁盘变换原始设备(即,USB棒)到VirtualBox的磁盘
sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
现在,您已经usb.vmdk
从可启动USB记忆棒创建了磁盘。我还尝试dd
了将USB记忆棒粘贴到图像文件并.vmdk
从该图像文件创建磁盘。它可以正常工作,也可以.vdi
使用前一种方式(或从映像文件中)创建的磁盘
现在,为创建的磁盘授予权限,以便VirtualBox可以访问文件。这仅意味着将文件所有者更改为vboxusers组中的用户。如果您的VirtualBox安装运行正常,则该所有者可能是:
sudo chown `whoami`:`whoami` ./usb.vmdk
现在,您只需要将usb.vmdk
磁盘连接到虚拟机。但是它必须连接到IDE控制器。我尝试SATA
没有成功。
此时,您就可以了。
只需引导新的VM,按F12
并选择可引导驱动器。
请享用!
最简单的解决方案是将USB密钥的内容复制到iso文件中(嗯,下一次我将在正确的计算机上下载iso,首先不需要USB密钥)
dd if=/dev/sdc of=myusbkey.iso
然后在存储,控制器:IDE(我想是SATA)下的VirtualBox设置中,将此.iso添加为光驱。
无需制作.vmdk文件,VirtualBox支持.iso文件。
我建议以下步骤。
我不想以root用户身份运行Virtualbox。我不希望我的用户属于磁盘组,而是拥有对所有磁盘的完全权限。
所以这就是我要做的工作:
找出记忆棒是什么sd。在以下说明中为sdc
。
卸下记忆棒
su -
chmod 666 /dev/sdc1
chmod 666 /dev/sdc
exit # Run the following command as regular user:
VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
su - # Back as root again:
chmod 777 usb.vmdk
chmod 666 /dev/sdc
附加usb.vmdk virtualbox计算机
chmod 666 /dev/sdc
完成后,重置sdc1权限以获得安全性:
chmod 660 /dev/sdc1
在上面,您可以看到我不得不重设几次记忆棒的权限,因为每次都会将其设置为root。
我使用的是Mandriva Linux,但在Ubuntu中应该差不多
如果您的USB驱动器是EFI可引导驱动器,则Plop Boot Manager将不起作用,因为它不支持EFI引导。在这种情况下,对我有用的是使用rEFInd引导管理器(http://www.rodsbooks.com/refind/)。
从http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download下载rEFInd可启动iso 并解压缩。
在VirtualBox中打开虚拟机设置,然后附加rEFInd CD ISO文件。
确保已启用“系统”选项卡中虚拟机设置中的“启用EFI(仅特殊操作系统)”选项。
引导虚拟机,您应该看到rEFInd引导菜单:
将USB驱动器连接到VirtualBox。
按退格键刷新菜单,或仅等待几秒钟,驱动器应出现在菜单中。
选择您的USB驱动器,然后按Enter,您的USB驱动器应开始启动。