使用 eifbootmgr 永久清理并更改 EFI 启动顺序

使用 eifbootmgr 永久清理并更改 EFI 启动顺序

好吧,经过几天的研究如何双启动 Windows 8 和 Ubuntu 12.04,我将 rEFInd 作为我的默认引导加载程序。

我现在的问题在于我的 EFI 设置:

  1. Ubuntu(ST1......不想打出这个字哈哈)
  2. Windows 启动管理器(ST1...)
  3. Windows 启动管理器(ST1...)
  4. 用于 IPv4 的 EFI 网络 0
  5. 用于 IPv6 的 EFI 网络 0

问题是:1 和 2 不起作用,但我现在不想删除它们。3 是我的 rEFInd 所在位置,我希望它位于顶部。每次打开计算机时,这都是默认的启动顺序。我可以在每次启动时更改它,但我不想这样做。

我注意到有某个程序 eifbootmgr,但我不太清楚如何使用它。基本上,我想永久地将列表重新排序为:3、4、5、1、2。

如果我能得到有关如何做到这一点的指南,我将不胜感激:)

更新:罗德,我截取了发生的事情的屏幕截图,但在启动菜单中我看到了奇怪的结果......

在此处输入图片描述

在此处输入图片描述

答案1

键入sudo efibootmgr -v以查看当前启动项。输入密码后,您将看到如下内容:

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0002,0000,0001
Boot0000* rEFInd Boot Manager   HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\refind\shim.efi)
Boot0001* fedora    HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\fedora\grubx64.efi)
Boot0002* rEFInd (via PreLoader)    HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(\EFI\refind\PreLoader.efi)
Boot0003* ubuntu    HD(1,28,96000,bc34b60c-6611-492f-99b0-d2c37bd77f48)File(EFI\Ubuntu\grubx64.efi)

当然,您的详细信息会有所不同。您需要识别您的条目并确定您希望它们出现的顺序。例如,假设您有这些条目,您希望默认情况下通过 shim 启动 rEFInd,然后通过 PreLoader 启动 rEFInd,然后是 Ubuntu,如果所有其他都失败,最后是 Fedora。所需的顺序将是 0000,0002,0003,0001。然后您可以通过以下选项指定该-o顺序efibootmgr

sudo efibootmgr -o 0000,0002,0003,0001

输出将包括原始输出的较不冗长的重复,并BootOrder适当更改行。仔细检查您的更改是否正确,然后重新启动以测试它是否正常工作。(不幸的是,一些 EFI 存在错误,并且efibootmgr最近几个月由于与内核之间的不匹配而引入了错误。)如果您遇到问题,可以使用 EFI shell 及其命令进行修复bcfg,但除非您报告说它efibootmgr不起作用,否则我将省略详细信息。

答案2

不切实际,你把事情弄得比实际更难了,进入 BIOS 启动菜单,你的选项是 osmanager、USB、磁盘等。突出显示 osmanager 按回车键,它将打开一个子菜单,使用 f5、f6 重新排列到你喜欢的位置,使用 f10 保存更改,然后再次按 f10 保存并退出

相关内容