1

I freshly installed Ubuntu 22.04 and I have two Linux kernels in GRUB menu/Advanced options: 5.15.0-43-generic and 5.15.0-46-generic.

By default, it tries to boot the newer one, but that crashes on this error:

not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

I have to choose the older one to get it start.

My notebook: Dell XPS 9370
I use ZFS with the encryption from Ubuntu installer.

I've tried https://askubuntu.com/a/41939/1623974, but that didn't work for me.

Under /boot I have:

  1. initrd.img -> initrd.img-5.15.0-46-generic
  2. initrd.img.old -> initrd.img-5.15.0-43-generic
  3. and similiar symlinks for vmlinuz*

EDIT:

user@computer:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: vmlinuz-5.15.0-46-generic in rpool/ROOT/ubuntu_2zhbmp
Found initrd image: initrd.img-5.15.0-46-generic in rpool/ROOT/ubuntu_2zhbmp
Found linux image: vmlinuz-5.15.0-43-generic in rpool/ROOT/ubuntu_2zhbmp
Found initrd image: initrd.img-5.15.0-43-generic in rpool/ROOT/ubuntu_2zhbmp
Memtest86+ needs a 16-bit boot, that is not available on EFI, exiting
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

user@computer:~$ dpkg --list | grep linux-image ii linux-image-5.15.0-43-generic 5.15.0-43.46 amd64 Signed kernel image generic ii linux-image-5.15.0-46-generic 5.15.0-46.49 amd64 Signed kernel image generic ii linux-image-generic 5.15.0.46.46 amd64 Generic Linux kernel image ii linux-image-generic-hwe-22.04 5.15.0.46.46 amd64 Generic Linux kernel image

EDIT2:
I've deleted 5.15.0-46 version, but when I try to do dist-upgrade or full-upgrade, it doesn't show any available updates.

Thanks for any help!

1 Answers1

0

Grub will take responsibility to tell which kernel image, initrd image are used to boot. So you need to change the option of grub config in this file "/boot/grub/grub.cfg".

        menuentry 'Ubuntu, with Linux 5.15.0-46-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-46-generi
c-advanced-6c8f350d-4e7c-4841-98e5-15ca9d43ef32' {
                recordfail
                load_video
                gfxmode $linux_gfx_mode
                insmod gzio
            ....

            echo    'Loading Linux 5.15.0-46-generic ...'
            linux   /boot/vmlinuz-5.15.0-46-generic root=UUID=6c8f350d-4e7c-4841-98e5-15ca9d43ef32 ro  quiet splash $vt_handoff
            echo    'Loading initial ramdisk ...'
            initrd  /boot/initrd.img-5.15.0-46-generic
    }

Option initrd default not load from your initrd.img, so you need to change initrd name from initrd.img-5.15.0-46-generic to initrd.img .

Hope that will help.

  • Firstly, I will have another question: Is it important to use newer versions of Linux kernel? I mean, when I don't get a newer version by apt dist-upgrade or apt full-upgrade, it shouldn't be that important, should it? – John Doe Aug 18 '22 at 08:41
  • No, it depends on your purpose. Update newer versions for security is the most reason for me to update the Linux kernel. – Toàn Công Aug 18 '22 at 18:59
  • And Ubuntu would give me a newer version on dist/full-upgrade, right? Because after fresh install I had x-46-generic, but I am not getting it with dist/full-upgrade now. – John Doe Aug 22 '22 at 08:50
  • This is out of topic's scope. So please verify if my answer is useful for your case. – Toàn Công Sep 08 '22 at 08:03