温馨提示×

centos怎样替换系统内核

小樊
48
2026-07-20 23:58:22
栏目: 智能运维

CentOS 上替换(升级或切换)系统内核,常见有 三种方式,下面按 推荐程度 给你说明,并附完整示例。


一、使用 ELRepo 安装新内核(✅ 最推荐)

适合:

  • 想升级到 较新主线 / LTS 内核
  • CentOS 7 / 8 / Stream 都适用

1️⃣ 安装 ELRepo

CentOS 7

yum install -y epel-release
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

CentOS 8 / Stream

dnf install -y epel-release
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

2️⃣ 查看可用内核

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

常见选项:

  • kernel-lt:长期支持版(Long Term)
  • kernel-ml:主线版(Mainline)

3️⃣ 安装新内核(推荐 LT)

yum --enablerepo=elrepo-kernel install -y kernel-lt

或主线版:

yum --enablerepo=elrepo-kernel install -y kernel-ml

4️⃣ 设置新内核为默认启动项

CentOS 7(GRUB2)

awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

假设新内核是 0

grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg

CentOS 8 / Stream

grubby --set-default /boot/vmlinuz-<新内核版本>

5️⃣ 重启并验证

reboot
uname -r

二、使用官方仓库升级内核(稳定但版本较旧)

适合:

  • 不想用第三方源
  • 只做 安全/稳定升级
yum update kernel

或:

dnf update kernel

然后重启即可。

⚠️ 版本通常落后于 ELRepo。


三、手动编译替换内核(❌ 不推荐)

适合:

  • 内核开发
  • 需要打补丁

流程简述:

yum groupinstall -y "Development Tools"
yum install -y ncurses-devel bison flex openssl-devel
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.x.x.tar.xz
tar -xf linux-6.x.x.tar.xz
cd linux-6.x.x
make menuconfig
make -j$(nproc)
make modules_install
make install
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

⚠️ 风险高,容易系统无法启动。


四、常见问题

✅ 如何删除旧内核?

yum remove kernel-<旧版本>

或保留 2 个内核(推荐):

yum install -y yum-utils
package-cleanup --oldkernels --count=2

✅ 替换内核后无法启动?

  • GRUB → 高级选项
  • 选择旧内核启动
  • 检查 /boot 是否满
  • 检查 initramfs 是否生成

五、推荐方案总结

场景 推荐方式
升级新内核 ✅ ELRepo + kernel-lt
稳定小升级 官方 yum update
内核开发 手动编译

如果你愿意,可以告诉我:

  • CentOS 版本
  • 当前内核版本
  • 替换目的(性能 / Docker / 安全 / 新特性)

我可以给你 精确的一条龙命令

0