Cannot Update Linux or Linux Headers, causes boot failure

Use your live usb to chroot:

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

Inside chroot:

pacman -Syu

grub-install --efi-directory=/boot/efi bootloader-id=endeavouros

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

Reboot.

I have tried something similar. I will give this another shot after work today.

Also, note, if you are using Grub and dracut and when you need to rebuild your initrds you could use:sudo dracut-rebuild

What I am curious about the way grub was updated , I thought you should always run

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

Now I saw that only the last command was used by the OP , could that have messed up the grub bootloader ?

As I understand it, unless first install or a new version of grub is published, you only need the 2nd.
However, it doesn’t hurt to over write the bootloader unnecessarily.

This may have to do or not with OP’s issue but at any rates the output of the efibootmgr shows that they lack the default bootpath to bootloader’s efi binary

\EFI\endeavouros\grubx64.efi

They only have the fallback bootpath (Boot0002)

\EFI\BOOT\BOOTX64.EFI0000424f

So as already mentioned, this may not be the issue but creating the default bootpath, trying to boot from that and if the issue still persists, this will help to eliminate the Grub’s bootloader as a potential issue.

That is interesting if I would have adviced refind as bootloader no grub was needed right ?