将非 UEFI 启动目标添加到 UEFI grub

将非 UEFI 启动目标添加到 UEFI grub

我的系统中有两个磁盘:

  1. 非 UEFI Windows 10 安装
  2. UEFI Ubuntu 16.10

此系统是我的家庭服务器。我正在从 Windows 迁移到 Kubuntu,但这需要一段时间,因为我还不能复制全部功能。同时,我想运行双启动,这样我就可以像以前一样运行服务器(Windows),同时利用任何空闲时间设置 Kubuntu 部署。因此:

我想将 Windows 启动添加到 grub 的目标列表中,但是update-grub找不到我的 Windows 引导加载程序。

我猜测问题在于它正在寻找 EFI 启动,但只有一个传统的 BIOS 启动。

有什么方法可以将我的 Windows 安装添加为 grub 目标吗?

答案1

使用 GRUB 无法做到这一点;但是,有可能与我的rEFInd 启动管理器:

  1. 使用 Debian 包或 PPA 安装 rEFInd。
  2. 编辑/boot/efi/EFI/refind/refind.conf:取消注释该scanfor行并确保它hdbios是选项之一。
  3. 重启。

结果应该是在 rEFInd 屏幕中,启动 Ubuntu 的选项和启动 Windows 的灰色菱形选项。(如果您有多个磁盘,则可能会有多个菱形启动选项,每个磁盘一个。如果您有多个磁盘,但只有一个这样的选项,并且它不起作用,请取消注释uefi_deep_legacy_scan中的选项refind.conf。)

如果你想在硬盘上安装任何东西之前测试这个过程,你可以使用 rEFInd 的 USB 闪存驱动器映像(可在其下载页面)。您必须EFI/refind/refind.conf按照刚才所述在 USB 驱动器上进行编辑 - 但当然挂载点将是任意的,而不是/boot/efi

还有一个警告:rEFInd 可以启动 BIOS 模式的引导加载程序最多基于 EFI 的计算机,但并非所有计算机都是如此。一些早期的 EFI 使用基于传统 BIOS 的 EFI 层,而不是带有 CSM 的 EFI。rEFInd 无法在这些早期 EFI 上重定向到 BIOS 模式引导加载程序。(对于缺少底层 BIOS 或 CSM 的系统也是如此,但如果您能够在 BIOS 模式下启动 Windows,则显然没有这样的系统。)

您可能还需要考虑其他三个选项:

  • 在 BIOS/CSM/旧模式下重新安装 Ubuntu。您需要学习如何控制 CSM,以便能够以正确的模式启动安装程序。请参阅我的这个页面了解有关此主题的更多信息。
  • 安装 Linux 的 BIOS 模式引导加载程序。即使在 EFI 模式下也可以执行此操作,但如果您不熟悉安装和配置引导加载程序,这可能是一项具有挑战性的任务,而且很容易出错。不幸的是,我没有指向提供分步说明的页面的指针,但这样的页面可能存在。不过,作为一般建议,引导修复应该能够胜任这份工作——如果您可以在 BIOS 模式下启动 Ubuntu 紧急磁盘来运行 Boot Repair。(有关控制启动模式的信息,请参阅我的 CSM 链接。)
  • 将 Windows 转换为以 EFI 模式启动。这篇博文描述了如何执行此操作。这项任务难度适中,且有一定的风险。总体而言,这可能比为 Linux 安装 BIOS 模式引导加载程序的风险更大;但是,我链接的文档可以提供很大帮助。

答案2

由于 UEFI 的工作方式(可能就是您的系统上的工作方式),不可能让 GRUB 启动不符合 UEFI 标准的操作系统,因为 GRUB 无法指示使用哪种启动模式,并且 UEFI 不会加载非 UEFI 操作系统。

相关内容