如何降级Linux内核

Linux 的生死存亡取决于内核。如果您熟悉 GNU/Linux 的工作原理,Linux内核。其他一切都只是与之交互的工具。这些工具可以让你完成实际的工作,但如果没有内核,它们就什么也做不了。

操作系统的内核有点像您的心血管系统。你往往会忘记它,直到出现问题为止。这种情况并不常见,但内核升级可能而且确实会出错。当更新后的内核无法让您使用计算机时,就该降级了。

另请阅读: 如何在 Ubuntu 上构建和安装自定义内核

引导至较旧的内核

如果您最近更新了内核,那么好消息是此过程几乎永远不会摆脱旧内核。唯一可能发生这种情况的情况是您立即卸载了旧内核,这不是一个好主意。

要启动旧计算机,您需要重新启动计算机。当计算机加载 GRUB 时,您可能需要按某个键来选择非标准选项。在某些系统上,较旧的内核将显示在此处,而在 Ubuntu 上,您需要选择“Ubuntu 的高级选项”来查找较旧的内核。

选择旧内核后,您将启动进入系统。一切都应该像以前一样工作。如果仍然遇到问题,则可能不是内核问题。

另请阅读: 编译您自己的 Linux 内核时的 5 个有用技巧

删除有问题的内核

如果您已启动计算机并且一切正常,则升级后的内核可能是问题所在。从技术上讲,您可以在每次启动计算机时执行此操作,但删除有问题的内核更有意义。

您可以使用发行版的包管理工具来完成此操作。根据您使用的系统,这会有所不同。您还需要知道要删除的内核版本。这可以在启动过程中的 GRUB 屏幕上找到。对于 Ubuntu 和其他基于 apt 的发行版,您可以使用如下命令:

sudo apt remove linux-image-VERSION-generic linux-headers-VERSION-generic

您需要更换VERSION上面包含您要删除的问题内核的确切版本号。如果你只是想阻止它们一段时间,你可以使用以下命令:

sudo apt-mark hold linux-image-generic linux-headers-generic

避免未来的问题

避免此类问题的最简单方法之一是避免立即更新。这将使您有机会查看是否会弹出有关用户遇到内核问题的任何报告。您应该特别留意与您拥有相似硬件的用户。

如果稳定性对您来说很重要,您还可以选择使用 LTS 发行版。除了安全更新外,这些更新的频率较低。这意味着您可以相信它们比普通发行版更稳定。

常见问题解答

降级我的内核会破坏任何东西吗?

当你处理操作系统的这样一个核心部分时,这总是有可能的。也就是说,如果您只是升级了,那么恢复到较旧的内核应该不会导致太多问题。

直接与内核交互的驱动程序和其他软件可能有错误。如果该软件的旧版本已被删除或更新,您可能还需要降级。

我可以判断内核更新是否适用于我的系统吗?

如上所述,在进行重大升级之前检查用户报告总是很方便的。请务必查看基于您使用的 Linux 发行版的用户论坛,看看是否有用户遇到重大问题。如果您发现大量用户遇到问题,您可能需要等到问题得到解决后再升级。

如何检查系统上已安装的内核?

有多个命令可以查看安装了哪些内核,具体取决于您运行的 Linux 发行版。以下内容适用于大多数版本:

find /boot/vmli*

在 Arch Linux 和基于 Arch 的发行版上,您可以使用以下命令:

pacman -Q linux

在 Ubuntu、Debian 以及基于它们的系统上,您可以使用以下命令:

dpkg --list | grep linux-image

在 Red Hat、Fedora 和其他类似发行版上,您可以使用以下命令:

rpm -qa kernel

这不是一个详尽的列表,但它涵盖了相当数量的发行版。如果您使用其他发行版,请检查文档。

我如何知道我当前正在使用哪个内核?

您可以通过一个简单的命令来完成此操作。打开终端并键入以下命令。

uname -rs

您将看到一个包含正在运行的内核的版本信息的字符串。它看起来像这样:

Linux 5.11.0-41-generic

深入了解

虽然降级是处理内核相关问题的最简单方法,但这并不是唯一的方法。内核并不是系统中唯一可能导致启动问题的部分。如果您的系统无法启动,这可能会令人非常沮丧。

在互联网上搜索问题可能很有用,但可以这么说,如果您了解幕后发生的事情,这会有所帮助。要更好地了解启动系统时发生的情况,请查看我们的了解 Linux 启动过程的指南.