I would be doing the same whether i had Bios or UEFI. I would arch-chroot and either downgrade grub or reinstall grub and update. As per the posted instructions here. Or i would uninstall grub-tools and update.
Edit: For me this issue hasn’t been that difficult to resolve. I don’t know the exact problem that is the cause but is a simple fix.
I believe the reference is to this specific issue. For those experiencing the issue, when the system fails to boot after the grub update, it ends up on the BIOS screen.
It sounds like the recent change of Arch grub package, to follow latest upstream grub, instead of latest version, might have finally brought the initrd changes, but I can’t confirm (I haven’t updated yet ). I have warned some time ago…
Also, the mentioned package (grub-tools) includes a plan(?)/note to self(?) for this case
But if upstream fixes the initrd issue in grub and os-prober, then
remove hook eos-grub-fix-initrd-generation.hook
reinstall packages grub and os-prober
For those paniked from this situation and suggest to abort grub and use refind or systemd, to be safe from broken systems/software, I can only remind that:
Every software is possible to have bugs, sooner or later!
Don’t panic. Just learn how to swim in stormy weather. Easy!
I only had the problem when i updated one desktop. Fixed it with arch-chroot and downgraded grub originally. On all the others i uninstalled grub-tools and had no issue. The Arch install i just updated and it was fine. Well see what happens. I just did all of these and updated to confirm.
Edit: I don’t really understand how grub works that well but i get by with a little help.
Your probably still booting from grub. As i stated above. You have the option of booting from the grubx64.efi or from the vmlinuz-linux image. When refind comes up you need to use the entry that is the vmlinuz-linux image file.
Edit: You say you follow the instructions to the letter?
4. Hide the extra entries (optional)
If you want to simplify your visible boot options, you should decide which method of booting suits you better – either by starting up the grub system that was created on the original installation (or by subsequent updates) or by directly booting the OS. As you highlight each choice, under it is a description of the boot file it will use. If it says the file to boot will be \EFI\endeavouros\grub64.efi, it will select and boot the grub entry, from which you can choose the item you wish. If it says that it will boot from \boot\vmlinuz-linux, it will do a direct boot. Highlight the item of your choice that you wisk to hide, and hit the DELETE key and it won’t be seen again. To UNhide an entry if you change your mind, choose the recycle tool (Manage Hidden Tags menu) on the lower line.
Yep this screwed up my morning. But here is how I fixed it. I had the timeshift-autosnap setup for my ext4 filesystem, wherein it backed up a snapshot every time I ran Sudo pacman -Syu.
Now if you have a snapshot, its really straightforward. Just go to your liveusb OR Any other linux distro you are booting EndeavourOS with(Idk if this is possible through WSL in Windows, people plz enlighten).
Install timeshift there, select your EndeavourOS partition and click restore.
And that was how I fixed this(I have 12312093123 partitions(Pun intended) so chroot was fricking my mind).
Can also confirm that removing grub-tools allows reboot after updating grub. Hat-tip to Stagger_Lee for finding it…
Also, a special shout out to timeshift for, at least, giving be a way to get my PC bootable again quickly so I could still get to sparring practice and come back later to deal with it properly. Timeshift earned it’s keep today :).
Funny note, so I also updated my Thinkpad T450 with EFI boot (where the bios is setup to only allow EFI boots and not legacy) and I got the reported error of only booting to the system bios.
I ended up fixing it:
Boot into Endeavour Live CD
Use the suggested instructions to Chroot.
Use Downgrade to go to previous version of Grub.
Made sure the re-generation of the grub.cfg completed.
I did try @joekamprad solution first " grub-mkconfig -o /boot/grub/grub.cfg" (because I was lazy + have faith in Joe). But this did not work for me.
What do you mean with the last two lines about BIOS?
I actually was on my way to downgrade GRUB since I already followed these steps you mention and I get this pointer error.
If there is a way for me to avoid going through that process to downgrade GRUB, I’ll be more than happy to just tweak BIOS as you mentioned and be done with it.
Edit: booting with fallback initframs seems to work. But I’m not sure what this is.
Edit 2: Now it doesn’t boot with that either. Out of range pointer again.
Edit3: out of range pointer appears at random but sometimes it does boot.
The pinned solution worked for me on my desktop but fails on my laptop. Tried twice. Eventually downgraded grub, grub-install and grub-mkconfig but the machine keeps booting to bios. Os-prober is disabled and not even installed