☰
Ubuntu LTS内核对应关系全解析:GA与HWE内核选择与升级避坑指南
2026/10/13 10:40:18 网站建设 项目流程

很多朋友一听到 Ubuntu 长期支持版本(LTS),第一反应就是“装就完了,反正五年支持”。但真正在生产环境跑起来后,发现新安装的 20.04 内核是 5.4,过段时间再看变成了 5.15;或者官方 ISO 装出来的 22.04 内核版本比自己预期的新很多,然后就开始怀疑是不是装错了。这些问题背后,其实都是一件事:Ubuntu 长期支持版本内核对应关系没完全吃透。

这篇文章我会把 Ubuntu LTS 从 14.04 到 24.04 的内核对应关系、GA 内核与 HWE 内核的区别、如何快速查询和反查、以及生产环境切换内核时容易踩的坑一次性讲清楚。适合正在选型的系统管理员、做运维的开发者,以及刚接触 Ubuntu 服务器、想搞明白“为什么内核版本和网上资料对不上”的人。

1. 内核对应关系背后的逻辑:为什么 LTS 版本的内核会“变”

1.1 LTS 版本支持的不仅是 Ubuntu 版本,更是内核版本

Ubuntu LTS 的“长期支持”意思是:官方会对这个系统版本提供长达五年的安全和维护更新。但系统由很多组件组成,其中最核心的就是 Linux 内核。内核负责驱动硬件、提供文件系统、管理网络和进程调度。如果你的网卡驱动在新内核里才合入,那么 Ubuntu 发布时的旧内核可能就支持不了。

所以,LTS 版本发布时,官方会选择一个当时已经比较成熟的上游内核稳定版,作为这个 Ubuntu 版本的默认内核,这就是大家常说的 GA(General Availability,通用可用性)内核。后续这个 GA 内核并不是一成不变的,官方会在同一个内核版本系列里持续合入安全补丁和 bug 修复。比如 20.04 的 GA 内核初始是 5.4,后来稳定在 5.4.0 系列,一直不停打补丁,但大版本仍然是 5.4。

很多人查资料时看到“20.04 对应 5.4”,就以为所有 20.04 机器都一定是 5.4.0-x。实际上,如果你的系统启用了一些特殊仓库、或者你手动装了新内核,那这里就可能有变化。更常见的例外情况是 HWE 内核,这一块我后面会专门讲。

1.2 内核版本与 Ubuntu 发布节奏的匹配关系

Ubuntu 的固定发布节奏是:每半年出一个普通版(如 21.04、21.10),每两年的四月份出一个 LTS。因为 Ubuntu 版本号本身是年份加月份,比如 22.04 就是 2022 年 4 月发布的。每个 LTS 发布时,Ubuntu 官方都会对照当时 Linux 内核社区的稳定版本,确定一个内核基线。

这里有个关键点:内核社区的版本号是持续升高的。比如 2022 年 4 月,上游稳定内核已经发展到了 5.17 左右,但 Ubuntu 22.04 却选择了 5.15 作为初始内核。为什么不用最新的?因为长期支持版本的核心诉求是稳定,不是追新。5.15 是一个长期维护版本(LTS 内核),而且经过 5.15.0 系列初期的迭代已经相对稳定,周边驱动和软件包的兼容性也更好。

也就是说,Ubuntu LTS 所采用的内核,通常不是当时最新,而是当时足够稳定、并且被上游社区承诺长期维护的内核。这一点特别重要:如果你在 24.04 发布后立刻装上,看到内核是 6.8,而网上说最新内核已经到 6.10 了,不要慌,6.8 就是 24.04 的初始基线,之后 24.04 会长期基于 6.8 系列做安全修复,而不是无脑追新版。

2. 历代 Ubuntu LTS 内核对应关系速查:从 14.04 到 24.04

2.1 一份可以对照参考的 GA 内核与 HWE 内核表格

下面这张表我整理的是 Ubuntu LTS 刚开始发布时采用的 GA 内核版本,以及后续通过点版本更新推出的 HWE 内核版本大致范围。这里需要强调一个概念:HWE 是 Hardware Enablement 的缩写,翻译过来就是“硬件支持栈”,它的作用是在不整体升级 Ubuntu 版本的前提下,给 LTS 系统换上更新版本的内核,让新设备能被识别。

Ubuntu LTS 版本初始 GA 内核后续 HWE 内核(常见)备注
14.04 Trusty TahrLinux 3.133.16 / 4.4老硬件兼容性很少需要操心
16.04 Xenial XerusLinux 4.44.8 / 4.10 / 4.13 / 4.1516.04.5 之后 HWE 切到 4.15
18.04 Bionic BeaverLinux 4.155.3 / 5.418.04.4+ 默认 HWE 为 5.4
20.04 Focal FossaLinux 5.45.8 / 5.11 / 5.13 / 5.1520.04.3+ 可使用 5.15 HWE
22.04 Jammy JellyfishLinux 5.155.17 / 5.19 / 6.2 / 6.5 / 6.822.04 之后 HWE 有两档可选
24.04 Noble NumbatLinux 6.8后续随 point release 逐步更新当前较新,HWE 还在演进

这张表是初始对应关系,不是终态。拿 20.04 举例:初始 ISO 的内核是 5.4.0,但如果你下的是 20.04.5 的镜像,那里面可能已经集成了 HWE 的内核 5.15。很多人在部署时发现“明明装的是 20.04,uname -r显示 5.15.0-xx”,就是因为镜像版本已经包含了 HWE 内核。

2.2 理解 GA 内核与 HWE 内核的长期支持范围

GA 内核通常被当作 LTS 版本的默认内核,它会在该 LTS 版本的支持周期内一直维护。但是注意,GA 内核只覆盖到该 LTS 的生命周期结束前的一个时间窗口。比如 20.04 的 GA 内核 5.4 会一直支持到 20.04 标准支持结束(大约 2025 年 4 月)。如果你在 2024 年之后还继续用 5.4.0,安全补丁照样有,只是功能不会增加。

HWE 内核则是从后续的普通版本里挑选一个更新版本的内核,移植到 LTS 上。比如 22.04 的 HWE 内核 6.8 实际上是等相关普通版(24.04 使用的内核)从 24.04 那边“继承”过来的思路。HWE 内核的维护周期比较短,通常会跟着新一批硬件进入一定时间,然后就不再有新的安全更新。所以生产环境是否要切换 HWE 内核,需要权衡。

也就是说,如果你追求的是“装完一台服务器,三年不动”,GA 内核就够了。如果你买的是新款笔记本、新服务器主板,自带网卡或 RAID 控制器太新,GA 内核不认识,那你只能换 HWE 内核或者手动装新内核。

3. 实战:如何快速查询当前系统的内核与 Ubuntu 版本的对应关系

3.1 几条最常用的查询命令,别再靠猜

很多人一遇到内核问题,第一反应是去网上搜“某版本对应内核”,不如直接在机器上跑命令,十秒钟就知道答案。

先查内核版本:

uname -r

这条命令会输出当前运行内核,比如5.15.0-91-generic。这里前面是内核版本号 5.15.0,后面的-91是 Ubuntu 自己打的发行补丁号,泛指该内核的某个修订版本。

再查 Ubuntu 版本号:

lsb_release -a

或者更直接点:

cat /etc/os-release

输出里有VERSION_ID="22.04",这就是你安装的 Ubuntu LTS 版本。结合上面两条输出,你就能确定当前系统落在了上面表格里的哪个位置。比如看到22.04和5.15.0-xxx,说明是 GA 内核;如果看到22.04和6.8.0-xxx,说明这台机器已经切到 HWE 内核了。

查当前运行架构和内核所有信息:

uname -a

结果会包含系统名、主机名、内核版本、架构等。x86_64就是常见的 64 位。这些命令在 Ubuntu 各个版本的默认终端里都能直接用,不需要装任何额外工具。

3.2 通过内核版本反查 Ubuntu 版本:怎么判断手里的内核属于哪个系统

反过来,有时你会拿到一台机器,不知道它装的哪个 Ubuntu 版本,或者内核版本看着很陌生。这时可以先跑cat /etc/os-release,如果没有这个文件或者内容被精简过(比如一些容器镜像),就只能靠内核版本号判断。

方法很简单:对照内核版本号的大版本。比如看到 5.4.0-xxx,大概率是 18.04 HWE 或 20.04 GA。看到 5.15.0-xxx,可能是 20.04 HWE 或 22.04 GA。这时要结合其他信息,比如/etc/issue、hostnamectl等进一步确认。

内核版本与 Ubuntu 版本并不是一一对应关系,因为 HWE 机制会让一个内核版本出现在多个 Ubuntu 版本里。建议不要只用一个字段下结论,要看uname -r与os-release的组合。

3.3 确认当前系统支持的可用内核更新范围

如果你想确认自己的 LTS 版本当前能更新到哪个内核,不需要去搜表格,直接更新软件源列表后查看:

sudo apt update apt list --upgradable | grep linux-image

如果系统没有启用 HWE 仓库,输出里通常只有linux-image-generic相关包。启用了 HWE 后,会出现linux-image-generic-hwe-22.04之类的包名。这个包名里的 HWE 就是关键,看到它,说明系统可以跟随 HWE 内核更新。

查看当前安装的内核镜像列表:

dpkg --list | grep linux-image

这会列出所有已安装内核包。有些机器里会有多个内核版本,记住:重启时默认用的通常是最新安装的内核,前提是引导加载器没设置什么特殊参数。

4. 内核更新与 HWE 栈:什么时候选 GA,什么时候切 HWE

4.1 一张图理清 generic、HWE、OEM 内核的差别

Ubuntu 的普通安装镜像默认装linux-image-generic,这个包就是当前版本对应的 GA/HWE 内核,取决于你怎么安装。实际上,官方仓库里有好几套内核元包:

包名含义适用场景
linux-generic当前 Ubuntu 默认内核系列绝大多数服务器和桌面,保守选择
linux-generic-hwe-<版本号>硬件支持栈内核,版本比 GA 更新新硬件、需要新驱动的用户
linux-oem-<版本号>针对 OEM 预装设备定制的内核笔记本、品牌机专用,通常用在厂商预装系统

OEM 内核并不会主动推到所有 Ubuntu 用户,只在特定设备上通过官方认证渠道提供。如果你不是相关设备用户,不需要去折腾。HWE 则更常见,官方在 LTS 后续的点版本中会默认推荐。

4.2 生产服务器内核升级的保守策略与禁忌

给生产服务器升级内核,我通常会建议先想清楚三件事:有没有必要升级、能不能回滚、升级后有没有人盯着。

很多老旧业务跑在 20.04 GA 内核,完全没问题。如果新硬件或安全漏洞迫使你升级,第一步不是直接apt install linux-generic-hwe-20.04,而是先在测试环境里用同样版本的内核跑一遍兼容性测试,尤其是数据库、虚拟化、监控 agent 这类对内核敏感的东西。

务必保持旧内核不删除。Ubuntu 的 apt 包管理在安装新内核时,默认不会移除旧内核,这样如果重启后新内核有问题,还能在 GRUB 启动菜单里选择旧内核进入系统。但要注意,如果你手动执行了autoremove,可能会把旧内核也清掉。那种“重启进不去系统、GRUB 又没有旧内核”的场景,基本都是因为手贱清过旧内核。

升级操作的顺序参考:

# 备份当前运行内核版本,方便回滚时记录 uname -r > /root/kernel-before-upgrade.txt # 安装 HWE 内核,以 22.04 为例 sudo apt install --install-recommends linux-generic-hwe-22.04 # 更新后重启 sudo reboot # 确认新内核是否正常,并检查是否按预期加载 uname -r ls /boot/vmlinuz-*

注意 HWE 内核安装时还会带出配套的驱动包,比如linux-modules-extra。如果你用的是无线网卡,可能需要额外装linux-firmware,否则新内核里驱动模块有了,固件文件没有,照样起不来。

4.3 实际模拟:在 22.04 上从 GA 内核切换到 HWE 内核

假设一台 22.04 服务器,当前内核是 5.15.0-91-generic,需要切换到更新的 HWE 内核,以便识别新款存储卡。操作步骤如下:

sudo apt update sudo apt install --install-recommends linux-generic-hwe-22.04

安装完成后,查看系统里多了哪些启动项:

grep menuentry /boot/grub/grub.cfg | awk -F"'" '{print $2}'

然后重启:

sudo reboot

重启后确认:

uname -r

如果看到类似6.8.0-xx-generic,就说明 HWE 切换成功。这里有一个很容易被忽略的点:linux-generic-hwe-22.04是一个元包,它依赖的 kernel 版本会在之后的维护周期里继续升高,比如从 6.2 升到 6.8。所以不要以为装一次就固定了,以后每次apt upgrade都可能升级内核版本。这既是 HWE 的好处,也是 HWE 的坑:每次重启都可能出现一个全新的内核版本,需要持续测试。

如果发现新内核有问题,想回滚到 GA 内核,不需要卸载 HWE 包,直接在 GRUB 启动菜单里选择之前的内核启动即可。进入系统后可以顺手清理 HWE 包,具体操作是:

sudo apt remove linux-generic-hwe-22.04 linux-image-6.8.0-xx-generic linux-headers-6.8.0-xx-generic

但这里要注意:6.8.0-xx-generic只是一个示例,不同时间安装的具体版本号不同,复制命令前一定要用dpkg --list | grep linux-image查清楚再删,否则容易误删还在使用的内容。

5. 常见问题排查与避坑实录

5.1 装了官方 LTS ISO,内核却比预期新,是不是拿到非官方镜像了

这个问题特别多人遇到。我见过有位同事下载了 20.04.6 的镜像安装,结果内核显示 5.15.0,他以为是镜像包被篡改。其实这是正常现象。

官方在发布 LTS 期间,会每隔半年左右发布一个 point release,例如 20.04.1、20.04.2、20.04.3 等。后续的 point release 镜像往往会把当时的 HWE 内核做进默认安装。也就是说,如果你下载的是 20.04.5 或 20.04.6,镜像默认内核可能已经是 HWE 内核 5.15 了。这并不代表你装的是假 LTS,只是官方替你选择了更新硬件支持。

如果想装“最原汁原味”的 GA 内核 LTS,通常建议下载初始版本镜像,或者安装完成后手动卸载 HWE 包。但对于大多数用户,没必要刻意这么做,GA 和 HWE 受支持的周期在那个 LTS 版本终止之前都是可接受的。

5.2 内核升级后出现网卡消失、黑屏、驱动加载失败怎么办

这是内核升级后最让人头疼的问题。常见表现是重启后网络不通,SSH 连不上,或者屏幕卡在引导画面。

排查思路如下:

首先在服务器本机操作,进入 GRUB 菜单选择“Advanced options for Ubuntu”,然后选择旧版本内核启动。在网上很多教程会把旧内核称为“recovery mode”,一般建议不用恢复模式,直接启动旧内核即可。

进入旧内核后,查看新内核是否真的装了对应模块:

ls /lib/modules/$(uname -r)/kernel/drivers/net/ethernet

如果你的网卡驱动是以第三方源码编译的,比如用了 DKMS 包,那么新内核安装后需要重新编译。检查命令:

dkms status

如果显示Built而不是Error,基本没问题。如果状态是Error,那就重新安装一遍 DKMS 包的源码。

这类问题最常见的根源不是内核本身,而是网卡固件缺失。如果你用的是 Intel 或 Realtek 新网卡,建议先安装:

sudo apt install linux-firmware

然后再重新加载驱动:

sudo modprobe -r 网卡驱动模块名 sudo modprobe 网卡驱动模块名

需要先ip link查看网卡接口名称,才能知道驱动模块名。对于新手来说,稳妥做法是先回滚旧内核,再慢慢排查,别在旧内核里硬折腾。

5.3 查出来的内核版本不在对应关系表里,该怎么理解

有时你用uname -r查到一个类似5.4.0-100-generic的内核,表格里只写了 5.4,可能让你疑惑这个 100 是哪来的。其实-100是 Ubuntu 的包修订版本,代表在 5.4.0 这个上游版本基础上打的补丁数量。不同时间安装的 Ubuntu 20.04,这个数字会不同,比如-91、-100都是正常现象。

还有一类情况:你看到的内核版本比表格中 HWE 更高,比如 22.04 竟然变成了 6.11。这种情况通常是手动添加了第三方内核仓库,或者使用了官方 backports 策略未来的版本。只要系统能正常运行,不需要过度担心。但如果内核版本大跨度跳跃,建议查一下软件源里是否有非官方 PPA。

另外,如果你在云服务器上运行,云厂商可能会提供定制内核,比如带特殊虚拟化驱动的内核,版本号可能和 Ubuntu 官方不完全一致。这时优先以厂商文档为准,不要盲目把官方内核强行替换云厂商内核,容易踩到虚拟化驱动兼容性的坑。

5.4 小技巧:如何快速判断该不该换 HWE 内核

我在实际运维中会问三个问题:

第一,有没有新硬件识别不了?查看dmesg输出里有大量not found、failed、unknown字样,多半是内核太旧。

第二,内核版本是否已经过了上游安全支持期?比如 16.04 的 GA 内核 4.4 是很老的了,就算官方还在维护 LTS,底层内核在旧硬件上的表现也不会太激进。

第三,业务本身有没有兼容性要求?有些数据库驱动、内核模块在不同内核版本之间有 ABI 差异。如果业务跑了很久没动过,不建议为了提升一点性能去切 HWE。

在我的个人习惯里,生产环境倾向“默认 GA,明确需要才切 HWE”。桌面上换新硬件则可以直接用 HWE,因为个人电脑对数据连续性的要求通常低于服务器,而且新特性带来的体验提升更明显。

最后再分享一个自己长期使用的习惯:拿到一台 Ubuntu LTS 服务器后,第一件事就是在/etc/motd这个文件里登录提示上顺手记录一下当时的内核版本和是否 HWE,再更新一下机器。这样过几个月回去看,不用猜当初做了什么操作。系统管理里,最贵的就是“记不清当时为什么这台机器会变成这个样子”所花的时间。表格也许够用,但习惯更管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询