Linux怎么更新系统内核

阿辰小哥_5677

阿辰小哥_5677

2026-06-20

850人浏览

原创

安全升级内核的关键是保留旧内核、明确安装新内核包、更新grub配置并手动验证启动;切勿用yum update或apt upgrade自动升级内核,而应使用apt install linux-image-generic或yum/dnf install kernel-lt等命令新增内核条目,再执行update-grub或grub2-mkconfig生成启动项,最后手动选择新内核启动验证成功后再设为默认。

linux怎么更新系统内核

uname -r 看到的旧内核,不代表不能换——只要不覆盖、不删旧,升级就是安全的。关键不是“能不能升”,而是“怎么确保升完还能进系统”。

用包管理器装新内核,而不是 yum update 或 apt upgrade

很多人输 yum update 或 apt upgrade 想顺带升内核,结果发现没变,或者一重启直接黑屏。这是因为主流发行版默认把内核当成“独立软件包”管理,update 不会动它,除非你明确告诉它要装哪个版本。

  • Ubuntu/Debian:运行 sudo apt install linux-image-generic linux-headers-generic(装最新稳定通用版),或指定版本如 sudo apt install linux-image-6.8.0-45-generic
  • CentOS/RHEL 7/8/9:先启用 ELRepo(sudo rpm -Uvh https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm),再装长期支持版:sudo yum --enablerepo=elrepo-kernel install kernel-lt 或 sudo dnf --enablerepo=elrepo-kernel install kernel-lt
  • 切忌用 yum update kernel —— 这会尝试升级已安装的旧包,可能失败;而 yum install kernel-lt 是新增一个内核条目,旧的还在

update-grub 或 grub2-mkconfig 必须执行

装完 kernel-lt 或 linux-image-6.8.0-xx,只是把 vmlinuz-* 和 initramfs-* 放进了 /boot,但 GRUB 启动菜单根本不知道有它。这时候重启,大概率还是进老内核,甚至进不去(如果误删了旧内核)。

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
  • Ubuntu/Debian:必须跑 sudo update-grub,它会扫描 /boot 下所有 vmlinuz-* 并生成新菜单项
  • CentOS/RHEL:必须跑 sudo grub2-mkconfig -o /boot/grub2/grub.cfg,否则 grubby --set-default 也无效
  • 验证是否生效:执行 grep menuentry /boot/grub/grub.cfg | head -5(Ubuntu)或 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg(RHEL系),确认新内核名字出现在列表里

别急着设默认启动项,先手动选一次

装完新内核、更新了 GRUB,别立刻改 GRUB_DEFAULT=0 或用 grubby --set-default。万一新内核缺驱动、卡在 initramfs,你连恢复机会都没有。

  • 重启时,在 GRUB 菜单按 e 编辑启动项,检查 linux 行是否指向新 vmlinuz,initrd 是否匹配对应 initramfs
  • 第一次启动成功后,再运行 grubby --set-default-index=0(RHEL)或修改 /etc/default/grub 中 GRUB_DEFAULT=0 并重生成配置
  • 保留至少一个可用的旧内核(比如 3.10.0-xxx 或 5.4.0-xx),删除旧内核命令是 sudo apt autoremove --purge(Ubuntu)或 sudo yum remove kernel-3.10.0-*(CentOS 7),但务必确认新内核已稳定运行后再操作

手动编译内核容易踩坑,多数场景没必要

除非你要定制模块、打特定补丁,或测试上游主线特性,否则不建议从源码编译。它耗时长、依赖多、出错率高,且后续更新和回滚成本远高于包管理方式。

  • 常见报错包括:缺少 libelf-dev(导致 ORC 元数据生成失败)、openssl-devel(签名/证书相关构建中断)、ncurses-dev(make menuconfig 无法启动)
  • /usr/src/linux 是系统头文件目录,不要解压源码到这里;应放在 ~/linux-src 或 /usr/src/linux-6.x 这类独立路径
  • 编译前务必执行 make olddefconfig,避免因配置缺失导致构建中途失败
真正麻烦的不是装新内核,而是装完之后没人检查 /boot 空间够不够、GRUB 配置有没有生效、旧内核有没有被意外删掉。这些细节不盯住,再新的内核也起不来。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3710

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3213

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2293

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5530

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5182

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3073

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2585

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2799

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习