如何在 VirtualBox 中从 USB 驱动器启动?

如何在 VirtualBox 中从 USB 驱动器启动?

问题很简单,也很直接:

如何在 VirtualBox 中从 USB 驱动器启动?

编辑

我已连接usb到 VirtualBox,如屏幕截图所示。

https://i.stack.imgur.com/UPZZo.png

但即使连接了 USB 驱动器,也无法启动 (参考)

所以我想知道是否还有其他方法可以从 USB 驱动器启动?

答案1

VirtualBox 本身不支持从 USB 设备启动。要从 USB 设备启动,需要另一个引导加载程序。以下步骤提供了一种可能的方法来实现此目的:

  1. 下载扑通启动管理器(目前版本 v5.0.15)
  2. plpbt.iso从 ZIP 档案中提取文件并将其保存在某处。
  3. 打开虚拟机的设置并附加 ISO 文件:

    在此处输入图片描述

  4. 为 USB 设备添加过滤器:

    在此处输入图片描述

  5. 启动虚拟机并在菜单中选择“USB”选项:

    在此处输入图片描述

如果一切顺利,机器现在应该从 USB 设备启动。

答案2

编辑:2018 年 3 月 7 日

这里需要注意一点。重新启动时将 USB 驱动器留在计算机中可能会更改/dev/sd驱动器号指定,从而导致原始usb.vmdk文件指向错误的驱动器,因此无法在 VirtualBox 中启动。作为测试,我在系统中留下了一个。/dev/sdi在我重新启动之前是这样的,重新启动后是这样的/dev/sdc。当您重新启动计算机进行任何更改时,请在重新启动之前移除 USB 驱动器。我正在研究是否可以从驱动器的 UUID 创建原始磁盘,因为这不会改变。


由于 VirtualBox 无法启动到 USB 驱动器,因此您可以创建一个.vmdk指向 USB 驱动器的文件以便从该驱动器启动。

笔记: 您必须将您的用户帐户添加到vboxusers组,以便 VirtualBox 能够看到您的 USB。您还必须将您的帐户添加到组disk,否则您无法将文件添加.vmdk到虚拟机。在以下位置添加了说明编辑。这也不会将 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

然后你必须重启您的系统以使更改生效。

重启之前:

在此处输入图片描述

重启后:

在此处输入图片描述

希望这可以帮助!

答案3

我几天前才看到这篇文章。我不想使用 Plop Boot Manager,因为我的 USB 记忆棒已经可以启动了。

因此,我尝试通过创建将 USB 指向 VMDK 磁盘(如 Terrance 的回答)vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

不幸的是,这不起作用...我chmod和我chown的磁盘usb.vmdk,所以我能够将它连接到虚拟机,但它根本不起作用。

最后,我尝试了另一种解决方案,这个解决方案完美无缺。下面是解决方案(感谢吉安·桑托斯用于研究)

  1. 插入 USB 驱动器并识别它(我的是/dev/sdb,运行 Sabayon Linux);
  2. .vmdk通过以下方式创建磁盘将原始设备(即 USB 驱动器)转换为 VirtualBox 磁盘

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. 现在,您已经usb.vmdk从可启动的 USB 棒创建了一个磁盘。我还尝试将ddUSB 棒连接到映像文件,然后从映像文件创建磁盘。它和以前的方式(或从映像文件)创建的磁盘.vmdk一样有效.vdi

  4. 现在,授予创建的磁盘权限,以便 VirtualBox 可以访问该文件。这意味着将文件所有者更改为 vboxusers 组中的用户。如果您的 VirtualBox 安装运行正常,那么此所有者可能就是您:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. 现在,你只需将磁盘连接usb.vmdk到虚拟机即可。但它必须连接到 IDE 控制器。我试过了,SATA但没有成功。

带有可启动 <code>usb.vmdk</code> 的 VM 示例,连接到 IDE 控制器

至此,你已经没问题了。

只需启动新的 VM,按下F12并选择可启动驱动器。

享受!

答案4

如果您的 USB 驱动器是 EFI 可启动驱动器,则 Plop Boot Manager 将无法工作,因为它不支持 EFI 启动。在这种情况下,对我有用的是使用 rEFInd 启动管理器(http://www.rodsbooks.com/refind/)。

  1. 从以下网址下载 rEFInd 可启动 isohttp://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download并解压缩。

  2. 在 VirtualBox 中打开虚拟机设置并附加 rEFInd CD ISO 文件。

  3. 确保虚拟机设置中“系统”选项卡中的“启用 EFI(仅限特殊操作系统)”选项已启用。

  4. 启动虚拟机,您应该会看到 rEFInd 启动菜单:

重新菜单

  1. 将您的 USB 驱动器连接到 VirtualBox。

  2. 按退格键刷新菜单或等待几秒钟,驱动器就会出现在菜单中。

  3. 选择您的 USB 驱动器并按回车键,您的 USB 驱动器将开始启动。

相关内容