Ubuntu 18.04.4内核版本切换实战:从5.3.0到4.15.0的完整指南

1. 为什么需要切换Ubuntu内核版本

在开始操作之前,我们先聊聊为什么有人需要切换内核版本。Ubuntu 18.04.4默认安装的是5.3.0内核,但实际工作中可能会遇到需要降级到4.15.0的情况。最常见的原因包括:

  • 硬件兼容性问题:某些老款硬件设备在新内核下可能无法正常工作。比如我遇到过一台老式打印机,在5.x内核下死活识别不了,降到4.15立马就能用了。

  • 软件依赖要求:部分专业软件(如某些工业控制软件)会明确要求特定内核版本。有一次部署一个机器视觉系统,供应商就明确要求必须使用4.15内核。

  • 稳定性考量:新内核虽然功能多,但可能存在未知bug。生产环境中,稳定往往比新特性更重要。

  • 开发测试需求:做内核模块开发时,经常需要在不同版本间切换测试兼容性。

在动手之前,建议先用uname -r命令确认当前内核版本。我见过有人折腾半天才发现系统本来就在用目标版本,白白浪费时间。

2. 准备工作:搭建适合的操作环境

切换内核是个精细活,准备工作不到位很容易翻车。根据我的经验,这几个步骤必不可少:

首先解决显示问题。刚装好的Ubuntu虚拟机分辨率可能很低,操作起来很不方便。用这个命令调整分辨率:

xrandr -s 1600x1200

然后是换源。默认的国外源下载速度慢不说,还可能中途失败。建议换成阿里云或清华的源。具体操作是备份原来的sources.list,然后替换为国内源地址。这个步骤虽然简单,但能节省大量等待时间。

接着更新软件包列表和升级现有软件:

sudo apt update
apt list --upgradable
sudo apt upgrade

如果你在用VMware虚拟机,建议安装增强工具实现主机-虚拟机间的复制粘贴:

sudo apt install open-vm-tools
sudo apt install open-vm-tools-desktop

重要提示:操作前务必做好数据备份!虽然内核切换一般不会影响用户数据,但安全起见最好备份重要文件。我曾经因为没备份,一次操作失误导致要重装系统,损失了半天的工作进度。

3. 查看和安装指定内核版本

Ubuntu 18.04.4默认安装的是5.3.0内核,我们要降级到4.15.0。首先查看系统已安装的内核:

dpkg --get-selections | grep linux-image

你会看到类似这样的输出:

linux-image-5.3.0-28-generic        install
linux-image-4.15.0-47-generic       install

接下来查找可用的4.15.0内核包:

apt-cache search linux | grep 4.15.0-47

确认后安装指定版本的内核和头文件:

sudo apt-get install linux-headers-4.15.0-47-generic linux-image-4.15.0-47-generic

这里有个细节要注意:每个内核版本都有带-generic和不带-generic的包。前者是通用内核,后者是头文件。实际安装时两个都要装,但-generic才是真正运行用的内核。

安装完成后,再次用dpkg --get-selections | grep linux-image查看,应该能看到新安装的4.15内核已经出现在列表中。

4. 修改GRUB启动顺序

安装完新内核后,还需要修改GRUB配置让系统默认从新内核启动。首先查看当前可用的启动选项:

grep menuentry /boot/grub/grub.cfg

输出会列出所有可用的内核启动项,找到包含"4.15.0-47-generic"的那一行,记下完整的菜单项名称。

然后编辑GRUB配置文件:

sudo vim /etc/default/grub

找到GRUB_DEFAULT=0这一行,修改为:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-47-generic"

保存后更新GRUB配置:

sudo update-grub

特别注意:这里的菜单项名称必须完全匹配,包括大小写和特殊符号。我有次因为少了个引号,导致系统直接进不了图形界面,只能通过恢复模式修复。

5. 验证和切换内核版本

完成上述步骤后,重启系统:

sudo reboot

重启后,用以下命令验证当前运行的内核版本:

uname -r

如果一切顺利,现在应该显示"4.15.0-47-generic"。

如果想切换回原来的5.3.0内核,只需再次编辑/etc/default/grub文件,将GRUB_DEFAULT改为对应的菜单项名称,然后更新GRUB并重启。

实用技巧:如果担心修改出错,可以在GRUB启动菜单界面手动选择内核版本。开机时按住Shift键(BIOS系统)或Esc键(UEFI系统)可以调出GRUB菜单,然后选择"Advanced options",就能看到所有可用的内核版本。

6. 管理多个内核版本

系统可以保留多个内核版本,方便根据需要切换。查看已安装的所有内核镜像:

dpkg --get-selections | grep linux-image

查看内核模块目录:

ls /lib/modules

查看内核头文件位置:

ls /usr/src

如果想删除旧内核释放空间,可以用:

sudo apt purge linux-image-版本号-generic

但建议至少保留一个备用内核,以防主内核出现问题无法启动。我有次删得太干净,结果内核崩溃后连恢复模式都进不去,最后只能重装系统。

7. 常见问题排查

在实际操作中可能会遇到各种问题,这里分享几个常见情况的解决方法:

问题1:安装新内核后无法启动

  • 进入恢复模式,选择老内核启动
  • 检查/etc/default/grub配置是否正确
  • 确保update-grub执行成功

问题2:硬件设备无法正常工作

  • 确认安装了对应内核版本的模块
  • 检查dmesg日志中的错误信息
  • 可能需要重新安装驱动程序

问题3:系统性能下降

  • 不同内核版本的调度策略可能不同
  • 可以尝试调整内核参数
  • 某些情况下需要重新编译内核模块

问题4:GRUB菜单不显示

  • 检查/etc/default/grubGRUB_TIMEOUT
  • 确保没有设置GRUB_HIDDEN_TIMEOUT
  • 可能需要重新安装GRUB

记住,每次修改GRUB配置后都要执行update-grub,否则更改不会生效。这个步骤看似简单,但却是最容易忽略的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值