说明
Ubuntu系统切换内核需要慎重操作。
安装内核有2种方式,分别为apt安装和deb安装,推荐使用apt安装方式安装Linux内核。
安装内核时若提示缺少依赖软件版 libssl1.1,可按下文方法安装 libssl1.1 软件包。
安装新内核后不要立刻卸载原内核,因为新安装内核可能无法正常启动系统或确实相关驱动,此时需要使用原内核启动系统并解决问题。
查看当前内核
运行以下命令可查看当前内核:
uname -a
示例输出如下:
Linux admin1-MS-7E06 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
则当前Linux内核版本为 6.2.0-39-generic 版本。
查看已安装内核
dpkg -l | grep linux-image
其中,ii 状态为完整安装的内核,rc 状态为已卸载内核。
安装指定内核
安装 libssl1.1 依赖
安装内核时若没有提示缺少依赖 libssl1.1,则可省略此步骤。
安装内核时若提示缺少依赖 libssl1.1,且通过apt无法安装。
则按下文方法添加软件源即可安装 libssl1.1 软件包。
手动添加软件源:
# 备份软件源列表,以防后续使用
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 编辑软件源列表
sudo vim /etc/apt/sources.list
# 添加以下软件源
deb http://security.ubuntu.com/ubuntu focal-security main
# 保存文件
或自动添加软件源:
echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
更新软件源并安装:
# 更新软件源
sudo apt update
# 安装 libssl1.1 软件包
sudo apt install libssl1.1
方式1(推荐):apt安装
以 Linux-image-5.15.0-88-generic 为例。
更新软件源:
sudo apt update
查询已安装内核:
dpkg -l | grep linux-image
查询可安装内核列表:
sudo apt-cache search linux-image
# or
sudo apt-cache search linux-image | grep generic
安装5.15.0-88版本Linux内核:
sudo apt install linux-headers-5.15.0-88-generic
sudo apt install linux-image-5.15.0-88-generic
安装对应内核模块:
sudo apt install linux-modules-5.15.0-88-generic
安装对应内核驱动:
此模块包含网卡和蓝牙等驱动,若不安装此模块,则新内核无法使用网络和蓝牙等功能。
sudo apt install linux-modules-extra-5.15.0-88-generic
安装对应内核显卡驱动:
此模块包含显卡驱动(以525版本为例),与内核版本(5.15.0-88)绑定,不会与旧内核的显卡驱动有冲突。
sudo apt install linux-modules-nvidia-525-5.15.0-88-generic
查询内核是否安装成功:
dpkg -l | grep linux-image
安装成功则会有如下输出:
ii linux-image-5.15.0-88-generic 5.15.0-88.98 amd64 Signed kernel image generic
方式2:deb安装
以 Linux-image-5.15.0 为例。
从官网下载内核deb安装包,下载地址:https://kernel.ubuntu.com/mainline/
选择版本为5.15,如下图:
选择架构为amd64,如下图:
选择下载以下几个文件:
使用dpkg命令安装下载的内核:
sudo dpkg -i [package.deb]
查询内核是否安装成功:
dpkg -l | grep linux-image
禁止内核更新
若内核自动更新,则会影响当前指定的内核,因此可禁止内核自动更新,命令如下:
sudo apt-mark hold linux-image-generic linux-headers-generic
输出如下:
linux-image-generic 设置为保留。
linux-headers-generic 设置为保留。
若想开启内核自动更新,命令如下:
sudo apt-mark unhold linux-image-generic linux-headers-generic
查看固定的软件:
apt-mark showhold
切换内核
添加Ubuntu开机引导后,在引导界面选择 Advanced options for Ubuntu,如下图:
即可进入Ubuntu高级选项,选择对应的Ubuntu内核即可启动系统,注意不要选择 recovery mode 的内核,以 5.15.0-88 版本内核为例:
成功启动指定内核后,可查看内核版本,并检查网络、蓝牙、显卡驱动是否正常,如下图:
其中,uname -a
的输出如下:
Linux admin1-MS-7E06 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
修改默认引导
修改默认引导可以让电脑开机时默认从指定的内核启动系统。
修改grub配置文件即可修改默认引导