EFI partition fails to mount and arch versions mismatch

Yesterday I did update all my packages with yay & pacman, so when I tried booting today it can’t mount the /efi partition anymore. (On the day when the nvidia package changes were announced I switched to the older nvidia package since my graphics card isn’t supported by the new one and rebuilt with mkinitcpio -P, maybe that could be related.)

Today when trying to boot normally it automatically entered emergency mode and I checked a few things. I noticed in the logs that it suddenly can’t mount the /efi partition anymore and that uname -r shows 6.18.2-arch2-1 but pacman -Q linux shows 6.18.3.arch-1-1. systemd-boot also still shows the older version when showing the boot options.

I tried a few things like manually mounting the EFI partition, but for some reason it also doesn’t recognize vfat as a valid format. I’m a bit lost from here and I hope I’m not missing something extremely obvious, but I’m sure something went wrong in the past when looking at the different versions.

Edit: I also have a Arch fallback option which also runs into the same error when trying to boot…

As an addition: I think I’ve accidentally used mkinitcpio in the past but instead I should be using Dracut…

Yeah, if you installed mkinitcpio, that will 100% lead to a broken system unless you either did a full conversaion to mkinitpcio or cleaned up the mess installing that would cause.

From your description above, you most likely have removed the package kernel-install-for-dracut.

You should boot off an ISO, follow the wiki instructions to arch-chroot into your system. Remove mkinitcpio, install kernel-install-for-dracut and then run reinstall-kernels

Thanks for the quick response!
Yeah I totally got confused there and just came to a similar conclusion.

I will try that and then update this threat on how it went, thx!

Ok, everything worked out. There were still two leftover entries in my boot menu, so I just needed to go to /efi/loader/entries and remove the corresponding config files.
Thanks again!