在 CentOS 上替换(升级或切换)系统内核,常见有 三种方式,下面按 推荐程度 给你说明,并附完整示例。
适合:
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
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
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
常见选项:
kernel-lt:长期支持版(Long Term)kernel-ml:主线版(Mainline)yum --enablerepo=elrepo-kernel install -y kernel-lt
或主线版:
yum --enablerepo=elrepo-kernel install -y kernel-ml
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
假设新内核是 0:
grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg
grubby --set-default /boot/vmlinuz-<新内核版本>
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
/boot 是否满| 场景 | 推荐方式 |
|---|---|
| 升级新内核 | ✅ ELRepo + kernel-lt |
| 稳定小升级 | 官方 yum update |
| 内核开发 | 手动编译 |
如果你愿意,可以告诉我:
我可以给你 精确的一条龙命令。