如何在 Ubuntu 和 Linux Mint 上安装最新的 Linux 内核
最新版本的 Linux 内核具有用于新设备和其他创新的驱动程序。不幸的是,许多流行的 Linux 发行版并不急于更新它们的内核。本教程将向您展示无需编译即可在 Ubuntu 和 Linux Mint 上安装任何版本的 Linux 内核是多么容易。您可以选择安装比您的发行版存储库建议的更新的内核或更旧的内核。
如果愿意,您可以轻松删除已安装的 Linux 内核并从存储库返回内核。
由于 Linux Mint 基于 Ubuntu,因此该说明完全适用于 Linux Mint 发行版,LMDE 除外。对于 LMDE(Linux Mint Debian 版),请参阅“如何在 Debian 和基于 Debian 的发行版上安装最新的 Linux 内核”。
内核更新警告
应该记住,由于内核与程序(首先是专有 GPU 驱动程序)不兼容,您可能会遇到问题,包括启动期间出现黑屏。
在大多数情况下,遇到的问题无需重新安装发行版即可解决。首先转到启动菜单中的高级选项,然后使用以前版本的内核启动。当计算机启动时,删除有问题的内核。
专有显卡驱动程序可能会导致问题,因为如果没有补丁,旧版本可能无法与最新内核兼容。如果您安装了专有视频驱动程序,请在按照以下说明进行操作之前认真考虑。也做好准备,寻找有关如何解决将发行版加载到黑屏时的问题的说明。
旧发行版的所有者应该特别小心——强烈建议只在最新的操作系统版本上更新内核。
如果您安装最新的内核,您可能会遇到的另一个很可能的问题是未解决的依赖关系问题,因此无法使用 apt 包管理器来更新和安装程序。如果你遇到新内核安装成功后无法使用apt更新包的情况,那么尝试安装适合你的旧版本内核,并卸载导致依赖问题的版本.请记住,不可能删除您引导的内核 - 在卸载之前使用任何其他版本的内核引导您的计算机。
主线 – Ubuntu 内核存储库
对于 Ubuntu,有一个包含所有版本(包括最新版本)的已编译主线内核的存储库,因此安装并不太困难——您不需要编译 Linux 内核。此外,还有用于安装任何内核的工具,包括那些带有图形界面的工具。
事实上,如果内核已经被编译,那么从服务器的一个文件夹中下载以下文件就足够了:
- linux-headers-*-generic_*_amd64.deb
- linux-headers-*_all.deb
- linux-image-unsigned-*-generic_*_amd64.deb
- linux-modules-*-generic_*_amd64.deb
并使用以下命令安装它们:
sudo dpkg -i linux*.deb
但是,通过使用用于处理内核的实用程序,可以进一步简化该过程。
Mainline(免费版 ukuu 的延续)——一个带有图形和控制台界面的程序,用于更新内核
如果您更喜欢图形界面,请使用 Mainline。
要安装该程序,请运行以下命令:
sudo apt-add-repository -y ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline
要启动图形界面,请运行:
mainline-gtk
要运行控制台版本,请运行:
mainline
使用图形版本应该很简单。在启动时,您将收到有关可用内核的信息,您可以选择任何内核并通过单击“安装”按钮进行安装。此外,还可以执行删除内核和查看每个内核版本的更改日志等操作。

使用控制台版本如下:
句法:
mainline COMMAND [OPTIONS]
选项和命令参考:
Commands:
--check Check for kernel updates
--notify Check for kernel updates and notify current user
--list List all available mainline kernels
--list-installed List installed kernels
--install-latest Install latest mainline kernel
--install-point Install latest point update for current series
--install <name> Install specified mainline kernel(1)
--uninstall <name> Uninstall specified kernel(2)
--uninstall-old Uninstall kernels older than the running kernel
--download <name> Download specified kernels(2)
--clean-cache Remove files from application cache
Options:
--include-unstable Include unstable and RC releases
--hide-unstable Hide unstable and RC releases
--debug Enable verbose debugging output
--yes Assume Yes for all prompts (non-interactive mode)
--user Override user
笔记:
(1) 从 --list 的输出中获取的版本字符串
(2) 从--list的输出中获取的一个或多个版本字符串(逗号分隔)
重新启动计算机以使用新内核。
默认情况下,您的系统将使用最新的内核启动,如果您想更改它,请转到高级启动选项

并从已安装的内核中选择您想要的版本。

ubuntu-mainline-kernel.sh 实用程序
安装 ubuntu-mainline-kernel.sh
也可以使用 ubuntu-mainline-kernel.sh 命令行实用程序安装 Ubuntu 和 Linux Mint 上的最新内核。
下载并安装 ubuntu-mainline-kernel.sh 脚本:
wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
ubuntu-mainline-kernel.sh 帮助
用法:
ubuntu-mainline-kernel.sh -c|-l|-r|-u
ubuntu-mainline-kernel.sh 选项:
Arguments:
-c Check if a newer kernel version is available
-i [VERSION] Install kernel VERSION, see -l for list. You don't have to prefix
with v. E.g. -i 4.9 is the same as -i v4.9. If version is
omitted the latest available version will be installed
-l [SEARCH] List locally installed kernel versions. If an argument to this
option is supplied it will search for that
-r [SEARCH] List available kernel versions. If an argument to this option
is supplied it will search for that
-u [VERSION] Uninstall the specified kernel version. If version is omitted,
a list of max 10 installed kernel versions is displayed
-h Show this message
Optional:
-s, --signed Only install signed kernel packages (not implemented)
-p, --path DIR The working directory, .deb files will be downloaded into
this folder. If omitted, the folder /tmp/ubuntu-mainline-kernel.sh/
is used. Path is relative from $PWD
-ll, --low-latency Use the low-latency version of the kernel, only for amd64 & i386
-lpae, --lpae Use the Large Physical Address Extension kernel, only for armhf
--snapdragon Use the Snapdragon kernel, only for arm64
-do, --download-only Only download the deb files, do not install them
-ns, --no-signature Do not check the gpg signature of the checksums file
-nc, --no-checksum Do not check the sha checksums of the .deb files
-d, --debug Show debug information, all internal command's echo their output
--rc Also include release candidates
--yes Assume yes on all questions (use with caution!)
安装最新内核版本的示例
检查当前内核版本:
uname -r
5.11.0-36-generic

内核是5.11版。
我们检查哪个版本的内核是最新的:
ubuntu-mainline-kernel.sh -c

要显示可供安装的内核版本列表,请运行以下命令:
sudo ubuntu-mainline-kernel.sh -r
比如我们要安装内核版本v5.12.11,那么命令如下(不需要指定“v”前缀):
sudo ubuntu-mainline-kernel.sh -i 5.12.11
如果现在要安装最新版本,请运行以下命令:
sudo ubuntu-mainline-kernel.sh -i

系统会询问您是否要继续,输入“y”:
Latest version is: v5.14.6, continue? (y/N)
该程序已退出 - 需要重新启动才能使更改生效。

再次查看内核版本:

安装内核后如何恢复Linux
如果您的计算机在更新内核后启动时黑屏、死机或无法正常工作,请重新启动并从 GRUB 菜单中为您的发行版选择高级选项:

然后选择以前的内核版本并按Enter:

不管什么原因,如果你想删除最新的内核,你需要用以前版本的内核引导。这是因为您无法删除当前正在使用的内核。
如果您没有看到 GRUB2 菜单,请按住 Shift 键或反复按 Esc 键(这可能因 BIOS 或 UEFI 启动以及 Ubuntu 版本而异) /您正在使用的 Linux Mint),同时引导 GRUB。 Grub 菜单应该出现,允许您选择以前的内核版本。
引导之前的内核后,您可以删除有故障的内核。 ubuntu-mainline-kernel.sh 允许您删除从 Ubuntu 内核 PPA 安装的内核。
使用 ubuntu-mainline-kernel.sh,您可以通过运行以下命令删除内核版本:
sudo ubuntu-mainline-kernel.sh -u VERSION
其中 VERSION 是内核版本,例如 5.14。您也可以在不指定版本的情况下将此实用程序与 -u 一起使用,在这种情况下,该工具将列出最多 10 个内核版本并询问您要删除哪个版本。值得注意的是,ubuntu-mainline-kernel.sh 不会在此列表中显示官方 Ubuntu 内核。
如果没有自动更新 GRUB 设置:
sudo update-grub