在多重启动 UEFI 系统上,是否可以在重新启动之前选择要启动哪个系统?

在多重启动 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 中使用。关联
因此,看来建立一种实现此目的的方法可能是可行的。不过,我得过几天才能尝试。

答案1

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

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

我相信你可以做类似的事情简易UEFI在 Windows 中,但这是一个 GUI 工具,因此可能不适用于您描述的场景。也许bcdedit可以解决问题,但我还没有研究过。

相关内容