统信uos修改默认启动项需编辑/etc/default/grub中grub_default值(支持索引数字或精确menuentry全名),再执行sudo update-grub生效;推荐用完整名称方式,避免内核更新导致索引偏移,且须严格匹配大小写、空格及标点。

直接改 /etc/default/grub 里的 GRUB_DEFAULT,再运行更新命令,就能让系统每次开机都默认进你指定的内核——不是改 /boot/grub/grub.cfg,那文件是自动生成的,一更新就覆盖。
用菜单名设默认内核(最稳)
内核更新后菜单顺序常变,用数字索引容易指错。推荐用完整菜单名:
- 先查可用内核名:
grep -i "menuentry" /boot/grub/grub.cfg | cut -d "'" -f2 - 看到类似
Ubuntu, with Linux 6.5.0-15-generic或CentOS Linux (5.10.38-21.hl05.el7.x86_64) 7 (Core)的条目 - 编辑
/etc/default/grub,改成:GRUB_DEFAULT="Ubuntu, with Linux 6.5.0-15-generic" - 保存后执行:
Debian/Ubuntu 系:sudo update-grub
RHEL/CentOS/Fedora 系:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
子菜单里的内核怎么选
比如你想默认进 “Advanced options for Ubuntu” 里的某个旧内核,不能只写内核名,得带上路径:
- 格式是:
"主菜单名>子菜单内核名" - 例如:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-67-generic" - 注意:主菜单名和子菜单名必须跟
grub.cfg里menuentry后面的引号内容完全一致,包括空格和标点
用 grub-set-default 快速设(不碰配置文件)
这个命令直接写生效值到 /boot/grub/grubenv,适合不想动全局配置时用:
- 前提是
/etc/default/grub中已设为:GRUB_DEFAULT=saved - 按名称设:
sudo grub-set-default "Ubuntu, with Linux 6.5.0-15-generic" - 按索引设(从 0 开始):
sudo grub-set-default 2 - 设完不用跑
update-grub,重启即生效
验证和排错要点
改完别急着重启,先确认是否真写进去了:
- 检查
grub.cfg是否更新:ls -l /boot/grub/grub.cfg(看时间戳) - 确认当前保存项:
sudo grub-editenv list,应显示saved_entry=xxx - 如果仍进错,可能是双系统启用了 Windows Fast Startup,需在 Windows 里关掉“快速启动”功能
- RHEL/CentOS 用户特别注意:配置路径通常是
/boot/grub2/,不是/boot/grub/











