记一次升级内核的操作-内核升级:3.10.0-693.el7升级3.10.0-1160.el7
操作
升级要求
本主机是centos7.4,内核版本3.10.0-693.el7.x86_64 ,我想升级到3.10.0-1160.el7.x86_64
3.10.0-693.el7.x86_64-->3.10.0-1160.el7.x86_64
下载rpm文件
下载rpm文件,在阿里云下载这两个.rpm文件:
https://mirrors.aliyun.com/centos/7.9.2009/updates/x86_64/Packages/
对于rpm文件的下载,如果阿里云上没有可以去centos官网下载:
或者直接使用以下文件
安装对应版本的内核
输入以下命令:
rpm -ivh *.rpm --nodeps --force
查看/boot/目录下也会生成该内核版本的内核镜像等等
修改启动选择内核版本
修改grub配置,输入:
vim /etc/default/grub
将#GRUB_DEFAULT=saved改为GRUB_DEFAULT=0
/etc/default/grub文件是用于配置GRUB 2引导加载程序的主要配置文件之一。它包含了一些全局的设置和变量,用于控制GRUB的行为和外观。
GRUB_DEFAULT:设置默认启动的菜单条目。可以使用菜单条目的编号(从0开始)或菜单条目的名称。
在对/etc/default/grub文件进行任何更改后,需要通过运行 grub-mkconfig 命令使更改生效。该命令会重新生成/boot/grub2/grub.cfg文件,其中包含实际引导菜单的配置。
grub-mkconfig 命令输入:
grub2-mkconfig -o /boot/grub2/grub.cfg
NAME
grub-mkconfig — Generate a GRUB configuration file.
SYNOPSIS
grub-mkconfig [-o | --output=FILE]
DESCRIPTION
grub-mkconfig generates a configuration file for GRUB.
/boot/grub2/grub.cfg文件是GRUB 2引导加载程序的配置文件,它包含了引导菜单的详细配置信息。该文件由GRUB 2根据/etc/default/grub文件和其他相关文件自动生成。
grub.cfg文件是由一系列脚本生成的,通常不应直接编辑。当系统中的内核或引导配置发生更改时,可以使用grub2-mkconfig命令(如grub2-mkconfig -o /boot/grub2/grub.cfg)重新生成该文件。
grub.cfg文件的结构比旧版本的GRUB(如GRUB Legacy)的配置文件要复杂得多。它包含多个菜单节(menuentry),每个菜单节定义了一个可供选择的操作系统或内核。
每个菜单节包含了一系列的配置指令,用于定义菜单项的标题、内核文件、内核参数、初始化内存盘(initrd)文件等。这些配置指令提供了引导操作系统所需的详细信息。
在grub.cfg文件中,还可以找到一些自动生成的部分,例如用于检测其他操作系统(如Windows)并将其添加到引导菜单中的代码。
由于grub.cfg文件是自动生成的,因此在对引导菜单进行更改时,不应直接编辑该文件。而是应该修改/etc/default/grub文件或/etc/grub.d/目录中的相关文件,并使用grub2-mkconfig命令重新生成grub.cfg文件,以确保更改正确应用。
然后重启选择3.10.0-1160.el7.x86_64版本。
查看结果升级成功:
删除内核
查看系统存在的内核:
rpm -qa | grep kernel
删除内核:
yum remove kernel-3.10.0-693.el7.x86_64
选择指定的小版本启动内核
查看系统已有的小版本内核:
[root@yfzx-3551 ~]# cat /boot/grub2/grub.cfg |grep menuentry
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
menuentry_id_option=""
export menuentry_id_option
menuentry 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-075b0184-9855-4776-9d0e-d1820097e3f6' {
menuentry 'CentOS Linux (0-rescue-3efeaaf5d923405e9aa44ab94c6606cd) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-3efeaaf5d923405e9aa44ab94c6606cd-advanced-075b0184-9855-4776-9d0e-d1820097e3f6' {
选择CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core):
grub2-set-default 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)'
查看修改结果:
[root@yfzx-3551 ~]# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
重启:
reboot
修改成功:
[root@yfzx-3551 ~]# uname -r
3.10.0-1160.el7.x86_64
评论区