惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
Y
Y Combinator Blog
WordPress大学
WordPress大学
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
小众软件
小众软件
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
GbyAI
GbyAI
I
InfoQ
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
C
Check Point Blog
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
量子位
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog

博客园 - PKICA

单片机 MCU,嵌入式,MPU,DSP,FPGA,PLC 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 rust线程-std::thread::park和unpark 配合Builder实现轻量级的线程挂起与唤醒 rust自定义线程属性std::thread::Builder rust线程 rust关联函数 rust高并发设计实践进阶 rust高并发设计实践 rust性能优化与安全边界 联合体union在rust和C语言中有什么区别 rust并发与异步编程 如何预防rust不良的代码设计总结 rust类型系统与零成本抽象 rust内存模型 告别大显存依赖!用 Rust 新一代深度学习框架 Burn 打造纯 CPU 文本分类推理引擎 rust类型系统标记 编译配置解答 git实用命令 rust底层设计理念值得注意的几个地方总结
ubuntu切换到指定内核版本
PKICA · 2026-03-13 · via 博客园 - PKICA

当系统更新提示有安全更新时,自动更新了,更新了几个版本后,发现原有的一些软件不可用了。那么,咱就回滚内核吧。

1. 检查当前内核版本

在开始降级内核之前,首先需要确认当前系统中安装的内核版本。以下是在Ubuntu系统中查看当前内核版本的命令:

uname -r

这将显示当前运行的内核版本号。

2. 查询可用的内核版本

Ubuntu系统通常会保留一定数量的内核版本,以便用户在需要时进行降级。以下命令可以列出可用的内核版本:

dpkg --get-selections | grep linux-image

如果系统没有保留降级版本,可以尝试使用以下命令手动查找:

apt-cache search linux-image | grep <内核版本号>

其中<内核版本号>是你想要降级的内核版本。

3. 安装指定版本的内核

找到可用的内核版本后,可以使用以下命令进行安装:

sudo apt-get install <内核版本包名>

其中<内核版本包名>是从上一步查询结果中获取的内核包名。

获取内核相关的包

dpkg -l | grep -E "linux-(headers|image|modules-extra|tools)+" | grep 6.14.0-37 | awk '{print $2}'

预期输出:

linux-headers-6.14.0-37-generic
linux-image-6.14.0-37-generic
linux-modules-extra-6.14.0-37-generic
linux-tools-6.14.0-37-generic

如缺少,则需要安装相应包,比如:

 sudo apt install linux-image-6.11.0-29-generic

4. 修改内核启动顺序

法1:

安装指定版本的内核后,需要将其设置为默认启动内核。以下命令可以列出当前的内核启动顺序:

$sudo grep "menuentry 'Ubuntu, with Linux" /boot/grub/grub.cfg | nl

如果目标内核位于子菜单中,使用格式 "主菜单位置>子菜单位置"。子菜单位置:在输出的menuentry标签中找到你想要设置为默认启动的内核版本的序号n,,计算对应的submenu序号便为 n-1 , 并在“/etc/default/grub”中设置(下面例子假设子菜单位置为3,):

#GRUB_DEFAULT=0 #一般默认是 这个,把它注释掉即可。

GRUB_DEFAULT="1>2"

或者法2:

修改grub文件,设置默认启动内核,vim /etc/default/grub
把 GRUB_DEFAULT=0
修改为 GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.2.0-39-generic"

5. 生效grub配置

修改grub配置后,需要保存并重启生效:

sudo update-grub
sudo reboot

6. 移除不用的内核

为了优化系统性能和节省空间,可以移除不再需要的内核版本。以下命令可以列出所有可用的内核包:

dpkg --get-selections | grep linux-image

然后,使用以下命令卸载不需要的内核包:

sudo apt-get remove <内核版本包名>

其中<内核版本包名>是从上一步查询结果中获取的内核包名。

7. 关闭内核或包的自动更新

为了防止系统在下次更新时自动安装新的内核版本,可以关闭内核或包的自动更新。以下命令可以禁用内核的自动更新:

sudo apt-mark hold <内核版本包名>

其中<内核版本包名>是从上一步查询结果中获取的内核包名。