请问我该如何修复这个问题?
II. 如果您使用旧版本的Boot-Repair修复了“有问题的UEFI”,最好撤销它。然后按照上面的更改使用bootx64.efi。
要撤销并将文件重命名为原始名称,您只需要在Boot-Repair中选择“恢复EFI备份”选项。
任何手动或使用Boot-Repair进行的重命名都需要在Windows更新后重新进行,因为它会还原Windows文件。
III. 编辑Windows BCD,这是Boot-Repair重命名使shim具有Windows名称的另一种选择。 对于那些将Windows保持为默认操作系统的系统来说,从Windows内部注册grub/shim可能效果更好。
Grub not showing on startup for Windows 8.1 Ubuntu 13.10 Dual boot
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
https://coderwall.com/p/vfyqkg
IV. 如果需要描述为Windows,则更改UEFI描述。这只适用于仅安装Ubuntu而没有安装Windows的用户。sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1
http://www.rodsbooks.com/refind/index.html
http://www.rodsbooks.com/refind/secureboot.html
PPA 可用于在 Ubuntu 上轻松安装。http://www.rodsbooks.com/refind/getting.html
VI. 恢复Ubuntu UEFI启动项 sdX是驱动器,Y是efi分区,例如sda2
sudo efibootmgr -c -L ubuntu -l "\EFI\ubuntu\shimx64.efi" -d /dev/sda -p 1
sudo efibootmgr -c -L "Ubuntu" -l "\EFI\ubuntu\shimx64.efi" -d /dev/nvme0nX -p Y
VII. 使用efibootmgr更改启动顺序:
VIII. 卸载UEFI条目:
IX. 您可以使用系统的UEFI/BIOS设置键(通常为F2,请查阅您的手册)来更改启动顺序或其他UEFI设置,然后将显示在UEFI引导菜单中(通常为F12):
mountvol S: /S
命令将EFI分区挂载为S:盘。在移动grubx64.efi文件到/EFI/Boot文件夹时,我遇到了一些奇怪的问题,但是逐级更改文件夹名称并将其重命名为bootx64.efi最终成功了。 - Peter BeckerBootOrder
并将Windows设置为第一位,但它仍然尊重BootNext
。所以我写了一个启动脚本,在每次启动时设置BootNext
。
运行
efibootmgr
来查找BootCurrent
的数字代码。在我朋友的情况下,这个代码是0003
。
/etc/systemd/system/boot-linux-next.service
:
[Unit]
Description=启动 Linux next
[Service]
Type=oneshot
# 在下一行中用适当的代码替换'3'。
ExecStart=efibootmgr --bootnext 3
[Install]
WantedBy=multi-user.target
运行
systemctl enable --now boot-linux-next.service