在 CentOS 上替换(升级或降级)内核版本,常见做法有 yum / dnf 安装官方内核、手动安装 RPM、编译内核 三种。下面按 最常用 → 进阶 给你一个完整说明。
uname -r
查看已安装内核:
rpm -qa | grep kernel
yum install -y kernel
dnf install -y kernel
安装完成后:
reboot
系统会自动使用 最新内核。
yum list available kernel
或(CentOS 8):
dnf list kernel
例如:
yum install -y kernel-3.10.0-1160.el7
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
示例输出:
0 : CentOS Linux (5.14.0-xxx)
1 : CentOS Linux (3.10.0-1160)
grub2-set-default 1
或指定名称:
grub2-set-default "CentOS Linux (3.10.0-1160.el7.x86_64)"
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
验证:
uname -r
⚠️ 至少保留一个可用内核
yum remove kernel-旧版本
或:
package-cleanup --oldkernels --count=2
yum install -y epel-release
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
CentOS 7:
yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install -y kernel-ml
kernel-ml:主线最新kernel-lt:长期支持流程简述:
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.x.tar.xz
tar -xf linux-6.x.tar.xz
cd linux-6.x
make menuconfig
make -j$(nproc)
make modules_install
make install
grub2-mkconfig -o /boot/grub2/grub.cfg
⚠️ 风险高,容易无法启动
/boot 是否满initramfsyum install -y yum-plugin-versionlock
yum versionlock kernel-*
yum install -y kernel
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
如果你愿意,可以告诉我:
我可以给你 精确命令方案 ✅