在 VirtualBox Ubuntu 18.04 主机中使用 EFI 启动物理磁盘

Sup*_*Cow 5 linux boot virtualbox windows-10 ubuntu-18.04

我曾经在这台机器上使用旧版 BIOS 引导来跨三个硬盘驱动器双引导 Ubuntu 16.04 和 Windows 10。我使用 GRUB 在 SSD 和 HDD 组合上引导到 Ubuntu,在它自己的 SSD 上使用 Windows 10,但我也可以在 Ubuntu 的虚拟机中引导该 Windows 10 磁盘。

当我升级到 Ubuntu 18.04 时,我重新安装了 Ubuntu 和 Windows 作为 UEFI 安装。除了我不能再在 Virtualbox 中使用物理 Windows 10 驱动器之外,一切都按预期工作。

我已经尝试调整权限好几天了,但最终我只是在启动时转储到 GRUB 恢复 shell。我可以将虚拟机引导到活动磁盘并访问驱动器就好了。

我真的不熟悉 EFI 引导分区或它们是如何工作的。我什至不确定每个操作系统是否需要一个 EFI 分区,但我希望能够在没有 Ubuntu 硬盘的其他机器上使用 Windows 10 磁盘。

谁能告诉我我做错了什么?

这是我的设置。/dev/sda 是我的家和 var 挂载点。sdc 是我的根。sdb 是 Windows 磁盘。

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1D529F06-982A-4C10-86F1-9AABFA271304

Device          Start        End    Sectors   Size Type
/dev/sda1        2048   16777215   16775168     8G Linux swap
/dev/sda2    16777216   25165823    8388608     4G Linux filesystem
/dev/sda3    25165824 1659922431 1634756608 779.5G Linux filesystem
*** IGNORE THESE PARTITIONS ***
/dev/sda4  1659922432 1695938559   36016128  17.2G Linux filesystem
/dev/sda5  1695938560 1704327167    8388608     4G Linux filesystem
/dev/sda6  1704327168 1828964351  124637184  59.4G Linux filesystem
/dev/sda7  1828964352 1926782975   97818624  46.7G Microsoft basic data


Disk /dev/sdb: 238.5 GiB, 256060514304 bytes, 500118192 sectors
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: gpt
Disk identifier: C76B0EBA-27D6-4FE0-A92F-F78276F26981

Device       Start       End   Sectors   Size Type
/dev/sdb1     2048   1023999   1021952   499M Windows recovery environment
/dev/sdb2  1024000   1228799    204800   100M EFI System
/dev/sdb3  1228800   1261567     32768    16M Microsoft reserved
/dev/sdb4  1261568 500117503 498855936 237.9G Microsoft basic data


Disk /dev/sdc: 29.8 GiB, 32017047552 bytes, 62533296 sectors
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: gpt
Disk identifier: D7616B5D-A0FA-4ACD-9122-DAB9BA2F21ED

Device      Start      End  Sectors  Size Type
/dev/sdc1    2048   411647   409600  200M EFI System
/dev/sdc2  411648 62531583 62119936 29.6G Linux filesystem
Run Code Online (Sandbox Code Playgroud)

Sup*_*Cow 0

我发现你只需要在虚拟机启动时按删除键进入 BIOS,然后手动添加 Windows 的 EFI 启动选项。

  • 您能解释一下您是如何做到的吗? (3认同)