Linux服务器内核升级回滚实操指南

Linux服务器内核升级回滚实操指南

Linux内核升级可以带来安全补丁、性能优化和新硬件支持,但生产服务器升级后也可能出现驱动不兼容或服务异常。
掌握内核回滚能力是必备技能。
下面按零基础也能照做的顺序,从准备到回滚一步步说清楚。

第一步:升级前必须做的三件事

不管用CentOS还是Ubuntu,操作前先记录当前内核版本:

uname -r

接着检查根分区剩余空间,内核文件通常占用几百MB,至少留出1GB空间

df -h /

最后备份关键配置文件(如 /etc/default/grub)和重要数据。
如果你在用宝塔面板,可以在后台“文件”管理器中整体备份 /boot 目录。

第二步:使用包管理器升级内核(CentOS / Ubuntu)

CentOS / RHEL 系

添加ELRepo仓库(如果不想用官方旧版内核)并安装最新主线内核:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml

安装完成后更新GRUB配置:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统:reboot

Ubuntu / Debian 系

直接更新仓库并安装新版内核(可选 linux-image-generic-hwe-22.04 等HWE内核):

apt update && apt upgrade -y
# 或安装特定版本
apt install linux-image-6.2.0-35-generic

重启后生效。

第三步:升级后如何回滚到旧内核

核心思路:启动时选择旧内核,然后删除新内核。

方法一:重启时手动选GRUB菜单

  1. 重启服务器,在GRUB引导界面(黑色背景)立刻按 Esc 或 Shift(不同系统按键可能不同)。
  2. 出现系统版本列表,通常第一项是新内核,下方会保留旧内核选项(带 (old) 或类似标注)。方向键选择旧内核,按Enter启动
  3. 进入系统后运行 uname -r 确认已回到旧内核。

方法二:修改GRUB默认启动项(永久回滚)

查看GRUB菜单项索引:

grub2-editenv list   # CentOS
grub-reboot 0        # 只让下一次启动指定项

更稳妥的方式是直接编辑配置文件

vim /etc/default/grub

找到 GRUB_DEFAULT=saved 这一行,改为 GRUB_DEFAULT=0(0代表第一个内核菜单项,通常是最新的;
要设为旧内核需先用 grep ^menuentry /boot/grub2/grub.cfg 找出旧内核的完整名称,然后写成 GRUB_DEFAULT="CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)")。
修改后执行 grub2-mkconfig -o /boot/grub2/grub.cfg 生效,再重启。

方法三:直接卸载新内核(推荐确认稳定后再做)

在旧内核环境中:

# CentOS
rpm -qa | grep kernel
# 找到新内核对应的包名,例如 kernel-ml-6.7.0-1.el8.elrepo
yum remove kernel-ml-6.7.0-1.el8.elrepo

# Ubuntu
dpkg --list | grep linux-image
apt remove linux-image-6.2.0-35-generic

卸载后再次运行 grub2-mkconfigupdate-grub 清理引导菜单。

第四步:常见问题与避坑说明

问题1:升级后无法启动(黑屏或卡在加载界面)

  • 重启进入GRUB菜单,选择上一项(旧内核)启动。进入系统后立即卸载新内核。
  • 若GRUB菜单都进不去,使用系统救援模式或Live CD挂载根分区,手动编辑 /boot/grub2/grub.cfg 或重新安装旧内核。

问题2:GRUB菜单没有显示旧内核

  • 运行 grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成配置文件。如果仍无旧内核,检查 /boot 下是否还有旧内核的vmlinuz和initramfs文件。
  • 防止被自动清理:在升级前执行 yum install dnf-plugin-versionlock 并锁定旧内核包。

问题3:升级后网络或驱动异常

  • 部分第三方驱动(如NVIDIA显卡、网卡)依赖内核模块,升级后需重新编译。建议先卸载私有驱动再升级,或使用发行版自带驱动。
  • 回滚后恢复驱动正常。

第五步:效果验证与后续习惯

无论升级还是回滚,最终用 uname -r 确认当前运行的内核版本是否符合预期。检查关键服务是否正常:systemctl status nginx ss -tlnp 等。
建议保留最近两个版本的内核,不要贪图空间一次性全部删除。将常用命令做成小脚本或记录在笔记中,下次操作直接复制。

如果你正在处理Linux服务器内核升级回滚,建议先按本文步骤在测试环境跑一遍,再上生产。
遇到异常时优先回看避坑和高频问题部分,能省下不少排查时间。

分享到:
上一篇
WordPress网站数据库修复
下一篇
Docker部署Xray指南:零基础也能快速搭建代理服务
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意