Grub 2:2.06.r322.gd9b4638c5-1 won't boot and goes straight to the BIOS after update

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.

This issue does not seem to affect legacy BIOS installations.

I am using btrfs with rEFInd. Installing rEFInd is simple.

yay refind

Once the package is installed then you need to install rEFInd.

refind-install

Then when you boot go into UEFI settings first and set the first boot as refind. It adds an entry in UEFI.

https://discovery.endeavouros.com/grub-and-refind/how-to-install-refind/2021/03/

Well i don’t know what the OP is referring to then. They must have a different issue. :man_shrugging:

Edit: I don’t have my Bios systems running at the moment. I do have two of them that i could laod EndeavourOS on if i wanted to.

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.

1 Like

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 :laughing: ). 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. :person_shrugging: Easy!

5 Likes

I got the “grub_debug_malloc” error as well when I ran grub-install. I think I might try removing grub-tools as suggested earlier by Stagger_Lee

1 Like

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. :wink:

1 Like

I still can’t get into the hard disk due to it going into grub rescue mode.

Can i install refind once i am in arch-chroot on the liveusb? What are the steps?

Same as i answered you above. Install the package and then install refind. Boot into UEFI and set first boot as refind. There is also a wiki page.

Edit: rEFInd is a boot manager. You can boot from the vmlinuz-linux image file or you can boot from grubx64.efi

1 Like

Followed it to the letter and getting this grub rescue mode.
Refind installed without an error.
What next?
20220826_000756019

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).

1 Like

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 :).

1 Like

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:

  1. Boot into Endeavour Live CD

  2. Use the suggested instructions to Chroot.

  3. Use Downgrade to go to previous version of Grub.

  4. 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 :thinking:

Hello, Is it now safe to upgrade grub? like, running grub-install after upgrading.

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=EndeavourOS-grub

Hi folks,

I have an arch laptop for playing and an endeavour for working…

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=EndeavourOS-grub

How can i find out the “–bootloader-id=” for my arch? The arch is installed with the archinstall script.

1 Like

you can check in /boot/efi/EFI

ls /boot/efi/EFI/

it should contain all the different id’s you see when you are in the grub menu or

efibootmgr -v

can also do this