Ubuntu 22.04 升级/回滚指定内核版本

1、列出当前系统中所有安装的内核版本:

# dpkg --list | grep linux-image

ii  linux-image-5.15.0-88-generic         5.15.0-88.98                            amd64        Signed kernel image generic

rc  linux-image-5.15.0-91-generic         5.15.0-91.101                           amd64        Signed kernel image generic

rc  linux-image-5.15.0-92-generic         5.15.0-92.102                           amd64        Signed kernel image generic

rc  linux-image-5.15.0-94-generic         5.15.0-94.104                           amd64        Signed kernel image generic

ii  linux-image-5.15.0-97-generic         5.15.0-97.107                           amd64        Signed kernel image generic

ii  linux-image-generic                   5.15.0.97.92                            amd64        Generic Linux kernel image

该命令列出的内核版本是服务器所有存在过的,不管是目前存在的还是已经移除的都会显示在这里。可以使用命令grep "linux-image" /var/log/apt/history.log查看内核日志:

Install: linux-modules-extra-5.15.0-94-generic:amd64 (5.15.0-94.104, automatic), linux-image-5.15.0-94-generic:amd64 (5.15.0-94.104, automatic), linux-headers-5.15.0-94-generic:amd64 (5.15.0-94.104, automatic), linux-modules-5.15.0-94-generic:amd64 (5.15.0-94.104, automatic), linux-headers-5.15.0-94:amd64 (5.15.0-94.104, automatic)
Upgrade: linux-headers-generic:amd64 (5.15.0.92.89, 5.15.0.94.91), linux-generic:amd64 (5.15.0.92.89, 5.15.0.94.91), linux-image-generic:amd64 (5.15.0.92.89, 5.15.0.94.91)
Remove: linux-modules-extra-5.15.0-92-generic:amd64 (5.15.0-92.102), linux-image-5.15.0-92-generic:amd64 (5.15.0-92.102), linux-headers-5.15.0-92-generic:amd64 (5.15.0-92.102), linux-modules-5.15.0-92-generic:amd64 (5.15.0-92.102), linux-headers-5.15.0-92:amd64 (5.15.0-92.102)
Install: linux-modules-extra-5.15.0-97-generic:amd64 (5.15.0-97.107, automatic), linux-image-5.15.0-97-generic:amd64 (5.15.0-97.107, automatic), linux-headers-5.15.0-97-generic:amd64 (5.15.0-97.107, automatic), linux-modules-5.15.0-97-generic:amd64 (5.15.0-97.107, automatic), linux-headers-5.15.0-97:amd64 (5.15.0-97.107, automatic)
Upgrade: linux-headers-generic:amd64 (5.15.0.94.91, 5.15.0.97.92), linux-generic:amd64 (5.15.0.94.91, 5.15.0.97.92), linux-image-generic:amd64 (5.15.0.94.91, 5.15.0.97.92)
Remove: linux-modules-extra-5.15.0-94-generic:amd64 (5.15.0-94.104), linux-image-5.15.0-94-generic:amd64 (5.15.0-94.104), linux-headers-5.15.0-94-generic:amd64 (5.15.0-94.104), linux-modules-5.15.0-94-generic:amd64 (5.15.0-94.104), linux-headers-5.15.0-94:amd64 (5.15.0-94.104)

从日志中可以看到linux-modules-extra-5.15.0-92-generic被移除,如果要安装这个版本的内化就需要再次进行安装。

2、查看系统现存的内核版本

# grep menuentry /boot/grub/grub.cfg

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b96d83c0-7314-427f-b0a6-296549d9718b' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-b96d83c0-7314-427f-b0a6-296549d9718b' {
        menuentry 'Ubuntu, with Linux 5.15.0-97-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-97-generic-advanced-b96d83c0-7314-427f-b0a6-296549d9718b' {
        menuentry 'Ubuntu, with Linux 5.15.0-97-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-97-generic-recovery-b96d83c0-7314-427f-b0a6-296549d9718b' {
        menuentry 'Ubuntu, with Linux 5.15.0-88-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-88-generic-advanced-b96d83c0-7314-427f-b0a6-296549d9718b' {
        menuentry 'Ubuntu, with Linux 5.15.0-88-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-88-generic-recovery-b96d83c0-7314-427f-b0a6-296549d9718b' {

3、我们需要将的是linux-image-5.15.0-92-generic,但是目前系统中并没有该版本,因此需要安装

apt update
apt-get install linux-image-5.15.0-92-generic -y

4、修改grub文件,把GRUB_DEFAULT选项按照第二部的内容修改如下

sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=\"Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-92-generic\"/' /etc/default/grub

5、更新grub并重启

update-grub
shutdown -r now

完成后有可能出现安装软件报错找不到 linux-header ,需要安装以下包:

sudo apt install linux-headers-$(uname -r) -y

最后查看并删除未被使用的多余内核

dpkg --list | grep linux-image
sudo apt autoremove --purge
© 版权声明
THE END
喜欢就支持一下吧
点赞197 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容