应将GRUB默认引导项切回旧内核,先确认其完整名称如“Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)”,再用grub2-set-default命令设置并执行update-grub固化。

银河麒麟系统升级新内核后出现卡在开机界面的问题,必须将GRUB默认引导项切回已验证稳定的旧内核版本,否则无法正常进入系统。
确认旧内核在GRUB菜单中的完整名称
重启电脑,在自检阶段反复按Esc键调出GRUB菜单,用方向键高亮停在旧内核条目上,看清完整显示名——例如“Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)”。这一步不能跳过,因为名称中括号、空格、点号和版本号都必须完全一致,【少一个字符或错一个空格都会导致设置失败】。
若无法重启查看,可在当前系统中执行:awk -F\' '/menuentry / {print $2}' /boot/efi/EFI/kylin/grub.cfg(UEFI)或/boot/grub2/grub.cfg(Legacy BIOS),从输出中人工识别旧内核对应行。
使用grub2-set-default命令立即生效
这是最快捷、无需编辑配置文件的方法,特别适合已卡在登录界面但还能进终端的紧急场景。
第一步:执行grub2-set-default "Kylin Linux Advanced Server (4.19.90-23.8.v2101.ky10.x86_64) V10 (Tercel)",注意英文双引号必须保留,且名称与上一步确认的完全一致。
第二步:运行grub2-editenv list检查saved_entry字段是否已更新为目标内核名称。如果仍显示新内核或为空,说明命令执行失败,需重新核对名称。
第三步:执行sudo reboot,系统将直接以旧内核启动。
通过编辑/etc/default/grub永久固化
该方法适用于需要长期稳定、避免下次升级后再次偏移的生产环境。
方法一:打开终端,执行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)"。
方法三:按Esc退出编辑,输入:wq保存并退出。
方法四:执行sudo update-grub,等待出现“Generating grub configuration file … done”提示。这一步不可省略,否则修改不会写入实际引导配置。











