答案1
我无法直接回答这个问题,因为我不太熟悉如何配置 Windows 启动工具。不过我想指出一些基本问题……
有两种类型的相关计划,它们之间有一些重叠:
- 启动管理器-- 这些程序提供菜单或其他用户界面,使您能够选择要启动的操作系统。
- 引导加载程序-- 这些程序将操作系统内核加载到内存中并将控制权移交给它。大多数引导加载程序只能将一种操作系统内核(例如 Linux 内核或 Windows 内核)加载到内存中。
因此,启动路径从固件到启动管理器,再到启动加载器,最后到操作系统。一个启动管理器可以将控制权移交给另一个启动管理器,如果一个阶段或另一个阶段返回到较早的步骤,则可能会有更复杂的启动路径。
有些程序,例如 rEFIt、rEFInd 和 gummiboot(现在为 systemd-boot),是引导管理器,但不是引导加载程序。其他程序,例如 Linux EFI 存根加载程序,是引导加载程序,但不是引导管理器。还有一些程序,例如 GRUB,既是引导管理器又是引导加载程序。有些程序是引导加载程序,但引导管理功能有限;例如,ELILO 和(在 EFI 下)SYSLINUX 可以提供菜单,让您选择要运行哪个内核,但它们无法启动其他操作系统的引导加载程序。
我对 Windows 启动管理器/加载器的理解是,它可以链式加载到另一个操作系统的启动加载器或加载 Windows 内核。但它不能直接加载 Linux 内核(除非通过 EFI 存根加载器,但我不知道有谁尝试过这种方式)。因此,即使您成功按所需方式配置了 Windows 启动管理器,您也需要 Linux 启动加载器。
所有这些中的一个转折点是 Linux EFI 存根加载器,它内置于内核中。EFI 存根加载器将内核变成一个 EFI 应用程序,作为内核本身的引导加载器。因此,EFI 引导管理器可以充当非常类似于引导加载器的角色,但是从技术上来说,内核本身就是引导加载程序。Linux 内核引导的性质还意味着您需要能够将选项传递给内核,而很少有非 Linux 引导管理器可以轻松实现这一点。此外,如果您想使用此功能让 Windows 引导管理器启动 Linux 内核,则需要一种让 Windows 引导管理器读取 Linux 内核的方法。由于内核通常存储在 Linux 原生文件系统上,因此这需要进行更改,以将内核移动到 FAT 分区或将 Linux 文件系统的 EFI 驱动程序添加到组合中。这两种方法都是可行的,但它们会增加设置的复杂性。
还要注意的是,EFI 包含自己的启动管理器,但不包含启动加载器。遗憾的是,大多数 EFI 的启动管理器用户界面都很差,因此大多数人更喜欢用其他东西来代替它。
大多数有经验的 Linux 用户都熟悉 GRUB,也许还熟悉一两个其他引导加载程序或引导管理器。因此,您应该可以轻松地在此站点上获取有关如何配置 GRUB、ELILO、SYSLINUX、gummiboot 或 rEFInd 以执行所需操作的建议。(注意:我从 rEFIt 中分叉了 rEFInd,因此如果您想使用 rEFInd,可以向我咨询。)不过,这里很少有人精通配置 Windows 引导管理器/加载程序。如果您确实想使用 Windows 工具,您可能应该在 Windows 论坛上提问。
本网站上有关于引导管理器和引导加载程序设置的无数问题和答案,因此,如果您希望使用更传统的 Linux 友好型引导管理器,请进行搜索。如果您找不到问题的答案,请随时提出其他问题。(我建议提出新问题,而不是发布后续问题,因为您的后续问题可能与您的原始问题非常不同,并且需要大量新答案。)