当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

问题很简单明了:

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

编辑:

我已将usb附加到VirtualBox,如屏幕截图所示。

virtualbox,live-usb,ubuntu

但即使连接了(reference),也无法从USB驱动器启动。

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

最佳解决方案

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

  1. 下载Plop Boot Manager(当前v5.0.15)

  2. 从ZIP存档中提取文件plpbt.iso并将其保存在某处。

  3. 打开虚拟机的设置并附加ISO文件:

    virtualbox,live-usb,ubuntu

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

    virtualbox,live-usb,ubuntu

  5. 启动VM并在菜单中选择”USB”选项:

    virtualbox,live-usb,ubuntu

如果一切顺利,机器现在应该从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

接下来,在终端窗口中键入以下内容以创建指向USB驱动器的.vmdk文件:

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虚拟机,并确保可以启动它。

virtualbox,live-usb,ubuntu

编辑:

要将用户添加到vboxusers组,请运行以下命令:

sudo usermod -a -G vboxusers username

要将用户添加到disk组,请运行以下命令:

注意:将用户添加到磁盘组可能会带来危险并且存在安全风险。它与sudo访问写入原始磁盘一样危险。

sudo usermod -a -G disk username

然后,您必须重新启动系统才能使更改生效。

重启之前:

virtualbox,live-usb,ubuntu

重启后:

virtualbox,live-usb,ubuntu

希望这可以帮助!

第三种解决方案

几天前我来到这个帖子。我不想使用Plop Boot Manager,因为我的USB memory 棒已经可以启动了。

所以我尝试通过创建vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb将USB memory 棒指向VMDK磁盘(如Terrance答案)

不幸的是,这拒绝工作…我chmodchown usb.vmdk磁盘,所以我能够将它附加到VM,但它根本无法正常工作。

最后,我尝试了另一个解决方案,这个解决方案完美无瑕。这是(感谢Gean Santos的研究):

  1. 插入USB memory 棒并识别它(我的是/dev/sdb,运行Sabayon Linux);

  2. 通过将原始设备(即USB memory 棒)转换为VirtualBox磁盘来创建.vmdk磁盘

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. 现在您有一个从可启动USB memory 棒创建的usb.vmdk磁盘。我还尝试将dd USB memory 棒粘贴到图像文件中,并从图像文件中创建.vmdk磁盘。它工作,以及以前的方式(或从图像文件)创建的.vdi磁盘

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

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

virtualbox,live-usb,ubuntu

在这一点上,你没事。

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

请享用!

第四种方案

最简单的解决方案是将USB密钥的内容复制到iso文件中(好吧,下次我只需要在正确的机器上下载iso,首先不需要USB密钥)

dd if=/dev/sdc of=myusbkey.iso

然后将此.iso添加为VirtualBox设置中的光驱,存储,控制器:IDE(或我猜想是SATA)。

无需制作.vmdk文件,VirtualBox支持.iso文件。

第五种方案

我建议采取以下步骤。

  1. 打开磁盘。

  2. 寻找USB。

  3. 单击此处,在右上角,您将看到一个包含3条平行线的设置图标。

  4. 单击那里并选择Create Disk Image …

  5. 选择位置,然后单击“创建”。它将创建一个可以在VirtualBox中使用的.img文件。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1405.html,未经允许,请勿转载。