ubuntu+windows双系统下调整grub的启动顺序
在 Ubuntu 24.04 中修改 GRUB 将 Windows 设为默认启动项,核心方法是编辑 /etc/default/grub 配置文件,然后更新 GRUB 配置。以下是两种可行方案,推荐方法二(更稳定)。
准备工作:确认 Windows 在 GRUB 菜单中的名称
在修改前,先确认 Windows 启动项在 GRUB 菜单中的确切显示名称。终端执行:
grep -i "windows" /boot/grub/grub.cfg输出类似:
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)' --class windows ... {记下 menuentry 后单引号内的完整字符串(如 Windows Boot Manager (on /dev/nvme0n1p1)),后续会用到。
如果该命令无输出,也可在开机进入 GRUB 菜单时直接查看并记下 Windows 项的名称。
方法一:按数字索引设置(简单,但可能偏移)
编辑 GRUB 配置文件:
bashsudo nano /etc/default/grub找到
GRUB_DEFAULT=0这一行。 0 代表 GRUB 菜单中第一项(从 0 开始计数)。假设 Windows 在菜单中是第 5 项(索引为 4),则改为:GRUB_DEFAULT=4保存并退出(nano 中按
Ctrl+O回车保存,Ctrl+X退出)。更新 GRUB 配置:
bashsudo update-grub重启验证:
bashsudo reboot
注意:数字索引方式的问题在于——当系统更新新增了内核条目后,菜单项顺序可能变化,导致索引偏移,默认项可能不再是预期目标。
方法二:按完整名称设置(推荐,更稳定)
此方法直接使用菜单项的名称,不受索引变化影响 。
编辑配置文件:
bashsudo nano /etc/default/grub将
GRUB_DEFAULT=0改为你刚才查到的 Windows 完整名称,例如:GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)"注意:引号必须保留,名称必须与
grub.cfg中menuentry后的内容完全一致(包括空格和括号)。保存并退出。
更新 GRUB 配置:
bashsudo update-grub重启验证。
备用方案:使用 GRUB_SAVEDEFAULT
如果你希望 GRUB 记住上一次手动选择的项,也可以这样设置:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true之后开机时手动选一次 Windows,下次重启就会默认进入 Windows,直到再次手动切换。
重要提醒
- 修改后必须执行
sudo update-grub,否则修改不会生效。 - 如果你的机器是 UEFI 启动(近年多数电脑),Windows 的 GRUB 条目通常名为
Windows Boot Manager;如果是传统 BIOS 启动,则可能显示为Windows或Windows 10/11。 - 如果修改后无法启动,可以进入 GRUB 高级选项或使用 Ubuntu 安装 U 盘的"试用"模式,重新编辑
/etc/default/grub改回GRUB_DEFAULT=0并再次update-grub。 - 如果 GRUB 菜单中根本没有 Windows 项,说明引导未正确识别,可能需要运行
sudo os-prober并确保其已启用(Ubuntu 24.04 默认可能禁用 os-prober,需手动安装或启用)。
建议先使用方法二(名称匹配),除非你非常确定 Windows 在 GRUB 菜单中的索引位置且不会变化。
