温馨提示×

centos如何替换默认内核

小樊
48
2026-09-15 10:25:09
栏目: 智能运维

在 CentOS 中“替换默认内核”通常有两种含义:

  1. 安装新内核,并将其设为默认启动内核
  2. 删除旧内核,只保留新内核(彻底替换)

下面分情况说明(适用于 CentOS 7 / 8 / Stream)。


一、查看当前内核与启动项

uname -r

查看已安装内核:

rpm -qa | grep kernel

查看 GRUB 启动项:

# CentOS 7
cat /boot/grub2/grub.cfg | grep menuentry

# CentOS 8 / Stream
ls /boot/loader/entries/

二、设置默认内核(不删除旧内核)

CentOS 7(grub2)

查看可用内核索引:

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

设置默认内核(例如 index 0):

grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg

验证:

grub2-editenv list

CentOS 8 / Stream(grub2 + BLS)

查看内核顺序:

grubby --info=ALL

设置默认内核:

grubby --set-default /boot/vmlinuz-<新内核版本>

例如:

grubby --set-default /boot/vmlinuz-5.14.0-362.el9.x86_64

验证:

grubby --default-kernel

重启生效:

reboot

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

⚠️ 谨慎操作,至少保留一个可用内核

删除指定旧内核

yum remove kernel-<版本>
# 或
dnf remove kernel-<版本>

只保留最新内核(CentOS 8 / Stream)

dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)

设置最新内核为默认(通常自动已是):

grubby --set-default /boot/vmlinuz-$(uname -r)

四、UEFI 系统特别注意

如果是 UEFI 启动:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

五、常见问题

  • 重启后还是旧内核?
    检查 grubby --default-kernel 和 BIOS 启动顺序

  • 内核不兼容?
    保留旧内核,方便回滚


如果你能说明:

  • CentOS 版本(7 / 8 / Stream)
  • 是否 UEFI
  • 是想升级内核还是彻底替换

我可以给你更精确的操作命令。

0