有机会修复双启动而不必打开和关闭 UEFI 来切换操作系统吗?

有机会修复双启动而不必打开和关闭 UEFI 来切换操作系统吗?

我有一个带有 LUKS 分区的 Linux 硬盘。 Linux 是在传统模式下安装的,但它可以在稍后打开 UEFI 选项的情况下使用。

我决定在第二个硬盘上安装 Windows 8。所以我拔掉了 Linux 驱动器,插入另一个驱动器,默认打开 UEFI 安装 Windows,启动,更新。 Windows 8 以 UEFI 模式安装,没有安全启动。

重新插回 Linux 驱动器,现在我无法让它们都通过 GRUB 工作,除非每次翻转 UEFI 时都进入 BIOS。两个驱动器均位于 PC 中。如果 UEFI 打开,我只能启动 Windows;如果 UEFI 关闭,我只能启动 Linux。

有没有办法修复GRUB? UEFI 菜单项?

答案1

如果您在传统模式下安装了 Linux,则您将只能以传统模式启动它。以 UEFI 模式重新安装 Linux。

答案2

交换驱动器后看不到 Linux 安装的原因可能取决于 UEFI 固件的逻辑。 GRUB 将不同的引导选项保存在配置文件中。 UEFI 在其 NVRAM 中执行此操作。大多数情况下,NVRAM 中的 UEFI 条目包含指向硬件设备的指针和 efi 文件的位置。两个例子:

Boot0000* Linux   HD(1,64800,670f800,000009b6) File(\elilo.efi)
Boot0003* ubuntu  HD(3,800,64000,000009b6)     File(\EFI\ubuntu\grubx64.efi)

一旦硬件或路径不再可用,某些固件逻辑可能会在 POST 期间删除您的 UEFI NVRAM 条目。将 USB 设备设置为启动设备并随后删除该 USB 设备时,这种情况经常发生。重新连接 USB 驱动器后,它将不再从该驱动器启动。不过,Windows 可能仍会启动,因为它倾向于将其 efi 引导加载程序的备份复制到默认位置:EFI/BOOT/bootx64.efi在 x86-64 系统上。

要修复 UEFI 菜单项,您可以引导信息 UEFI 提示符并使用,bcfg或者使用 Linux Live CD 并使用efibootmgr。您还可以采用与 Windows 类似的方法,将 linux efi 文件复制并重命名到 EFI 分区上的默认位置。

相关内容