一、YUM升级内核

1、更新仓库
yum -y update
2、用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3、查看可用的系统内核包(可以看到,只有 4.4 和 4.20 两个版本可以使用)
[root@localhost ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* elrepo-kernel: mirrors.neusoft.edu.cn
elrepo-kernel | 2.9 kB ::
elrepo-kernel/primary_db | 1.8 MB ::
可安装的软件包
kernel-lt.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.-.el7.elrepo elrepo-kernel
kernel-ml.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 4.20.-.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 4.20.-.el7.elrepo elrepo-kernel
perf.x86_64 4.20.-.el7.elrepo elrepo-kernel
python-perf.x86_64 4.20.-.el7.elrepo elrepo-kerne
4、安装最新内核
yum --enablerepo=elrepo-kernel install kernel-ml
5.查看系统上的所有可以内核
[root@localhost ~]#  awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
: CentOS Linux (4.20.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-957.1..el7.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-87b5a0a60fc351ad00a94aa3c5b30baa) (Core)
6.设置 grub2,并生成grub配置文件
[root@localhost ~]# grub2-set-default
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.20.-.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.20.-.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.-957.1..el7.x86_64
Found initrd image: /boot/initramfs-3.10.-957.1..el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.-.el7.x86_64
Found initrd image: /boot/initramfs-3.10.-.el7.x86_64.img
Found linux image: /boot/vmlinuz--rescue-87b5a0a60fc351ad00a94aa3c5b30baa
Found initrd image: /boot/initramfs--rescue-87b5a0a60fc351ad00a94aa3c5b30baa.img
done
7.重启并查看当前内核
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.20.-.el7.elrepo.x86_64

二、离线RPM包安装内核

1.下载RPM包

https://elrepo.org/linux/kernel/el7/x86_64/RPMS/ #选择自己想要的版本下载对应的
[root@localhost ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.206-1.el7.elrepo.x86_64.rpm
[root@localhost ~]# wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-devel-4.4.206-1.el7.elrepo.x86_64.rpm

 2.安装RPM包

[root@localhost ~]# yum localinstall -y kernel-lt-4.4.-.el7.elrepo.x86_64.rpm kernel-lt-devel-4.4.-.el7.elrepo.x86_64.rpm 

3.查看当前系统上的所有可用内核启动项

非 UEFI 设备(Legacy):
[root@localhost ~]# awk -F\' '$=="menuentry " {print i++ " : " $}' /etc/grub2.cfg
: CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-395aa029d0cca260e8304b6bf0846236) (Core)
UEFI 设备(Legacy):
[root@localhost ~]# awk -F\' '$=="menuentry " {print i++ " : " $}' /boot/efi/EFI/centos/grub.cfg
: CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
: CentOS Linux (3.10.-.el7.x86_64) (Core)
: CentOS Linux (-rescue-e2c56988fd1743ab9d8902c5dd4d4cc1) (Core)
#注意文件名称

4.修改默认启动项

默认启动项由/etc/default/grub中的GRUB_DEFAULT控制。

如果GRUB_DEFAULT=saved,则该参数将存储在/boot/grub2/grubenv中。可使用grub2-editenv list查看:

[root@localhost ~]# grub2-editenv list
saved_entry=CentOS Linux (3.10.-.el7.x86_64) (Core)

通过grub2-set-default命令修改默认启动项。由之前的输出可知 CentOS Linux (4.4.206-1.el7.elrepo.x86_64) 7 (Core) 的启动序号为0

1).通过启动序号设置4.4.205-1.el7.elrepo.x86_64为默认启动内核

[root@localhost ~]# grub2-editenv list
saved_entry=0 #0为4.4内核启动序号

重启并查看内核版本

[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.4.-.el7.elrepo.x86_64

2).通过内核名称设置4.4.205-1.el7.elrepo.x86_64为默认启动内核

恢复至3.10内核

[root@localhost ~]# grep "^menuentry"  /boot/grub2/grub.cfg
[root@localhost ~]# grub2-set-default
[root@localhost ~]# grub2-editenv list
saved_entry=
[root@localhost ~]# reboot
[root@localhost ~]# uname -r
3.10.-.el7.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 list
saved_entry=CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)

重启查看内核版本

[root@localhost ~]# reboot
[root@localhost ~]# uname -r
4.4.-.el7.elrepo.x86_64

本文yum安装完全抄自:https://blog.csdn.net/kikajack/article/details/79396793

CentOS 7 升级 Linux 内核的更多相关文章

  1. CentOS 7.4升级Linux内核

    CentOS 7.4升级Linux内核 [日期:2018-01-15] 来源:Linux社区  作者:straycats [字体:大 中 小] 由于最近intel出了Meltdown和Spectre两 ...

  2. 如何在Ubuntu/CentOS上安装Linux内核4.0

    大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为‘Hurr durr I'm a sheep’的Linux内核4.0是目前为止最新的主干内核.它是稳定版3. ...

  3. centos6.5升级Linux内核步骤

    centos6.5升级Linux内核步骤 http://www.jianshu.com/p/c75f00182b4c 使用的操作系统是是centos6.5,按照官方的推荐的配置,把linux内核升级到 ...

  4. 管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容

    一. 配置静态网络地址 目标: 本例要求为虚拟机 server 配置以下静态地址参数: 1> 主机名:server0.example.com    2> IP地址:172.25.0.11  ...

  5. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  6. Centos下编译Linux内核

    Linux内核编译是一件简单却费事的事.但是独立的编译linux内核会帮助你很好的理解Linux内核的工作机理. 首先编译linux内核我们需要在当前linux操作系统下安装gcc编译器,因为我是Ce ...

  7. 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式

    近期将ubuntu升级到了14.04,出现了vmware无法启动的情况. 详细表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求依据当前内核版本号 ...

  8. 升级 Linux 内核版本(编译源代码)

    升级内核版本(自己编译源码) 从 linux 官网 https://www.kernel.org/ 下载内核源码 解压 tar -xvf linux-4.16.8.tar.xz cd linux-4. ...

  9. 升级linux内核(2.6.32->3.10.81),安装docker

    1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 ...

随机推荐

  1. 聊一聊 redux 异步流之 redux-saga

    让我惊讶的是,redux-saga 的作者竟然是一名金融出身的在一家房地产公司工作的员工(让我想到了阮老师...),但是他对写代码有着非常浓厚的热忱,喜欢学习和挑战新的事物,并探索新的想法.恩,牛逼的 ...

  2. 使用日期操作类(Calendar)获得几秒、几分钟、几小时之前的时间

    public String dealDate(String case_time){ // 日期操作类 Calendar calendar = Calendar.getInstance(); // 当前 ...

  3. zoj 1649 bfs

    Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M ...

  4. buildroot管理uboot+kernel+rootfs

    鉴于自己制作根文件系统太麻烦了,所以想用buildroot管理uboot,kernel,另外还可以自动生产rootfs,于是花了两天研究了下buildroot的框架和使用,在自己的2440开发板上也跑 ...

  5. 学习笔记TF055:TensorFlow神经网络简单实现一元二次函数

    TensorFlow运行方式.加载数据.定义超参数,构建网络,训练模型,评估模型.预测. 构造一个满足一元二次函数y=ax^2+b原始数据,构建最简单神经网络,包含输入层.隐藏层.输出层.Tensor ...

  6. javascript中正则动态替换为对象中的相应数据

    使用正则进行替换以下内容 var str = 'aKey={aValue}&bKey={bValue}' 使用以下对象数据,替换value var obj = { aValue: 1, bVa ...

  7. C# DataView数据处理的几种方法

    1.找到刚删除的所有列 DataView dv = dt.DefaultView; dv.Delete(); dv.Delete(); //找出所有刚删除掉的行 1.5 dv.RowStateFilt ...

  8. [小程序]_ELVE_小程序开发(1)

    最近在自学小程序,但是网上大部分重点都放在了界面的设计上,涉及到后端的很少,博主索性写点博客总结一下. #0X01  node.js环境搭建 不同于其他教程,本系列先重点介绍服务器端,后续再介绍客户端 ...

  9. vim编辑器学习记录

    i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入 s:删除光标所在的字符并开始插入 I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入 A: ...

  10. JavaWeb之搭建自己的MVC框架

    https://blog.csdn.net/anita9999/article/details/83378111 自己写一个mvc框架吧(一) https://www.cnblogs.com/heba ...