升级前:3.10.0-957.5.1.el7.x86_64 x86_64

升级准备:
下载离线安装包
https://elrepo.org/linux/kernel/el7/x86_64/RPMS

下载后上传至待升级服务器

查看当前系统上的所有可用内核启动项
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
安装已下载的安装包
tar -zxvf kernel-4.4.246-all-rpm.tar.gz
cd kernel-4.4.246/
yum localinstall kernel-lt*.rpm -y
查看新版本内核顺序
[root@node1 kernel-4.4.246]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.246-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-927b64ba17f04ad6a65165ef69617c8b) 7 (Core)

修改默认启动项
方法一:通过grub2-set-default命令修改默认启动项
默认启动项由/etc/default/grub
中的GRUB_DEFAULT
控制。
如果GRUB_DEFAULT=saved
,则该参数将存储在/boot/grub2/grubenv
中。可使用grub2-editenv list
查看:
grub2-editenv list
命令修改前

命令修改后(经实测,手动修改后使用grub2-editenv list
查看,saved_entry=
值不变)
grub2-set-default 0

方法二:手动修改配置文件,更改启动项
修改内核启动顺序为0,编辑/etc/default/grub
文件找到GRUB_DEFAULT=saved
,将saved修改为内核位置,此处为0,则改为GRUB_DEFAULT=0
vim /etc/default/grub

重启服务器并验证内核版本是否升级成功
reboot
uname -rp

升级成功
恢复至3.10内核
[root@node1 ~]# grep "^menuentry" /boot/grub2/grub.cfg
menuentry 'CentOS Linux (4.4.246-1.el7.elrepo.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-b8f9bc7b-7dd8-4c56-9be6-1669fb531b3d' {
menuentry 'CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-b8f9bc7b-7dd8-4c56-9be6-1669fb531b3d' {
menuentry 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-b8f9bc7b-7dd8-4c56-9be6-1669fb531b3d' {
menuentry 'CentOS Linux (0-rescue-927b64ba17f04ad6a65165ef69617c8b) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-927b64ba17f04ad6a65165ef69617c8b-advanced-b8f9bc7b-7dd8-4c56-9be6-1669fb531b3d' {
[root@node1 ~]# grub2-set-default1[root@node1 ~]# grub2-editenv listsaved_entry=1[root@node1 ~]# reboot

[wxd@node1 ~]$ uname -rp
3.10.0-957.5.1.el7.x86_64 x86_64
回退成功

通过内核名称设置4.4.205-1.el7.elrepo.x86_64为默认启动内核
[root@localhost ~]# grub2-set-default "CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core)"[root@localhost ~]# grub2-editenv listsaved_entry=CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core)
收工!
正文完