ubuntu24.04 经常更新内核,导致GPU不能用,如何锁定内核版本
在 Ubuntu 24.04 上,由于系统会自动更新内核,可能导致 NVIDIA GPU 驱动不兼容,从而导致 GPU 无法使用。你可以通过锁定内核版本来避免这个问题。
🔒 方案 1:使用 apt-mark
锁定当前内核
Ubuntu 使用 apt
进行更新,我们可以阻止内核更新:
1️⃣ 查看当前内核版本(建议记住这个版本):
uname -r
示例输出:
6.5.0-25-generic
2️⃣ 锁定当前内核版本:
sudo apt-mark hold linux-image-$(uname -r) linux-headers-$(uname -r)
这样 apt upgrade
不会 更新已安装的内核。
3️⃣ 验证锁定状态:
apt-mark showhold
如果输出包含:
linux-image-6.5.0-25-generic
linux-headers-6.5.0-25-generic
说明锁定成功。
🔓 解除锁定(如果需要更新内核)
如果以后需要更新内核,可以解除锁定:
sudo apt-mark unhold linux-image-6.5.0-25-generic linux-headers-6.5.0-25-generic
然后再运行:
sudo apt update && sudo apt upgrade
🚫 方案 2:禁用 unattended-upgrades
(自动更新)
Ubuntu 24.04 可能会自动更新内核,你可以禁用 unattended-upgrades
以防止它偷偷更新:
1️⃣ 检查 unattended-upgrades
是否启用
sudo systemctl status unattended-upgrades
如果显示 active (running)
,说明自动更新是开启的。
2️⃣ 禁用自动更新
sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades
3️⃣ 编辑 APT 配置,彻底禁用自动更新
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
修改:
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
保存 (Ctrl + X
, Y
, Enter
)。
🛠 方案 3:使用 grub
固定启动内核
如果系统已经安装了多个内核版本,你可以强制 Ubuntu 只启动某个内核:
1️⃣ 查看可用内核
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub/grub.cfg
示例输出:
0 : Ubuntu, with Linux 6.5.0-25-generic
1 : Ubuntu, with Linux 6.5.0-23-generic
记住你要固定的内核序号,比如 0
。
2️⃣ 修改 GRUB
配置
sudo nano /etc/default/grub
找到 GRUB_DEFAULT
,改为:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.5.0-25-generic"
或者用序号:
GRUB_DEFAULT=0
3️⃣ 更新 GRUB
并重启
sudo update-grub
sudo reboot
🔄 方案 4:彻底移除新内核(可选)
如果系统已经更新了内核,导致 GPU 无法使用,你可以回退到旧内核:
1️⃣ 查看所有已安装的内核
dpkg --list | grep linux-image
示例输出:
ii linux-image-6.5.0-25-generic 6.5.0-25.25 amd64
ii linux-image-6.5.0-23-generic 6.5.0-23.23 amd64
2️⃣ 删除新内核
sudo apt remove --purge linux-image-6.5.0-25-generic
3️⃣ 更新 grub
并重启
sudo update-grub
sudo reboot
✅ 结论
方法 | 适用场景 | 推荐指数 |
---|---|---|
apt-mark hold | 锁定当前内核,防止更新 | ⭐⭐⭐⭐⭐ |
禁用 unattended-upgrades | 关闭系统自动更新 | ⭐⭐⭐⭐ |
修改 GRUB | 固定启动某个内核 | ⭐⭐⭐ |
回退并删除新内核 | 已经更新导致 GPU 无法使用 | ⭐⭐⭐ |
👉 推荐使用 apt-mark hold
锁定内核,避免 GPU 问题! 🚀