Hello, Christophe.

On Mon, 13 Jan 2025 18:43:27 +0100
Christophe Pisteur <[email protected]> wrote:

> Since the solution seems to take time to find, and since the temporary
> solution of deleting the “dump” files on my device
> /sys/firmware/efi/efivars doesn't work, I'm going to reinstall my
> system before I get stuck on an unfortunate reboot. 
> 
> Would you advise me to use legacy mode for booting (instead of efi) to
> avoid this problem again in the near future?

It depends on what is the cause of the problem.

I guessed the problem was due to the dump files filling the
variables' storage. If UEFI ran out of storage, then I would not expect
legacy mode to make a difference because it is still provided by the
same firmware. However, you cleared the dumps from the storage, and it
did not help. Thus, maybe my assumption that UEFI ran out of its
internal storage was wrong.

The next thing I would try is removing a boot entry, assuming that you
have one which you do not need. This may help if there is a limit on
boot entries independently of the size of EFI variables storage.
I am guessing that there might be such a limit. However, if that is the
case, I find it difficult to explain how you ran out of them.

There is a convention to label EFI boot entries and put the binaries in
directories named after the operating systems. So, the label of the
entry and the name of the directory could be considered clues when
checking the list of entries. Guix System labels its entry as
"Guix" and puts the binary at \EFI\Guix\grubx64.efi. I assume that you
have it installed.

$ ls /boot/efi/EFI/Guix/grubx64.efi 
/boot/efi/EFI/Guix/grubx64.efi

I took a closer look at the efibootmgr output that you emailed before.
The Guix boot entry is missing. Instead, it shows that the following
boot option is selected to boot.

> Boot0002* Ubuntu HD(1,GPT,dd200da3-9719-464e-aa1d-
> 3f4149ef14d8,0x800,0x82000)/File(\EFI\ubuntu\shimx64.efi)

>From that, your EFI partition's PARTUUID must be
dd200da3-9719-464e-aa1d-3f4149ef14d8 per "sudo blkid". 

I assume that your operating system is Guix System because you are
trying to run "guix system reconfigure ..." If you do not have
Ubuntu installed, then you may want to remove Ubuntu boot option.

It is possible to remove an entry with efibootmgr. You would need to
provide two options at the same time: "--bootnum" option followed by
four digits of the boot entry number and "--delete-bootnum" to instruct
efibootmgr to delete that option. This requires sudo or root.

In the output that you provided, there is only one more boot entry
associated with loading a binary from EFI partition and booting an
operating system. You may want to delete that instead or in addition.

> Boot0001* Windows Boot Manager HD(1,GPT,dd200da3-9719-464e-aa1d-
> 3f4149ef14d8,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494
> e444f5753000100000088000000780000004200430044004f0042004a00450043005400
> 3d007b00390064006500610038003600320063002d0035006300640064002d003400650
> 0370030002d0061006300630031002d0066003300320062003300340034006400340037
> 00390035007d00000030000100000010000000040000007fff0400

Other boot options are not pointing to the EFI partition. I assume that
those options were generated by UEFI based on its configuration. I would
not touch those with efibootmgr, at least for now. 

As a side note, depending on your firmware, UEFI may later re-add boot
entries based on the binaries available in the EFI partition. I
usually manually remove those files which may remain from any past
operating system installations.

Roman

Reply via email to