应修改/etc/default/grub中grub_default值并执行sudo update-grub:可用数字索引(从0开始)、完整菜单名(需英文双引号且完全一致)或saved模式(配合grub_savedefault=true),同时调整os-prober顺序使windows前置。

您已成功进入银河麒麟V10桌面系统,但开机时GRUB引导菜单中Windows总排在最后、麒麟多个内核版本混杂显示、旧内核仍置顶——这说明/boot/grub/grub.cfg是自动生成的,直接改它无效,必须修改源配置并重新生成。
用数字索引设默认启动项
这一步操作起来很简单,直接改一个数字就行,适合菜单结构长期不变的场景。索引从0开始计数,填错会导致进错系统甚至黑屏。
按Ctrl+Alt+T打开终端,输入sudo vim /etc/default/grub并回车,输入当前用户密码。
按i进入编辑模式,找到GRUB_DEFAULT=0这一行。若Windows在GRUB菜单中显示为第三项,就将等号后改为2;若麒麟系统在第一项,保持为0即可。
按Esc退出编辑,输入:wq保存退出。
执行sudo update-grub,等待输出出现Generating grub configuration file done提示。
【修改前务必确认目标项实际索引,误填为-1或超出范围会导致黑屏】
用完整名称指定默认项
系统更新后自动插入新内核或恢复选项,数字索引容易偏移,这时用精确名称更可靠。
方法一:重启电脑,在开机自检阶段反复按Esc(UEFI模式)调出GRUB菜单,用方向键停在Windows启动项上,看清完整显示名,例如Windows Boot Manager (on /dev/nvme0n1p1)。
方法二:回到桌面,终端中执行sudo vim /etc/default/grub,将GRUB_DEFAULT=0整行替换为GRUB_DEFAULT="Windows Boot Manager (on /dev/nvme0n1p1)"——【英文双引号不可省略,名称必须与菜单中完全一致,包括括号和空格】。
方法三:保存退出后,运行sudo update-grub,再sudo reboot。
启用上次选择即下次默认
适合每天在麒麟和Windows之间切换的用户,不用每次算索引,也不用记名称。
① 打开终端,执行sudo pluma /etc/default/grub(图形化编辑器更易操作)。
② 将GRUB_DEFAULT=0改为GRUB_DEFAULT=saved。
③ 在文件末尾另起一行,输入GRUB_SAVEDEFAULT=true。
④ 保存关闭,运行sudo update-grub。
⑤ 重启,在GRUB菜单中手动选中Windows并回车启动;下次开机,它就会自动高亮并启动Windows。
调整启动项显示顺序
GRUB菜单里Windows总在最后、麒麟内核版本杂乱无章?这不是靠改GRUB_DEFAULT能解决的,得干预os-prober扫描顺序。
按Ctrl+Alt+T打开终端,输入sudo vim /etc/default/grub并回车。
在文件末尾新增一行:GRUB_DISABLE_OS_PROBER=false。
保存退出后,执行sudo mv /etc/grub.d/30_os-prober /etc/grub.d/05_os-prober——这会让Windows识别逻辑优先执行,避免被麒麟内核挤到末尾。
运行sudo update-grub,观察输出是否出现Found Windows Boot Manager字样。











