如何在 Linux 中的 Virtualbox 中从 USB 驱动器启动

另一个我试图 使用 Ventoy 创建多引导 USB 驱动器 在我的 Linux 系统中。 成功创建可启动驱动器后,我向可启动驱动器添加了不同的 ISO。 但问题是我每次添加新 ISO 后都必须重新启动系统,以检查 USB 驱动器是否真的正常工作。 由于我没有额外的系统,这对我来说似乎有点耗时。 我认为如果我可以在我的 Linux 系统中从 Virtualbox 中的 USB 驱动器启动会更好。 您可能知道,Oracle Virtualbox 不提供任何从 USB 引导的直接方式。 幸运的是,我找到了一个简单的解决方法来允许 Virtualbox 从 USB 闪存驱动器启动。

在 Linux 中从 Virtualbox 中的 USB 驱动器启动

要允许从 USB 驱动器启动 Virtualbox,您需要创建一个 .vmdk 文件并将其指向您的 USB 驱动器以启动它。 对于那些想知道的人来说,vmdk 文件只不过是一个包含虚拟机所有信息的虚拟磁盘文件。

首先,您需要找到您的 USB 驱动器名称。 请参阅以下指南以了解在 Linux 中查找磁盘驱动器详细信息的不同方法。

  • 如何在 Linux 中查找硬盘驱动器的详细信息

我将使用“fdisk”命令来查找我的 USB 驱动器详细信息:

$ sudo fdisk -l

示例输出:

[...] Disk /dev/sdc: 14.54 GiB, 15597568000 bytes, 30464000 sectors Disk model: Cruzer Blade     Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4d924612

如您所见,我的 USB 驱动器名称是 /开发/sdc.

现在,打开终端并运行以下任一命令来创建 vmdk 文件:

$ sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdc

在某些 Linux 发行版中, vboxmanage 命令区分大小写。 在这种情况下,请使用以下命令创建 vmdk 文件:

$ sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdc

上述命令将在您的 $HOME 目录中创建一个名为“usb.vmdk”的新 vmdk 文件。 成功创建 vmdk 文件后,您将看到如下输出:

RAW host disk access VMDK file /home/sk/usb.vmdk created successfully.

使用 vboxmanage 命令创建新的 vmdk 文件

为新创建的 vmdk 文件设置适当的权限:

$ sudo chown $USER:$USER ~/usb.vmdk

接下来,使用以下命令将您的用户添加到“vboxusers”和“disk”组:

$ sudo usermod -a -G vboxusers sk 
$ sudo usermod -a -G disk sk

将“sk”替换为您自己的用户名。

请注意,将用户添加到“磁盘”组是危险的和安全风险。 现在 移除 USB 驱动器 并重新启动系统以使更改生效。 如果您不移除 USB,驱动器盘符的名称可能会在下次启动时更改。 因此,首先移除 USB 并重新启动系统非常重要。

现在打开 Oracle Virtualbox 应用程序并创建一个新的虚拟机: