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

Yes, :sweat_smile:

I’m note really sure what I’m doing wrong here… But I’m unable to fix the Grub Issue with the Instructions… After trying I only get to the Grub-Rescue Screen… Much better than booting directly into Bios, but yeah…

So I am not alone…

I’m sure you followed the instructions just like all of us, but for some mysterious reason, members got mixed results following the same instructions. I started over, but that’s not a suggestion.

I think that depends on what grub does upstream. If this is considered expected behaviour, then we have a problem because there isn’t an easy way to cleanly and safely automate grub-install. On the other hand, if they treat this as a bug then it is a one-time issue and it would be too early to panic from a single issue.

You may need to manually set the correct EFI entry to boot from. Either by using efibootmgr or just going into your BIOS and picking the correct option in the boot section.

I saw that other topics like this were merged into here, so I’ll document my predicament here. I’ve read the pinned post about how to repair todays breakage of grub, and with a tiny change followed it to the letter. Trying to boot back into my system now results in:

error: symbol `grub_debug_malloc` not found.
Entering rescue mode…
grub rescue> _

Afterwards, following the linked Reddit thread I downgraded the package to the previous version I had, which seemed fine. but rebooting gives the exact same message.

I am currently booted into a rescue USB stick with EndeavourOS from end of last year, and I can supply all configuration that is necessary to analyze the problem.

In the meantime, I’ll rebuild the arch-chroot mount situation so I can reply with information.

This usually means you need to manually set the correct EFI entry to boot from. Either by using efibootmgr or just going into your BIOS and picking the correct option in the boot section.

Should we add this point to the pinned post?

2 Likes

The fact that they seem to have only tested the new version on BIOS only, and that it made it to stable.

Probably. The actual error you get in that situation seems to vary though so it should probably be added in a generic way like “If you still have errors after following these instructions…”

2 Likes

Well, this is what efibootmgr looks like:

[liveuser@eos-2021.12.17 ~]$ efibootmgr 
BootCurrent: 0008
Timeout: 2 seconds
BootOrder: 0008,0001,0000,0006,0004,0007,0002,0003
Boot0000* Garuda
Boot0001* EndeavourOS
Boot0002* UEFI: PXE IPV4 Realtek PCIe GBE Family Controller
Boot0003* UEFI: PXE IPV4 Realtek PCIe 2.5GBE Family Controller
Boot0004* EndeavourOS-grub
Boot0006* UEFI OS
Boot0007* UEFI: KingstonDT Secure 6.51
Boot0008* UEFI: KingstonDT Secure 6.51, Partition 2
[liveuser@eos-2021.12.17 ~]$ 

The name EndeavourOS-grub was the name given in the solution, but there’s an EndeavourOS entry there as well. Would that mean anything?

I’d rather not reboot until I know what I need to do, getting to the forum and logging in is quite an ordeal for me.

Edit: I swear I have not Garuda on my system, EndeavourOS is my only love. I really do not know where this entry comes from.

Yes, if you followed the instructions you should change the default to the “EndeavourOS-grub” option.

1 Like

That isn’t completely fair. The issue actually only occurs in certain circumstances on UEFI too. Not all installs are impacted.

2 Likes

I just want to understand if there is/was something I should have read, but in the solution it says:

2. Rebuild the grub.cfg configuration file

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

Now reinstall GRUB:

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

Now GRUB is repaired and you should be able to boot into your system again.

That is what I did. I cannot seem to find any indication that I have to change some default afterwards. Where do I do that?

I most cases you don’t. However, some people have reported needing to. When you get into things that touch the firmware settings, hardware differences come into play.

The easiest way is to go into your bios and simply change the default in the boot order settings.

However, you can also change the order using efibootmrg

2 Likes

After I updated my GRUB I couldn’t load into my OS, so I went on forums for help and I saw this post: https://discovery.endeavouros.com/system-rescue/arch-chroot-for-efi-uefi-systems/2021/03/

It says that I need to run sudo mount /dev/sdXn /mnt, however when I run it, I get the error like this:
image

Basically I have no idea what the article is trying to say, I’m really new to this linux stuff.

Here are my logs just in case: https://clbin.com/R7u88

Boot log: https://clbin.com/H2Lds

Also here’s my sudo fdisk -l:
image

Any help would be greatly appreciated!

That’s the burning question my friend. I asked that same question.
Maybe @joekamprad might add some more details to point 2. https://discovery.endeavouros.com/video-tutorials/fix-arch-linux-boot-with-arch-chroot/2021/12/

The instructions meant that first you have to mount your installed linux partition to /mnt/ and then mount your EFI boot partition to /mnt/boot/efi/

In your case, it would be great if you can find out which of your linux file system is the root partition. If you remember it right, then great or else we can hit and trial.

sudo mount /dev/sda6 /mnt

Check in your file manager that /mnt/ is your installed linux root partition. If it’s not, then

sudo umount /dev/sda6
sudo mount /dev/sda8 /mnt

Once you’re sure that your root partition is correctly mounted in /mnt. Then mount EFI partition.

sudo mount /dev/sda1 /mnt/boot/efi

Again verify by navigating through cd or through the file manager.

Now you can chroot into the installed system.

sudo arch-chroot /mnt
1 Like

First, make sure you have read this:

Your EFI partition is /dev/sda1

Your root partition is probably either /dev/sda6 or /dev/sda8. You can probably tell which is which by the sizes.

Didn’t I answer it above?

Hi, you can downgrade grub to an earlier version (grub-2:2.06.r297). You have to boot by an USB drive, then mount your linux partition (watching your fdisk output, it seems to be named /dev/sda8). So type ‘sudo su’, ‘mount /dev/sda8 /mnt’, then ‘arch-chroot /mnt’. If arch-chroot is working, by typing ‘ls /home’ you can see your username as output. If so, type the following to downgrade grub: ‘pacman -U /var/cache/pacman/pkg/grub-2:2.06.r297.g0c6c1aff2-1-x86_64.pkg.tar.zst’. Then reboot.