温馨提示×

怎样替换debian默认内核

小樊
47
2026-09-23 05:47:16
栏目: 智能运维

在 Debian 中“替换默认内核”通常有三层含义,下面按常见需求从简单到底层给你讲清楚,并给出可直接照做的命令。


一、安装并切换到另一个内核(最常见)

1. 查看当前内核

uname -r

2. 查看可安装的内核

apt-cache search linux-image

apt list | grep linux-image

3. 安装新内核(示例)

sudo apt update
sudo apt install linux-image-6.1.0-xx-amd64

4. 更新 grub(非常重要)

sudo update-grub

5. 重启并选择新内核

sudo reboot

默认情况下,Debian 会自动启动最新安装的内核


二、设置“默认启动某个内核”(不改最新)

方法 1:修改 GRUB 默认启动项(推荐)

查看启动项

grep '^menuentry' /boot/grub/grub.cfg

修改默认项(从 0 开始计数)

sudo nano /etc/default/grub

修改:

GRUB_DEFAULT=1

(例如第 2 个 menuentry)

sudo update-grub

方法 2:直接指定内核版本名(更稳)

GRUB_DEFAULT="Advanced options for Debian>Debian GNU/Linux, with Linux 6.1.0-xx-amd64"

三、彻底“替换”默认内核(删除旧内核)

⚠️ 风险操作,务必确认新内核可用

1. 查看已安装内核

dpkg -l | grep linux-image

2. 删除旧内核

sudo apt remove --purge linux-image-5.10.0-xx-amd64

3. 更新 grub

sudo update-grub

四、使用自定义编译内核(高级)

1. 编译内核

make menuconfig
make -j$(nproc)
sudo make modules_install
sudo make install

2. 更新引导

sudo update-grub

五、常见问题

Q:重启还是旧内核?

  • 没执行 update-grub
  • 被 cloud-init / 厂商 grub 覆盖
  • 使用了 systemd-boot 而不是 grub

Q:如何确认引导方式?

ls /sys/firmware/efi && echo "UEFI" || echo "BIOS"

六、总结一句话

安装新内核 → update-grub → 重启 →(可选)删旧内核

如果你能说明:

  • Debian 版本(11 / 12)
  • 是否服务器 / 云厂商
  • 想用官方内核还是自定义内核

我可以给你更精确的命令

0