默认启动项不是Windows时,应修改/etc/default/grub中GRUB_DEFAULT为Windows在grub.cfg中精确匹配的menuentry名称(如"Windows Boot Manager (on /dev/nvme0n1p1)"),并执行sudo update-grub生效。

默认启动项不是Windows?改 /etc/default/grub 就行,但直接填数字索引容易出错,推荐用名称匹配。
怎么查Windows在GRUB菜单里的准确名称
很多人改完 GRUB_DEFAULT=4 却没生效,根本原因是数错了位置——菜单显示顺序和 grub.cfg 里实际生成的 menuentry 顺序可能不一致,尤其装了多个内核或用了自定义脚本时。
- 运行
grep "menuentry" /boot/grub/grub.cfg,逐行看输出,找含Windows或Boot Manager的那行 - 注意完整字符串,比如可能是
menuentry 'Windows Boot Manager (on /dev/nvme0n1p1)',单引号内的内容必须一字不差 - UEFI固态硬盘常见路径是
/dev/nvme0n1p1,机械盘或SATA SSD一般是/dev/sda1
GRUB_DEFAULT 填数字还是填名称
填数字(如 GRUB_DEFAULT=4)最简单,但系统更新、内核增减后顺序可能变;填全名(如 GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)")更稳,但必须严格匹配引号内内容,多一个空格就失效。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
- 编辑
/etc/default/grub时,把原GRUB_DEFAULT=0替换为带双引号的完整名称 - 如果名称含空格或括号,必须用双引号包裹,不能用单引号
- 不确定是否带括号?就用
grep -A1 "Windows" /boot/grub/grub.cfg多看两行上下文
改完配置后为什么没生效
update-grub 没跑,或者跑失败了——这是最常见的漏操作。它不是“保存文件就完事”,而是重新解析所有 /etc/grub.d/ 脚本并重写 /boot/grub/grub.cfg。
- 必须执行
sudo update-grub,看到输出里有Generating grub configuration file和Found linux image等才算成功 - 如果报错说
cannot find a GRUB drive for /dev/sda,说明EFI分区没挂载,先sudo mount /dev/sda1 /boot/efi(按实际ESP设备调整) - 别跳过
sudo reboot,单纯关机再开机不算,得完整走一遍引导流程
启动失败时怎么紧急回退
改错配置导致进不了系统?别重装。Live USB 启动后,挂载原系统就能修复,关键是要 chroot 到正确根目录并重装 GRUB。
- Live 环境下先
lsblk -f确认 Ubuntu 根分区(通常是/dev/sda2)和 EFI 分区(/dev/sda1或/dev/nvme0n1p1) - 依次执行:
sudo mount /dev/sda2 /mnt→sudo mount /dev/sda1 /mnt/boot/efi→sudo chroot /mnt - 进 chroot 后再跑
update-grub和grub-install /dev/sda(设备名按实际硬盘改)
真正麻烦的不是改哪一行,而是 EFI 分区挂载状态、设备名随硬件变化、以及名称匹配时肉眼难辨的空格——这些细节不验,改十次也白搭。

















