序言

近来须要对服务器的Linux内核版本进行调整以安装特定软件,无奈的是该软件支持的Kernel版本是特定的,假如手动更新LinuxKernel,版本都会超过其支持范围linux kernel版本,被迫只得按照其支持范围安装LinuxKernel。

LinuxKernel影响很大,降级很可能导致系统不稳定,有能力的朋友最好去锤软件提供方。

本文中如不提醒,都是以root身分进行操作,省去每次sudo的工作了。可以通过sudosu获得root身分。

正文检测已安装内核

查看已安装的内核版本:

dpkg --get-selections |grep linux-image

若果出现有的内核旁边是deinstall,意思是

thepackageisselectedforde-installationorremoval(i.e.wewanttoremoveallfiles,exceptconfigurationfiles).

版本t0_linux kernel版本_版本英文

--apt-dpkg--get-selectionsshowspackagesmarked"deinstall"-AskUbuntu

查看GRUB启动项中内核版本:

grep 'menuentry |submenu ' /boot/grub/grub.cfg | cut -f2 -d "'"

安装旧内核失败尝试1

参考了

apt-HowdoIinstallanoldkernel?-AskUbuntu

步入该链接~kernel-ppa/mainline/

然而遗憾的是,我要安装的5.4.0-84并没有找到,这儿有5.4.80,5.4.85,5.4.0中虽然也没有-84,也可能是我不了解相关的命名习惯,在此罢手。

尝试2(成功)

又找到了一个比较老的链接,更简单,就是ubuntu的aptinstall即可。

InstallandBootanOlderKernelinUbuntu

之后还偶然听到了这个链接,其实是用前面的方式出了问题,网路蓝牙适配器都无了。

drivers-Installedolderkernelin20.04butwireless,bluetoothandethernetadaptersaremissing-AskUbuntu

版本t0_linux kernel版本_版本英文

综合两个联接,安装为

apt install linux-image-5.4.0-84-generic linux-headers-5.4.0-84-generic linux-modules-extra-5.4.0-84-generic

安装很顺利,没有报错。下一步是设置Grub的启动项。

首先查看Entry:

grep submenu /boot/grub/grub.cfg

grep gnulinux /boot/grub/grub.cfg

版本t0_版本英文_linux kernel版本

linux kernel版本_版本t0_版本英文

我的环境下输出的内容如图所示。

之后按照输出,更改`/etc/default/grub`,中的默认启动项。

vim /etc/default/grub

更改后的GRUB_DEFAULT大约类似下边这样。

GRUB_DEFAULT="gnulinux-advanced-dc2515a0-8714-42c7-825a-ec047c6cfd6e>gnulinux-5.4.0-58-generic-advanced-dc2515a0-8714-42c7-825a-ec047c6cfd6e"

这儿还可以更改一下GRUB_TIMEOUT,由于我的环境是服务器,重启须要许久,所以就启动kernel选择同时设置等待时间长一些以免不留神错过了选择。具体就是把STYLE从hidden改成menu,时间默认应当是0,-1的话是等待选择linux操作系统好吗,其他数字就是秒数了。

GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=30

版本t0_linux kernel版本_版本英文

之后执行

update-grub

版本t0_版本英文_linux kernel版本

之后就要重启机器了。重启机器后,内核早已降级到了指定版本。这儿有一个须要注意的点,GRUB文件中,DEFAULT前面的内容由于是两层linux kernel版本,所以要注意联接两层的>,前后不能有空格linux公社,否则就手动进了第二层的第一个启动选项了。

重启成功后,用MobaXterm进行SSH联接可以看见里面的提示语。降级成功。或则用uname-a验证结果。

本文原创地址://q13zd.cn/rhzfwqsaztdb.html编辑:刘遄,审核员:暂无