应立即通过grub2-set-default命令回退至原版默认内核,先用awk提取grub菜单全名,再精确设置saved_entry,最后reboot验证;若失败则编辑/etc/default/grub并update-grub重建配置。

银河麒麟系统升级新内核后出现黑屏、卡LOGO、无法进入桌面等启动异常,必须立即切回已验证稳定的原版默认内核版本,否则将导致业务中断或需重装系统。
确认当前运行与目标内核版本
打开终端,执行uname -r查看正在运行的内核,输出类似4.19.90-23.20.v2101.ky10.x86_64;再执行rpm -qa | grep kernel-4 | sort -V列出所有已安装内核,找到旧版如kernel-4.19.90-23.8.v2101.ky10.x86_64——这就是你要恢复的原版默认内核。
注意:若rpm命令无输出,说明旧内核已被误删,此方案不可行,需从备份中恢复/boot文件或重装内核包。
通过grub2-set-default命令快速回退
这是最安全、最推荐的首选方法,直接写入UEFI环境变量,不修改配置文件,避免语法错误引发GRUB失效。
第一步:列出GRUB菜单中完整显示名称
执行awk -F\' '/menuentry / {print $2}' /boot/efi/EFI/kylin/grub.cfg(UEFI)或awk -F\' '/menuentry / {print $2}' /boot/grub2/grub.cfg(Legacy BIOS),找到形如Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)的条目。
第二步:设置该名称为默认启动项
运行sudo grub2-set-default "Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)",名称必须与上一步输出完全一致,包括所有空格、括号和大小写。
第三步:验证设置是否生效
执行sudo grub2-editenv list,确认输出中saved_entry=后的内容已更新为目标内核全名。
编辑/etc/default/grub配置文件(备用方案)
当grub2-set-default因权限或环境变量损坏失效时使用,需手动编辑并重建引导配置。
执行sudo vim /etc/default/grub,按i进入编辑模式。
找到GRUB_DEFAULT=0这一行,将其改为GRUB_DEFAULT="Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)"——务必用英文双引号包裹完整名称,否则GRUB启动时会报错并回退到第一项。
按Esc退出插入模式,输入:wq保存退出。
执行sudo update-grub(UEFI)或sudo grub2-mkconfig -o /boot/grub2/grub.cfg(Legacy BIOS)重新生成引导菜单。
重启并验证结果
执行sudo reboot重启系统。
启动过程中观察GRUB菜单高亮项是否自动定位到旧内核条目;进入系统后再次运行uname -r,确认输出已变为4.19.90-23.8.v2101.ky10.x86_64。











