温馨提示×

centos替换内核如何回退

小樊
39
2026-10-20 19:30:55
栏目: 智能运维

在 CentOS 中替换(升级或降级)内核后如果想回退,通常有以下几种方式,按安全程度从高到低说明:


一、最推荐方式:通过 GRUB 启动旧内核(不删除新内核)

CentOS 默认会保留多个内核,只要没手动删旧内核,就可以回退。

1. 查看当前已安装内核

rpm -qa | grep kernel
# 或
ls /boot/vmlinuz-*

2. 重启并选择旧内核

reboot

在 GRUB 启动菜单中选择:

CentOS Linux (旧内核版本) 7/Core

如果 GRUB 菜单不显示,启动时按住 Shift 或 Esc

3. 设置旧内核为默认启动项(可选)

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

二、卸载新内核(谨慎)

如果你确认新内核有问题,可以卸载它。

CentOS 7

yum remove kernel-<新版本>

CentOS 8 / Stream

dnf remove kernel-<新版本>

然后重启即可回到旧内核。

⚠️ 注意:

  • 至少保留一个可用内核
  • 不要删 kernel-core、kernel-modules 等关键包

三、系统无法启动(救援模式回退)

如果新内核导致系统起不来:

1. 使用 ISO / 救援模式启动

Troubleshooting → Rescue a CentOS system

2. 挂载原系统

chroot /mnt/sysimage

3. 卸载或切换内核

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

✅ 新内核先测试再设默认


如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是怎么替换的内核(rpm / 编译 / ELRepo)
  • 现在是否能开机

我可以给你精准回退命令。

0 踩