GRUB无法设为默认启动管理器,按boot-repair指示操作后仍直接进Windows
解决GRUB无法设为默认启动管理器的问题
这种情况我碰到过好几次,大概率是UEFI启动项的优先级没真正改对,或者Windows在悄悄重置启动顺序,给你几个一步步排查的方法:
先确认UEFI启动项的实际状态
重启电脑时按对应按键(一般是F2、Del、F10,看主板开机提示)进入BIOS/UEFI设置界面,找到「Boot」选项卡,查看启动项列表。确认带有「ubuntu」或「shimx64.efi」的启动项是否排在「Windows Boot Manager」前面。有些主板需要手动拖拽或用方向键调整顺序,调整后一定要按保存键(比如F10)再退出。关闭Windows的快速启动和自动启动修复
Windows的快速启动会锁住EFI分区,不仅影响GRUB接管启动,还可能自动重置启动顺序:- 打开控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置,取消勾选「启用快速启动(推荐)」,保存更改。
- 以管理员身份打开命令提示符,运行以下命令禁用自动启动修复:
bcdedit /set {current} recoveryenabled no bcdedit /set {current} bootstatuspolicy ignoreallfailures
手动重新安装GRUB到EFI分区
如果前面的方法没用,可能是GRUB的安装存在异常,手动重新部署一次:- 用Ubuntu安装U盘进入试用模式,打开终端。
- 挂载Ubuntu根分区(假设你的根分区是/dev/sda2,根据实际情况调整):
sudo mount /dev/sda2 /mnt - 挂载EFI分区(一般是/dev/sda1):
sudo mount /dev/sda1 /mnt/boot/efi - 重新安装GRUB并更新配置:
sudo grub-install --boot-directory=/mnt/boot --efi-directory=/mnt/boot/efi /dev/sda sudo update-grub
完成后重启,再次进入BIOS确认启动顺序。
用efibootmgr手动调整UEFI启动项
如果你能通过BIOS选择进入Ubuntu,或者用启动盘进入系统,可以用efibootmgr工具直接修改启动项:- 查看当前所有启动项:
输出会显示类似sudo efibootmgrBoot0000* Windows Boot Manager和Boot0001* ubuntu的条目,数字是启动项的编号。 - 设置Ubuntu为默认启动项(把你查到的ubuntu编号放在前面):
sudo efibootmgr -o 0001,0000 - 确认设置生效:
检查sudo efibootmgr -vBootOrder是否为你设置的顺序即可。
- 查看当前所有启动项:
内容的提问来源于stack exchange,提问作者Linux_Layman
相关产品推荐
相关产品推荐

