ubuntu22.04 的内核版本为什么有多个?

在我的 amd5700g 上安装了一个 ubuntu22.04 Desktop

发现 linux 内核版本是 6.2.0

╭─pon@amd5700g ~/Downloads                                                                                                                                                                                                        
╰─➤                                                                                                                                                                                                                               

 *  History restored                                                                                                                                                                                                              

            .-/+oossssoo+/-.               pon@amd5700g                                                                                                                                                                           
        `:+ssssssssssssssssss+:`           ------------                                                                                                                                                                           
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04.3 LTS x86_64                                                                                                                                                          
    .ossssssssssssssssssdMMMNysssso.       Host: MS-7B89 1.0                                                                                                                                                                      
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 6.2.0-26-generic                                                                                                                                                               
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 48 secs                                                                                                                                                                        
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 2345 (dpkg), 31 (snap)                                                                                                                                                       
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: zsh 5.8.1                                                                                                                                                                       
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 3840x2160                                                                                                                                                                  
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: Unity                                                                                                                                                                              
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: Mutter                                                                                                                                                                             
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   WM Theme: Adwaita                                                                                                                                                                      
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Theme: Yaru [GTK2/3]                                                                                                                                                                   
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Icons: Yaru [GTK2/3]                                                                                                                                                                   
  +sssssssssdmydMMMMMMMMddddyssssssss+     Terminal: Tabby                                                                                                                                                                        
   /ssssssssssshdmNNNNmyNMMMMhssssss/      CPU: AMD Ryzen 7 5700G with Radeon Graphics (16) @ 3.800GHz                                                                                                                            
    .ossssssssssssssssssdMMMNysssso.       GPU: AMD ATI 30:00.0 Cezanne                                                                                                                                                           
      -+sssssssssssssssssyyyssss+-         Memory: 4981MiB / 27939MiB                                                                                                                                                             
        `:+ssssssssssssssssss+:`                                                                                                                                                                                                  
            .-/+oossssoo+/-.

但是安装的 ubuntu22.04 Server 版本的 linux 内核是 5.15.0 版本

            .-/+oossssoo+/-.               ponponon@M60GPU 
        `:+ssssssssssssssssss+:`           ------------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04.3 LTS x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: SYS-1028GR-TRT 123456789 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.15.0-76-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 59 days, 20 hours, 16 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 1414 (dpkg), 4 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: zsh 5.8.1 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1024x768 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   Terminal: node 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   CPU: Intel Xeon E5-2690 v4 (56) @ 3.500GHz 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   GPU: NVIDIA Tesla M60 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   GPU: NVIDIA Tesla M60 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Memory: 2212MiB / 32016MiB 
  +sssssssssdmydMMMMMMMMddddyssssssss+
   /ssssssssssshdmNNNNmyNMMMMhssssss/                              
    .ossssssssssssssssssdMMMNysssso.                               
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.

这个差异是因为 desktop 和 server 版本引起的吗?

但是从我之前的观察发现,好像即便在同一个 ubuntu 版本下(比如 18、20、22)都是 desktop 或者 server 都可能有不同的 linux 内核版本

ubuntu 的内核版本不固定的吗?

阅读 6.4k
1 个回答

https://ubuntu.com/kernel

ubuntu kernel说明,最新的LTS镜像会安装-hwe内核,这个是高版本的内核,通常应该是下个LTS版本使用的内核,每个版本的内核支持时间可以在上述链接找到图文说明。https://ubuntu.com/kernel/lifecycle

此外,ubuntu还有其他可用备选内核,参考: https://ubuntu.com/kernel/variants#current-variant-kernels

image.png

如果你安装的包是linux-generic,就是5.15内核,如果安装的是linux-generic-hwe,那么当前就是6.2版本内核,以此类推。

同理,如果你想对已经运行中的ubuntu实例也用上6.2内核,那么可以安装linux-generic-hwe包,卸载掉linux-generic包就OK了。

sudo apt install -y linux-generic-hwe
sudo apt purge linux-generic
# 由于 linux-generic 只是虚包,会实际依赖于一个内核安装包,因此需要 autoremove 删除这个依赖才能彻底卸载掉低版本内核
sudo apt autoremove --purge

此外,对于arm架构还有类似于 linux-generic-64k[-hwe-22.04] 这种内核,启用了arm64 64K 页大小。

简而言之,如果你从ubuntu官方安装镜像安装,那么对于x.04这种原始LTS版本,那么安装的kernel包为linux-generic,如果安装的是x.04.2之后的LTS版本,那么通常会安装linux-generic-hwe kernel.

关于HWE的说明,也可以参考以下补充参考链接:

简单来说,就是Ubuntu认为硬件更新迭代可能比较快,而LTS版本支持时间比较长(已经从20.04版本之前的5年延长到目前的10年支持),所以旧的LTS版本可能无法跟上新硬件的适配,因此Ubuntu搞了个HWE包,让旧的LTS版本用上新的LTS版本的内核以便可以在不升级整个OS版本(do-release-upgrade)的情况下使用新版本的内核,以支持新的硬件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题