Boot partition not mounted, F41 booting with F40 kernels

I noticed a weird issue: My Fedora 41 is booting with F40 kernels. This is happening because /boot is not mounted, therefore when installing newer kernel versions, they are being installed into my root partition’s /boot folder, but this is on a BTRFS partition, not in the boot partition as it should be.

I think I know how to fix this, but I’m writing here in case

  • this is a known issue with a known workaround/fix
  • this someone else is running into the same problem

My machine is an old BIOS (pre-UEFI) computer, so it has an MBR and an ext4 boot partition. This boot partition and the MBR are working fine, so I’m booting into F41 with kernel 6.8.10-300.fc40.x86_64, even though I’m regularly updating my system.

According to RPM, I have 3 kernels installed:

$ rpm -q kernel
kernel-6.8.10-300.fc40.x86_64
kernel-6.11.8-300.fc41.x86_64
kernel-6.11.10-300.fc41.x86_64

However, by /boot folder only has kernel 6.11.8 and 6.11.10, but not 6.8.10. Also, when booting, Grub displays 6 different F40 kernels, 6.8.8, 6.8.9 and 6.8.10.

While digging deeper I noticed that my boot partition is not mounted and also not listed in /etc/fstab – and this /etc/fstab file has not been touched since 2024-07-20, months before I updated to F41 (2024-10-18).

I guess I’ll need to restore the entry of /boot in my fstab and reinstall at least the last kernel, maybe reinstall grub.

1 Like

I fixed the problem following these steps:

  1. restore the line for /boot in my /etc/fstab from a backup
  2. execute systemctl daemon-reload as root as documented in /etc/fstab
  3. execute mount /boot as root to mount the boot partition
  4. double-checked that /boot now contains the old F40 boot partition containing the F40 kernels shown by grub
  5. update my system using dnf upgrade, which includes installing a newer kernel
  6. reboot and hope it worked (spoiler: It did)
3 Likes