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

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
Y
Y Combinator Blog
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
S
SegmentFault 最新的问题
J
Java Code Geeks
V
Visual Studio Blog
H
Help Net Security
Stack Overflow Blog
Stack Overflow Blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - Franky
B
Blog RSS Feed
The Cloudflare Blog
MyScale Blog
MyScale Blog
月光博客
月光博客
Microsoft Security Blog
Microsoft Security 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 <内核版本包名>

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