260114-Ubuntu20.04-uname-ra指定内核升级OR降级linux-image-5.4.0-150-generic

1.显示系统全部内核

1
sudo dpkg --get-selections | grep linux

2.完全删除系统内核

1
2
sudo apt-get remove --purge linux-modules-5.4.0-42-generic
sudo apt-get remove --purge linux-modules-5.15.0-71-generic -y

ubuntu内核是5.4.0-150-generic

1
2
sudo apt update
sudo apt-cache search linux-image-5.4.0-150-generic

一次性安装老内核的 4 个包(缺少哪个后期再补)

1
2
3
4
5
sudo apt install -y \
linux-image-5.4.0-150-generic \
linux-headers-5.4.0-150-generic \
linux-modules-5.4.0-150-generic \
linux-modules-extra-5.4.0-150-generic

想禁止内核自动更新,可把已安装的老内核“hold”住:

1
sudo apt-mark hold linux-image-5.4.0-150-generic

Ubuntu18.04关闭内核自动更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---------------------------------------------------------------------------------------
/boot/grub/grub.cfg
# 关闭内核自动更新
----------------------------------------------------------------------

# 修改以下文件

sudo vim /etc/apt/apt.conf.d/10periodic
sudo vim /etc/apt/apt.conf.d/20auto-upgrades

#关闭自动更新
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

#开启自动更新
APT::Periodic::Update-Package-Lists "2";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";
----------------------------------------------------------------------

指定内核版本(5.4.0-150-generic)

1
2
sudo apt-mark hold linux-headers-5.4.0-150-generic
sudo apt-mark hold linux-image-5.4.0-150-generic

Ubuntu删除多余内核

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#查看已安装的内核
sudo dpkg --get-selections | grep linux-image

linux-image-5.15.0-139-generic install
linux-image-5.15.0-67-generic deinstall
linux-image-5.4.0-150-generic hold
linux-image-unsigned-5.15.0-67-generic install

#找出系统已经安装的内核版本
sudo dpkg --get-selections|grep linux

#卸载不需要的内核
sudo apt-get remove 内核名称
sudo apt-get remove linux-image-5.15.0-139-generic
sudo apt purge linux-image-5.15.0-139-generic

sudo apt autoremove

#修改 /boot/grub/grub.cfg文件,删除启动项
sudo cat /boot/grub/grub.cfg

Ubuntu关闭自动更新

关闭自动更新

1
2
sudo apt-mark hold linux-image-5.4.0-150-generic
sudo apt-mark hold linux-image-5.11.0-27-generic

GRUB指定内核

选择内核启动

  1. 如果您的系统中有多个内核版本,您可以在启动时选择要启动的内核版本。查看当前系统中内核的启动顺序:
1
grep 'menuentry' /boot/grub/grub.cfg

找到您想要设置为默认启动的内核条目,然后修改 /etc/default/grub 文件中的 GRUB_DEFAULT
配置项,将其设置为对应的内核启动项。例如,如果您想要设置 Ubuntu, with Linux 5.4.0-150-generic 为默认启动项,您可以这样设置:

1
sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-150-generic"/g' /etc/default/grub

然后再次更新 GRUB 并重启:

1
2
sudo update-grub
sudo reboot

查看内核

1
2
3
uname -ra

Linux jenkins171 5.15.0-139-generic #149~20.04.1-Ubuntu SMP Wed Apr 16 08:29:56 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

1768381416444


要将系统内核切换到 5.4.0-150-generic,你需要做以下几步:

1
2
3
4
5
6
7
sudo dpkg --get-selections | grep linux-image
linux-image-5.15.0-139-generic install
linux-image-5.15.0-67-generic deinstall
linux-image-5.4.0-150-generic hold
linux-image-unsigned-5.15.0-67-generic deinstall

内核如何调整到linux-image-5.4.0-150-generic

你现在的系统中已经安装了 linux-image-5.4.0-150-generic,并且它的状态是 hold,这意味着它被“锁定”了,不会被自动更新或卸载。

要将系统内核切换到 5.4.0-150-generic,你需要做以下几步:


✅ 步骤 1:确认 GRUB 中已有该内核

先确认 GRUB 启动菜单中已经有 5.4.0-150-generic 的启动项:

1
grep -i "5.4.0-150" /boot/grub/grub.cfg

如果输出中有类似 linux-5.4.0-150-generic 的条目,说明 GRUB 已经识别到它。


✅ 步骤 2:临时切换(重启后手动选)

重启系统,在 GRUB 菜单中手动选择 Advanced options for Ubuntu,然后选择 5.4.0-150-generic 启动。


✅ 步骤 3:永久切换(设置默认启动内核)

如果你想永久使用 5.4.0-150-generic,可以设置 GRUB 默认启动项:

1. 查看 GRUB 菜单顺序:

1
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub/grub.cfg

找到 5.4.0-150-generic 对应的编号(比如是 2>4 这样的格式)。

2. 编辑 GRUB 默认配置:

1
sudo nano /etc/default/grub

找到这一行:

1
GRUB_DEFAULT=0

改为:

1
GRUB_DEFAULT="2>4"

(注意:这里的 2>4 是示例,你要根据你实际的编号替换)

3. 更新 GRUB 配置:

1
sudo update-grub

✅ 步骤 4:重启系统

1
sudo reboot

⚠️ 注意事项

  • hold 状态的内核不会被自动更新,这是好事,如果你需要它长期稳定。

  • 如果你之后想取消 hold,可以用:

1
sudo apt-mark unhold linux-image-5.4.0-150-generic

完成后你可以用 uname -r 确认当前正在运行的内核版本是否为 5.4.0-150-generic