在多引导 UEFI 系统上,是否可以在重新引导之前选择要引导的系统?

Geo*_*e T 6 windows linux boot-manager multi-boot uefi

我想知道是否有办法让计算机安装 UEFI 和两个不同的操作系统(在我的情况下是 Windows 10 和 Linux Mint 17.x),您不必等待系统关闭才能选择要启动的不同系统。

进一步解释:
多引导系统通常的工作方式是,当计算机启动(从 uefi 管理器或引导加载程序等)并选择要引导的操作系统时,会出现一个菜单。这个菜单通常可以配置为有一个默认值,这样如果无人看管,它会自己“做出选择”,或者甚至记住你的最后一个选择并重复使用它直到你做出不同的选择(至少那是传统 GRUB 的情况)。

在我的电脑上,Mint 是默认设置,并且大部分时间都可以使用。但是,如果我在 Windows 中并且想再次重新启动到 Windows,我必须等待 GRUB 菜单出现并选择 Windows,否则它将重新启动到 Mint。由于关闭可能需要一段时间(尤其是在安装更新时),这意味着要待在计算机附近,否则我就可以离开了。

理想情况下,当我告诉计算机重新启动时,我希望能够选择一个操作系统。

显然,这不会是任一系统中标准“关闭”菜单的一部分,但我认为它可能会通过运行脚本来实现。
例如,使用 GRUB,可能有一个脚本可以更改其配置文件以将某个系统设置为默认值,然后开始重新启动,但这可能需要太长时间,需要 root 权限并且只能在 Mint 中工作。

是否有这样一种方法,使用任何可用的引导管理器(例如,可能是 rEFInd),它可以在没有任何特殊确认的情况下在任一操作系统上运行?

编辑:rEFInd 本身显然支持这样的功能。链接同一页面还建议如何从 Linux 设置变量。此外,MSDN 似乎有一种通过 C++ 代码设置 EFI 变量的方法,可在 Windows 10 中使用。链接
因此,似乎可以设置一种方法来执行此操作。但是,直到几天后我才能尝试它。

Rod*_*ith 7

你的问题本身就包含了一些可能的答案。另一种是操纵EFI 的BootNext参数。这会将一次性引导设置为指定的目标引导程序。这可以在 Linux 中通过实用程序完成efibootmgr

  1. 键入efibootmgr(或efibootmgr -v获取更多详细信息)asroot或 using sudo。这将显示您的启动选项列表。
  2. 确定您要启动的启动选项。例如,要直接启动到 Windows,您可能需要名为 的选项Windows Boot Manager。(但请注意,这些名称有时具有欺骗性。您可能需要进行试验并找出系统的详细信息
  3. 键入efibootmgr -n ####asroot或 usingsudo告诉系统引导到Boot####下一个,其中####是您要引导的条目的编号。

我相信您可以在 Windows 中使用EasyUEFI执行类似的操作,但这是一个 GUI 工具,因此可能对您描述的场景没有用。也许bcdedit可以解决这个问题,但我还没有研究过。