使用eifbootmgr永久清理和更改EFI引导顺序

好吧,所以经过几天弄清楚如何双启动Windows 8和Ubuntu 12.04,我做了rEFInd我的默认引导加载程序。

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

  1. Ubuntu(ST1 ……不想输入那个lol)
  2. Windows启动管理器(ST1 …)
  3. Windows启动管理器(ST1 …)
  4. 用于IPv4的EFI网络0
  5. 用于IPv6的EFI网络0

事情是这样的:1和2不起作用,但我现在不想摆脱它们。 3是我的rEFInd所在,我希望它在顶部。 每次打开电脑时,这都是默认的启动顺序。 每次启动时我都可以更改它,但我不想这样做。

我注意到有一些程序eifbootmgr,但我不确定如何使用它。 基本上,我想永久地将列表重新排序为:3,4,5,1,2。

如果我能得到如何这样做的指南,我会很感激:)

更新:罗德,所以我截取了发生的事情的截图,我在启动菜单中得到了一个奇怪的结果……

在此处输入图像描述

在此处输入图像描述

键入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) 

当然,您的详细信息会有所不同。 您需要识别您的输入并确定您希望它们显示的顺序。 例如,假设您有这些条目,您希望默认情况下通过填充程序启动rEFInd,然后通过PreLoader运行rEFInd,然后是Ubuntu,最后是Fedora,如果所有其他运行失败的话。 所需的订单将为0000,0002,0003,0001。 然后,您可以通过efibootmgr-o选项指定该顺序:

 sudo efibootmgr -o 0000,0002,0003,0001 

输出将包括原始输出的较不详细的重复, BootOrder行适当更改。 仔细检查您的更改是否正确,然后重新启动以测试它是否正常工作。 (不幸的是,有些EFI是错误的,最近几个月efibootmgr和内核之间的不匹配引起了一些错误。)如果你有问题,有办法用EFI shell及其bcfg命令修复它,但我会除非您报告efibootmgr不起作用,否则请忽略详细信息。

不切实际的是你要比进入BIOS启动菜单所需要的更难,你可以选择osmanager,USB,磁盘等。 高亮显示osmanager按下输入它将打开子菜单使用f5,f6重新排列到你喜欢的使用f10来保存你的更改然后f10再次保存并退出