多系统引导菜单神秘消失?我的修复血泪史
上周给笔记本装完 Ubuntu 后,那个熟悉的 Grub 引导菜单突然玩起了失踪——直接跳进 Windows 开机动画。作为常年折腾多系统的老司机,这次翻车让我在搜索引擎里泡了整整两天。如果你也遇到类似问题,不妨看看我的排查实录。
症状诊断:引导菜单去哪儿了?
我的环境是联想小新 Pro 13 + Windows 11 + Ubuntu 22.04 双系统,UEFI 启动模式。正常情况开机应该显示 Grub 菜单让我选系统,但实际表现却是:
- 开机直接进入 Windows(没有1秒闪过的引导界面)
- 狂按 F12 进 BIOS 能看到 Ubuntu 启动项
- 用 Ubuntu 安装U盘启动后,
sudo os-prober
能识别 Windows 分区
第一轮尝试:Grub 的救赎
首先祭出经典三板斧:
sudo update-grub
sudo grub-install /dev/nvme0n1
sudo reboot
结果令人沮丧——Windows 依然霸道地独占启动流程。这时候我注意到 BIOS 里有个细节:「快速启动」选项被打开了。关闭后问题依旧,但至少看到了转机:偶尔会闪现「Press ESC to enter startup menu」的提示。
深入敌后:EFI 分区探秘
用 LiveCD 挂载 EFI 分区检查时,发现了猫腻:
tree /boot/efi/EFI
├── Microsoft
│ └── Boot
│ └── bootmgfw.efi
└── ubuntu
└── grubx64.efi
原来 Windows 更新后把启动顺序改了!解决方案是手动调整 EFI 启动项优先级:
sudo efibootmgr
sudo efibootmgr -o 0001,0000 # 把ubuntu提到第一位
终极杀招:禁用 Windows 的霸权行为
本以为故事到此结束,结果第二天开机又回到了原点。最终发现是 Windows 的「快速启动」和「安全启动」在搞鬼:
- 在 Windows 电源选项禁用「快速启动」
- 在 BIOS 关闭 Secure Boot
- 执行
bcdedit /set {bootmgr} path EFIubuntugrubx64.efi
这次终于让 Grub 菜单重见天日。顺便分享个实用技巧:在 /etc/default/grub
里设置 GRUB_TIMEOUT_STYLE=menu
可以强制显示菜单,避免自动跳转。
后记:多系统共存的生存法则
这次经历让我总结出三条铁律:1) Windows 大版本更新后一定要检查引导;2) 准备个 Ventoy 应急U盘;3) 修改关键配置前先 sudo cp -a /boot/efi /boot/efi.bak
。现在我的开机菜单比春运火车站还热闹,但这就是折腾的乐趣不是吗?
太真实了!我也被Windows的快速启动坑过,每次更新都要重新调引导顺序 😤