Rav*_*van 89 live-usb virtualbox
这个问题很简单直接:
如何从 VirtualBox 中的 USB 驱动器启动?
编辑:
usb如屏幕截图所示,我已附加到 VirtualBox。

但是即使连接(参考)也无法从 USB 驱动器启动 。
所以我想知道是否还有其他可能从 USB 驱动器启动?
Nat*_*man 106
VirtualBox 本身不支持从 USB 设备启动。为了从 USB 设备引导,需要另一个引导加载程序。以下步骤提供了一种可能的方法来实现这一点:
plpbt.iso从 ZIP 存档中提取文件并将其保存在某处。打开虚拟机的设置并附加 ISO 文件:
为 USB 设备添加过滤器:
启动虚拟机并在菜单中选择“USB”选项:
如果一切顺利,机器现在应该从 USB 设备启动。
Ter*_*nce 57
编辑:2018 年 3 月 7 日
这里有一点需要注意。重新启动时将 USB 驱动器留在计算机中可能会更改/dev/sd驱动器号指定,导致原始usb.vmdk文件指向错误的驱动器,因此无法在 VirtualBox 中启动。作为测试,我在系统中留下了一个。是/dev/sdi在我重新启动之前,重新启动后它是/dev/sdc。当您重新启动计算机以进行任何更改时,请在重新启动之前移除 USB 驱动器。我正在研究是否可以从驱动器的 UUID 创建原始磁盘,因为这不会改变。
由于 VirtualBox 不会引导至 USB 驱动器,因此您可以创建一个.vmdk指向 USB 驱动器的文件以引导至该驱动器。
注意: 您必须将您的用户帐户添加到vboxusersVirtualBox的组中才能看到您的 USB。您还必须将您的帐户添加到该disk组,否则您无法将.vmdk文件添加到您的虚拟机。在EDIT 中添加了以下说明。这也不会将 USB 驱动器复制到硬盘驱动器,而是直接使用 USB。如果您想保留 USB 上的持久性,这会很有帮助。 并非每种情况都相同,因此这可能不适用于每种情况。
首先,您需要在系统中创建您的 USB,并确定物理驱动器是什么。我们将假设您的驱动器安装为/dev/sdb1. 因此,物理驱动器将是/dev/sdb.
接下来,从终端窗口键入以下内容以创建.vmdk指向 USB 驱动器的文件:
sudo vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
Run Code Online (Sandbox Code Playgroud)
或者
sudo VBoxManage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb
Run Code Online (Sandbox Code Playgroud)
然后你应该看到类似的东西:
RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.
Run Code Online (Sandbox Code Playgroud)
注意:有些人对新创建的文件的所有权有问题。取得新文件的所有权:
sudo chown $USER:$USER ~/usb.vmdk
Run Code Online (Sandbox Code Playgroud)
然后你应该做的就是将.vmdk文件添加到你的 VirtualBox 虚拟机并确保你可以引导到它。
编辑:
要将您的用户添加到vboxusers组,请运行以下命令:
sudo usermod -a -G vboxusers username
Run Code Online (Sandbox Code Playgroud)
要将您的用户添加到disk组,请运行以下命令:
注意:将您的用户添加到磁盘组可能很危险并且存在安全风险。这与拥有写入原始磁盘的 sudo 访问权限一样危险。
sudo usermod -a -G disk username
Run Code Online (Sandbox Code Playgroud)
然后您必须重新启动系统以使更改生效。
重启前:
重启后:
希望这可以帮助!
Mar*_*ini 19
几天前我来到了这个帖子。我不想使用 Plop Boot Manager,因为我的 U 盘已经可以启动了。
因此,我尝试通过创建将 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
Run Code Online (Sandbox Code Playgroud)现在您已经usb.vmdk从可启动的 USB 记忆棒创建了一个磁盘。我还尝试dd将 USB 记忆棒连接到图像文件并.vmdk从图像文件创建磁盘。它可以工作,以及.vdi以前一种方式(或从图像文件)创建的磁盘
现在,为创建的磁盘授予权限,以便 VirtualBox 可以访问该文件。这只是意味着将文件所有者更改为 vboxusers 组中的用户。如果您的 VirtualBox 安装运行正常,那么此所有者可能是您:
sudo chown `whoami`:`whoami` ./usb.vmdk
Run Code Online (Sandbox Code Playgroud)现在,您只需要将usb.vmdk磁盘附加到虚拟机。但它必须连接到 IDE 控制器。我试过SATA没有成功。
在这一点上,你没问题。
只需启动新的 VM,按F12并选择可启动驱动器。
享受!
Dav*_*ure 17
最简单的解决方案是将 USB 密钥的内容复制到一个 iso 文件中(好吧,下次我将在正确的机器上下载 iso,首先不需要 USB 密钥)
dd if=/dev/sdc of=myusbkey.iso
Run Code Online (Sandbox Code Playgroud)
然后在 VirtualBox 设置中添加这个 .iso 作为光驱,在 Storage、Controller: IDE(或 SATA,我猜)下。
无需制作 .vmdk 文件,VirtualBox 支持 .iso 文件。
小智 5
我会建议以下步骤。
小智 5
如果您的 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 启动菜单:

在 VirtualBox 中连接您的 USB 驱动器。
按退格键刷新菜单或等待几秒钟,驱动器应出现在菜单中。
选择您的 USB 驱动器并按 Enter,您的 USB 驱动器应该开始启动。
| 归档时间: |
|
| 查看次数: |
220780 次 |
| 最近记录: |