Failing to boot after update (can't mount /efi)

So, I had had no updates for a while. Thought it strange since I knew that I had on my work machine.
Ranked the mirrors. Got a load of updates, among those both mainline kernel and lts kernel. Rebooted and got the following.

I booted live USB, chroot into my system and run reinstall kernel command.
Now I have double the amount of boot options, both the old and the new kernels.
The old give me problem above.
The new try to run a service and the timer just ticks up.

I have a few more images which I’ll paste here.

I’m not sure what to do now.

Any advice?
I’d rather not reinstall the entire system.

1 Like

Is the UUID correct for the /efi partition?


Sounds like your update didn’t complete successfully.

You can delete the extra entries from /efi/loader/entries/

1 Like

Yes, the uuid matches. It’s the same in bulk-info and fstab.

Delete them and then run install-kernel, aye?

Happened to me yesterday as well. Fortunately, for me it was easy to just boot into live usb iso, chroot into the system and reinstall systemd-boot (great guide here - someone should put it on the wiki, by the way).
I did not know what was dracut for and uninstalled it - next linux package update broke my system with the exact error messages you have. :sweat_smile:

I tried following the guide again (as vlkon above suggested worked for him).

I get the following when trying to mount efi.

Has something happened to my boot partition then?

did you run dmesg as it is advised by System ?
(look your pic above)
maybe you’ll see whats going wrong or is missing…

Only thing that mentioned failure or error was this and I doubt that is the cause.

(in the middle)

My /efi is empty, there is stuff in /boot and when I run reinstall-kernels it says that it places the built kernels in /boot for some reason.

If you delete only the old, duplicated entries that is probably all you need to do. If you remove all of them, then run sudo reinstall-kernels after that.

You absolutely should not follow that guide to reinstall systemd-boot. That is a guide on how to convert from grub. Those instructions don’t even make sense in the context of a recovery situation.

I have no idea what kind of state that would put your system in.

What are we looking at here? How did you get there? Are you in maintenance mode? Did you log into a TTY?

Hmm, seems like I should reinstall then possibly.
It’s not a huge deal, I have nothing I need to save here. I have everything in the cloud or other places. It’s just a huge time sink.
The thing that worries me is that I might need to wipe the EFI partition as well and then my Windows would be impossible to get back to without a reinstallation of that as well. (even though last time I used Windows was over a year ago so I guess I’m not gonna do it anyway)

Maintanance mode. During boot it gives me errors and then allows me to log into… Is it maintance mode or emergency mode? Can’t recall the name now. I do get the choice during the boot process though.

I don’t think you need to reinstall. Although, it might be easier.

You don’t need to wipe it. You can clean it up without removing Windows.

It can’t be fixed from that situation. You can’t mount the efi patition that way so anything you try will fail.

You need to boot off the ISO and arch-chroot in.

Ok, that sounds good.

So, to recap.

  1. mount both main partition (to get installed packages) and /efi. (/mnt for root and /mnt/efi for boot)
  2. arch-chroot
  3. sudo reinstall-kernels

Is that correct?

Mostly correct.

You don’t need sudo inside of a chroot.(Although it won’t hurt anything to use it)

Before running reinstall-kernels you should make sure /efi/loader/entries doesn’t have any old entries in it.

I did what you suggested.

Installation of new kernels looked fine.

Then I reboot and get the following

Were there any errors before that?

If not, what is the contents of one your entries from /efi/loader/entries ?

No idea if this is related.

I’ll look at the entries and post image of that in a few minutes.

Here are the contents.

No. I need to see the contents of one of those files.

Preferably as text and not a screenshot

Of course. Sorry. I missed the part where you said “contents of one of the entries”.

Here is the mainline kernels conf file contents.

title      EndeavourOS
version    6.1.9-arch1-2
machine-id da23018f33b2424d84d87c6d13e632a2
sort-key   endeavouros-6.1.9-arch1-2
options    archisobasedir=arch archisolabel=EOS_202209 cow_spacesize=10G module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr nouveau.modeset=1 i915.modeset=1 radeon.modeset=1 nvme_load=yes systemd.machine_id=da23018f33b2424d84d87c6d13e632a2
linux      /da23018f33b2424d84d87c6d13e632a2/6.1.9-arch1-2/linux
initrd     /da23018f33b2424d84d87c6d13e632a2/6.1.9-arch1-2/initrd