一、查看系统版本

cat /etc/redhat-release 
uname -a
uname -r

可以确认是centos那个版本如:centos 7.9,具体的内核版本,如:3.10.0-1160.el7.x86_64
二、导入elrepo的key,然后安装elrepo的yum源 适用centos各个版本

rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

选择一个yum源安装,我看到centos7.4有人用7.0.2 ,7.9有人用7.0.3,我目前看到最新的是7.0.6,所以安装的7.0.6,可根据实际情况选择一条命令安装

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-6.el7.elrepo.noarch.rpm


三、列出内核

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


image.png

四、安装内核
安装长期支持稳定版本

yum --enablerepo=elrepo-kernel install -y kernel-lt
# lt = long time     长期支持内核
# ml=mainline        稳定主线内核

安装最新的主线稳定内核

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

可以根据实际用途选择,这里我默认选择长期支持稳定版本

四、查看现在系统全部内核

 rpm -qa | grep kernel
#查看内核的顺序
 awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

五、设置开机从新内核启动 方法一: 根据上面检查的内核名称,命令awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg填入:

grub2-set-default 'CentOS Linux (5.4.217-1.el7.elrepo.x86_64) 7 (Core)'

#重启检查内核
reboot
uname -r


方法二(备用): 我这边,5.4版本内核目前位置为4(位置1的为0,位置2的为1,一次类推),原来的3.10版本内核目前位置为1,所以需要修改内核启动顺序为4 image.png

#根据上面内核的顺序去调整
vim /etc/default/grub
#原本的GRUB_DEFAULT=saved改为GRUB_4=saved,其中4就是当前的位置

#重新创建应用内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启检查内核
reboot
uname -r

方法三(备用): 打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

接下来运行下面的命令来重新创建内核配置。

grub2-mkconfig -o /boot/grub2/grub.cfg


六、移除旧内核(可选)

yum remove 3.10.0-1160.el7.x86_64 -y