Ubuntu 16.04/18.04 LTS内核降级及通过GURB指定内核

时间:2024-04-04 11:33:12

列出当前安装的所有LINUX内核

dpkg -l|grep linux-image

安装4.4.0-47内核
sudo apt-get install linux-image-4.4.0-47-generic linux-image-extra-4.4.0-47-generic

删除4.4.0-97内核

sudo apt-get purge linux-image-generic linux-image-4.4.0-97-generic linux-image-extra-4.4.0-97-generic

更新内核GRUB引导项配置
sudo update-grub
reboot

4.4.0-47内核是最后一个可以安装 “锐速 ServerSpeeder” 的内核版本。【指破解版,现在都用BBR、BBRplus了】

有些时候是没法删除内核实现轻松降级的,这个时候就需要修改gurb配置文件指定内核启动,但这就需要以下的命令配合了。

列出当前启动系统时,可选内核启动项

grep submenu /boot/grub/grub.cfg

这条跟上面这条效果一样,不过输出的内容更详细

grep gnulinux /boot/grub/grub.cfg

对于直接列出LINUX启动项的ID,可以用以下两条命令:(适用于ubuntu、debian)

Ubuntu
grep submenu /boot/grub/grub.cfg | awk '{print $7}' && grep gnulinux /boot/grub/grub.cfg |grep bbrplus-advanced|awk '{print $15}'

Debian
grep submenu /boot/grub/grub.cfg | awk '{print $8}' && grep gnulinux /boot/grub/grub.cfg |grep bbrplus-advanced|awk '{print $16}'

比如执行这条命令,输出了一个内核的ID:

root@DMIT-1ApvZFVmE7:~# grep submenu /boot/grub/grub.cfg | awk '{print $7}' && grep gnulinux /boot/grub/grub.cfg |grep bbrplus-advanced|awk '{print $15}'
'gnulinux-advanced-6c04949e-f586-47df-aa94-b2cf4bb9e92a'
 

指定内核运行:

sudo nano /etc/default/grub

方式一:(按序号)

GRUB_DEFAULT=0 表示首选内核(看dpkg -l|grep linux-image 列出来的排序)

GRUB_DEFAULT=1 表示第二个内核

生效修改(grub)重启可以见到效果。

sudo update-grub

方式二:(重定向)

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-70-generic"

先列出所有的内核,把$menuentry_id_option的值复制出来

root@DMIT-1ApvZFVmE7:~# grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-6c04949e-f586-47df-aa94-b2cf4bb9e92a' {

重定向语句写作:($menuentry_id_option>指定内核ID)

GRUB_DEFAULT="gnulinux-advanced-6c04949e-f586-47df-aa94-b2cf4bb9e92a>gnulinux-advanced-6c04949e-f586-47df-aa94-b2cf4bb9e92a"

生效修改(grub)重启可以见到效果。

sudo update-grub