直接写数字最稳妥,如grub_default=2,对应grub菜单从0开始计数的目标项索引;saved需配合grub-set-default使用且易被更新重置,双系统下稳定性较差。

GRUB_DEFAULT 设置成数字还是 saved 值?
直接写数字(比如 GRUB_DEFAULT=2)最稳妥,尤其在双系统场景下。它对应 GRUB 启动菜单里从 0 开始数的第几个条目——Ubuntu 通常为 0,Windows Boot Manager 多为 2 或 3,具体得进 BIOS 启动时看菜单顺序再确认。
saved 看似灵活,但实际依赖 grub-reboot 或 grub-set-default 手动设置,且容易被内核更新、update-grub 重置,日常用反而更易出错。
- 查当前菜单顺序:开机看到 GRUB 菜单时别急着选,记下 Windows 条目排第几(从 0 数起)
- 别信网上“Windows 总是第 2 个”的说法——UEFI 分区多、装过多次系统、有恢复分区的机器,顺序常变
- 改完
GRUB_DEFAULT后必须执行sudo update-grub,否则配置不生效
为什么改了 /etc/default/grub 还不生效?
常见原因是只改了配置文件,没触发 GRUB 配置重建。/etc/default/grub 只是模板,真正起作用的是自动生成的 /boot/grub/grub.cfg,它由 update-grub 命令生成。
另一个隐蔽坑是:某些桌面环境(如 GNOME)会静默覆盖 GRUB_TIMEOUT 设置,或把菜单设为 hidden。如果开机直接进系统、完全看不到菜单,大概率是 GRUB_TIMEOUT_STYLE=hidden 或 GRUB_TIMEOUT=0 导致的。
- 检查是否被注释掉:
GRUB_TIMEOUT行前面不能有# - 确认
GRUB_TIMEOUT_STYLE没设成hidden,设成menu或直接删掉这行 -
sudo update-grub执行后应输出类似 “Generating grub configuration file … done” 的成功提示
UEFI 双系统下 Windows 启动项编号不稳定怎么办?
UEFI 模式下,Windows Boot Manager 的位置可能随固件更新、Windows 自动修复或 Ubuntu 内核升级而变动,硬写数字容易失效。此时推荐用 menuentry 名称代替数字:
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
先运行 grep "menuentry" /boot/grub/grub.cfg | cut -d "'" -f2 查出完整启动项名,例如:Windows Boot Manager (on /dev/nvme0n1p1);然后在 /etc/default/grub 中写成:
GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)"
注意:引号必须保留,名称要跟 grub.cfg 里完全一致(包括括号和空格),大小写敏感。
- 这种方法不依赖索引,但每次 Windows 重装或 ESP 分区变化时仍需重新查名称
- 避免使用含变量的名称(如带 UUID 的),因为
update-grub生成时可能格式微调导致匹配失败 - 如果名称太长或含特殊字符,可用
grub-mkconfig -o /boot/grub/grub.cfg手动验证是否解析成功
修改后重启还是进错系统?
最常被忽略的一点:BIOS/UEFI 启动顺序本身没调好。即使 GRUB 默认项设对了,如果 BIOS 把 Windows Boot Manager 设为第一启动设备,那根本不会进 GRUB。
进 BIOS(通常是开机按 F2/F10/DEL),找到 Boot Order 或 Startup Sequence,确保 ubuntu 或 grubx64.efi 在 Windows Boot Manager 上方。UEFI 下常见标识是 “Ubuntu”、“EFI/ubuntu/grubx64.efi” 或 “Linux Boot Manager”。
- 某些品牌机(如 Dell、Lenovo)默认启用 Fast Boot,会跳过 GRUB 菜单,需关闭 Fast Boot 才能稳定显示菜单
- Secure Boot 开启时,部分旧版 GRUB 可能无法加载 Windows,但 Ubuntu 22.04+ 一般兼容,无需关闭
- 改 BIOS 启动顺序 + 改 GRUB_DEFAULT +
sudo update-grub三者缺一不可










