Ubuntu 22用指定版本内核启动

admin 2022年10月29日17:11:07评论255 views字数 2328阅读7分45秒阅读模式

最近在VM中新装了Ubuntu 22.04.1 LTS (Jammy Jellyfish),要测试些东西,比如SystemTap、crash、eBPF、rr-debugger之流。一时不查,这货自动升级内核了。一般情况下倒也没啥大不了的,但因故需要

aptitude install linux-headers-$(uname -r) linux-image-$(uname -r)-dbgsym

dbgsym下载时有1G左右,在寡妇王为祸人间的岁月里,谁特么受得了这升级频率啊。赶紧把Ubuntu 22的自动升级停了,参看

《Ubuntu 22禁用自动升级》

http://scz.617.cn:8/unix/202204211533.txt

紧停慢停自动升级,仍偷摸给我升了两个内核版本,最初的5.15.0-48渣都不剩了。

$ ls -lh /boot/vmlinuz*
lrwxrwxrwx 1 root root  25 Oct 21 06:18 /boot/vmlinuz -> vmlinuz-5.15.0-52-generic
-rw------- 1 root root 12M Sep 20 20:58 /boot/vmlinuz-5.15.0-50-generic
-rw------- 1 root root 12M Oct 13 15:49 /boot/vmlinuz-5.15.0-52-generic
lrwxrwxrwx 1 root root  25 Oct 21 06:18 /boot/vmlinuz.old -> vmlinuz-5.15.0-50-generic

下了这两个版本的dbgsym

$ ls -lh /usr/lib/debug/boot/vmlinux-*
-rw-r--r-- 1 root root 703M Sep 20 17:17 /usr/lib/debug/boot/vmlinux-5.15.0-50-generic
-rw-r--r-- 1 root root 703M Oct 13 15:40 /usr/lib/debug/boot/vmlinux-5.15.0-52-generic

突然想起,启动时没出现GRUB菜单,没让我选vmlinuz.old。随手搜了一下,做个笔记。参看

How can I boot with an older kernel version - [2011-11-23]
https://askubuntu.com/questions/82140/how-can-i-boot-with-an-older-kernel-version

Editing the default boot item in grub menu - [2011-10-18]
https://askubuntu.com/questions/68547/editing-the-default-boot-item-in-grub-menu-a-definitive-answer

重启时按住Shift,出现菜单,选"Advanced options for Ubuntu",选旧版内核启动,Shift不灵时试试ESC。

$ vi /etc/default/grub

关注这三行

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0

改成

GRUB_DEFAULT="1>0"
#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=5

"1>0"表示先在第一张菜单里选第1项(从0计),再在第二张菜单里选第0项,实际使用5.15.0-52版内核。若想用5.15.0-50版内核,改成"1>2"。启动时按Shift能看到这两张菜单,若未记住第二张菜单,可用如下命令查看

$ grub-mkconfig | grep -E "menuentry 'Ubuntu, with Linux" | awk '{print i++ " : "$1, $2, $3, $4, $5, $6, $7}'
...
0 : menuentry 'Ubuntu, with Linux 5.15.0-52-generic' --class ubuntu
1 : menuentry 'Ubuntu, with Linux 5.15.0-52-generic (recovery mode)'
2 : menuentry 'Ubuntu, with Linux 5.15.0-50-generic' --class ubuntu
3 : menuentry 'Ubuntu, with Linux 5.15.0-50-generic (recovery mode)'

注释掉GRUB_TIMEOUT_STYLE,不按Shift就会直接出现第一张菜单。GRUB_TIMEOUT为-1时表示无限等待,否则就是秒数。

update-grub
systemctl reboot
uname -r

我是那种需求驱动型的,没有需求时绝不折腾,所以一直不曾配过这茬,贻笑大方了。

在技术分享这件事情上,我一般是搂䓍打兔子,不刻意分享,分享的都是自己过去不曾折腾过、现下刚学习的新技能。所以很容易发现,我不会的东西超级多,这与不少人对我的想象有出入,换个说法,每一次分享都是自曝其短。二十多年来,发现一些有意思的现象,我分享的那种之前放狗搜不着答案的内容,其实是有价值的,偏生那种内容无人欣赏,反倒只是随手搜来翻译测试一番的大路货,应者云集,对此现象颇为感慨。

原文始发于微信公众号(青衣十三楼飞花堂):Ubuntu 22用指定版本内核启动

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月29日17:11:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Ubuntu 22用指定版本内核启动https://cn-sec.com/archives/1365142.html

发表评论

匿名网友 填写信息