将非UEFI引导目标添加到UEFI grub

我的系统中有两个磁盘:

  1. 非UEFI窗口10安装
  2. UEFI kubuntu 16.10

这个系统是我的家庭服务器。 我正在从Windows迁移到Kubuntu,但由于我无法复制整个function,因此需要一段时间。 与此同时,我想运行双启动,这样我就可以像往常一样运行服务器(windows),同时我在任何空余时间内设置Kubuntu部署。 所以:

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

我猜测问题是它正在搜索EFI启动,而只有一个传统的BIOS启动。

有没有办法可以将我的Windows安装添加为grub目标?

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

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

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

如果要在硬盘上安装任何内容之前测试此过程,可以使用rEFInd的USB闪存驱动器映像(可在其下载页面上找到 )。 您必须EFI/refind/refind.conf在USB驱动器上编辑EFI/refind/refind.conf – 但当然安装点将是它的任何内容,而不是/boot/efi

还有一点需要注意:rEFInd可以在大多数基于EFI的计算机上启动BIOS模式启动加载程序,但不能在所有计算机上启动。 一些早期的EFI使用在传统BIOS上分层的EFI,而不是使用CSM的EFI。 rEFInd将无法在这些早期EFI上重定向到BIOS模式引导加载程序。 (在没有底层BIOS或CSM的系统上也是如此,但如果你能够在BIOS模式下启动Windows,你显然没有这样的系统。)

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

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

由于UEFI的工作方式(可能是您系统上的工作方式),因此无法让GRUB引导到非UEFI兼容的操作系统,因为GRUB无法决定使用哪种引导模式,UEFI将不加载非UEFI操作系统。