Boot into emergency mode after update

Using endeavouros on a Framework laptop with an i7-1165G7 and SSD connected over NVME. Ran sudo pacman -Syu last night without error. Rebooted afterwards and, after selecting the correct boot option on the GRUB screen, went directly into “Emergency mode” with errors stating that /boot/efi failed to mount.

I am able to log in and use my laptop again after downgrading the linux kernel from 6.8.9 to 6.8.7.

I did screw up my boot partition a couple of days ago and I had to repair it with chroot and live usb. Not sure if that’s related.

What was the nature of the mistake? What was your method for repairing it?

Do you have any unusual output if you update the Grub configuration file?

grub-mkconfig -o /boot/grub/grub.cfg

Paste the output into the thread if you are not sure. Also post this output:

lsblk -o name,type,fstype,label,size

What was the nature of the mistake? What was your method for repairing it?

I accidentally did dd ... of=/dev/nvme0n1p1 and overwrote the content there with an ISO image instead of the USB I meant to target. Since this device is mounted to /boot/efi, this mistake left me unable to boot. I “fixed” it by booting with live USB, mounting these drives, chrooting, then running something like grub-mkconfig or mkinitcpio to overwrite the mistake with the content that is supposed to be on that drive.

Do you have any unusual output if you update the Grub configuration file?

Just got this little warning, otherwise it succeeded:

Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings .

Also post this output:

NAME        TYPE FSTYPE LABEL   SIZE
nvme0n1     disk              931.5G
├─nvme0n1p1 part vfat           300M
└─nvme0n1p2 part ext4         931.2G

Try reinstalling Grub from the live environment before you regenerate the Grub config, maybe it will be as simple as that.

First boot to the live environment again and set up a chroot:

sudo mount /dev/nvme0n1p2 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
sudo arch-chroot /mnt

Then install Grub. If you are using a standard/default setup, probably you do not need to add any options:

grub-install

Finally, regenerate the Grub configuration file again.

grub-mkconfig -o /boot/grub/grub.cfg