在 CentOS 中替换(升级或降级)内核后如果想回退,通常有以下几种方式,按安全程度从高到低说明:
CentOS 默认会保留多个内核,只要没手动删旧内核,就可以回退。
rpm -qa | grep kernel
# 或
ls /boot/vmlinuz-*
reboot
在 GRUB 启动菜单中选择:
CentOS Linux (旧内核版本) 7/Core
如果 GRUB 菜单不显示,启动时按住
Shift或Esc
grep menuentry /boot/grub2/grub.cfg
找到旧内核的 menuentry 名称,然后:
grub2-set-default "CentOS Linux (3.10.0-xxx.el7.x86_64) 7 (Core)"
grub2-mkconfig -o /boot/grub2/grub.cfg
验证:
grub2-editenv list
如果你确认新内核有问题,可以卸载它。
yum remove kernel-<新版本>
dnf remove kernel-<新版本>
然后重启即可回到旧内核。
⚠️ 注意:
kernel-core、kernel-modules 等关键包如果新内核导致系统起不来:
Troubleshooting → Rescue a CentOS system
chroot /mnt/sysimage
yum remove kernel-新版本
grub2-mkconfig -o /boot/grub2/grub.cfg
如果你升级的是 CentOS 8 → Stream 或 大版本内核:
dnf remove kernel*
dnf install kernel
⚠️ 风险较高,不建议新手操作。
✅ 保留至少 2 个内核
✅ 修改 /etc/yum.conf
installonly_limit=2
✅ 新内核先测试再设默认
如果你能告诉我:
我可以给你精准回退命令。