linux centos7修改默认启动的内核(升级及切换内核)

修改默认启动的内核步骤

uname -r   # 查看当前内核版本

cat /boot/grub2/grub.cfg |grep "menuentry "  # 查看所有可用内核

grub2-set-default 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' #设置默认启动的内核

grub2-editenv list  # 查看内核修改结果

saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)

注意修改默认内核后要reboot后才能生效。

背景

昨天发现一个问题,在两台服务器安装bro时,一台顺利部署并成功运行,另一台PF_Ring部署成功但无法运行。看了下系统版本号相同,仔细比对了下内部版本发现失败的那台内部版本多了rt56字段,经查询rt表示实时补丁版本。在国外一论坛上看到说目前PF—Ring不支持在rt版本上运行。咨询装机同事安装时采用同一个CD安装,步骤和选项也相同(也许是他记不清楚)。 但为何两个服务器内部版本不同,推测一可能装机同事安装时选型有区别,二可能因为服务器硬件不同(一个HP、一个Dell)适配了不同的版本。

于是考虑对内核进行升级

正常情况下,有两个启动项,一个是“正常启动”,另一个是“救援模式启动”(rescue)。
如果启动项多于2个,说明当前系统有旧内核未删除。原因是CentOS更新后不会自动删除旧内核。默认以新内核启动,可以在启动选项中临时选择,也可以修改配置永久指定。查看内核发现仅由2个启动项,其中一个是救援版本,于是进行内核升级。

通过yum升级内核 (此方法适用于更新小版本)

通过yum升级内核是最保险的升级方式,因为安装的是操作系统发行厂商验证过兼容性的rpm包,升级风险一般很小。

sudo yum list kernel

sudo yum install -y kernel

安装后会发现多了一个内核,网上说重启后默认选择新内核,但我试了下还是老的rt内核,grub2-set-default 后成功切换为新更新的内核。

大版本升级可以通过载入elrepo源,搜索内核更新资源,并进行更新操作的方式

还有一种自己编译内核的方式,不需要特定内核的情况下比较麻烦不推荐。

修改默认启动的内核步骤

uname -r # 查看当前内核版本

cat /boot/grub2/grub.cfg |grep "menuentry " # 查看所有可用内核

grub2-set-default ‘CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)’ #设置默认启动的内核

grub2-editenv list # 查看内核修改结果

saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)

注意修改默认内核后要reboot后才能生效。

删除无用内核

uname -r # 查看当前内核版本

rpm -qa |grep kernel-[0-9] # 查看全部内核包

yum remove kernel-3.10.0-327.el7.x86_64 # 删除指定的无用内核

其他rpm命令 (未测试)

显示已经安装的内核 rpm -qa | grep kernel

安装指定内核 rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

上一篇:linux操作系统启动


下一篇:centos7 进入救援模式恢复系统