Linux快速切换内核版本-适用于全版本
linux快速切换内核版本,可升级/降级到指定内核版本,适用于ubuntu/debian,后续还会继续完善
看到标题就晓得是为啥而写的吧,没错,它就是记录Linux的内核切换的一些常见问题,尽可能把平时一些经验和真实有效的心得写下来,同时也希望可以给需要切换内核版本的大伙带来方便,感受到"小小内核切换"竟然如此简单……
友情提醒:如果是真实服务器,还是要谨慎切换为好……
一、ubuntu/debian快速切换合适内核
【使用场景】直接更换一个5.15.0的内核版本,并且在源上有对应镜像可拉取
第一步:拉取需要内核镜像
// 查看已下载的内核
dpkg -l |grep linux-image
//查看需要下载的内核,或者可下载的内核版本
sudo apt list linux-headers-*
sudo apt list linux-headers-5.15.*-*-generic linux-image-5.15.*-*-generic
//在这里,我是选择了5.15.0-73
apt install linux-headers-5.15.0-73-generic linux-image-5.15.0-73-generic
如果想要直接更新为最新版内核,可以直接执行这条指令
apt install linux-image-amd64
注:这条指令适用于AMD架构,ARM的暂时不考虑
第二步:给服务器更换内核
先是读取下grub文件,看下自个需要切换的内核版本的顺序
grep gnulinux /boot/grub/grub.cfg
注意图中的顺序,第一个menuentry开始,标记为0,逐一开始数到要切换的内核版本
在这里,5.15.0-73在第五行,标记为4
第三步:编辑grub文件,修改GRUB_DEFAULT内容
相关指令
vim /etc/default/grub
关于grub文件修改也有两种,但都是只需要修改GRUB_DEFAULT字段
第一种:将相关信息填写,看下读取grub.cfg文件的截图,直接将需要添加的内核信息加进去,如5.15.0-73
gnulinux-5.15.0-73-generic-advanced-efa51b8c-2824-4ba8-a589-9d7c10b1f689
第二种:填写相关顺序,如我要切换为5.15-73,从0开始数,为第四个,就填写1 >4
模板是 1>xxxx,xxx是要切换内核的标识号

第四步:更新&&重启服务器
sudo update-grub
reboot
注意:重启后一定要执行【uname -r】,看看是否执行成果
二、缺少内核头文件或者内核开发包
很多情况下,有问题或者比较旧的内核版本,官方会删除掉对应的头文件包,会拉去不下来的
Ⅰ 安装内核头文件
安装前可以执行这条指令,查看是否存在对应的包
ls /usr/src/linux-headers-*
ls /lib/modules/
准备下载
apt list linux-headers-* //先看下有没有自己匹配的
apt install linux-headers-xxxx // 下载对应版本
Ⅱ 安装内核开发包
我一般是从下面这个链接,找对应内核版本的开发包,然后下载到/opt目录下,执行下面这条指令
通常就是选择 linux-headers-xxxxx-amd64文件,进行下载
# 编译包 强制编译,拒绝自动升级 无视编译
# centos
rpm -ivh --force kernel-devel-4.18.0-193.el8.x86_64.rpm --nodeps
# debian/ubuntu
dpkg -i *.deb
小Tips
若有任何切换内核中,出现报错信息,欢迎在评论区留言,看到了,会第一时间回复
参考文献
- https://blog.csdn.net/m0_46249060/article/details/134291880
- https://blog.csdn.net/u010608421/article/details/115658479
- https://skyao.io/learning-ubuntu-server/docs/installation/kernel/upgrade/
更多推荐


所有评论(0)