Skip to content

UEFI Boot Entries Deleted #53

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
deepcube opened this issue Mar 17, 2025 · 3 comments
Open

UEFI Boot Entries Deleted #53

deepcube opened this issue Mar 17, 2025 · 3 comments
Assignees
Labels
Laptop 13 - AMD Ryzen 7040 Framework Laptop 13 (AMD Ryzen™ 7040 Series) Linux

Comments

@deepcube
Copy link

deepcube commented Mar 17, 2025

Device Information

System Model or SKU

Framework Laptop 13 (AMD Ryzen™ 7040 Series)

BIOS VERSION

3.05

Describe the bug

When a given UEFI boot entry does not exist on boot, the entry is deleted. In my case this happens because I use a storage password, and if I hit escape instead of entering the password then the disk is not decrypted and the custome UEFI entries added using efibootmgr are deleted and are no longer available on next boot when I do decrypt the drive. I have also shown this behavior with a USB drive, registering a boot entry with efibootmgr which is then deleted when I boot without the drive plugged in.

Note that these are entries for kernels with EFI stub support, not for a bootloader. I have confirmed that an EFI executable in a default path (e.g. \EFI\BOOT\BOOTX64.EFI) will be found by the BIOS even if other boot entries for the drive have been deleted.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Register a boot entry with efibootmgr for a kernel (or other EFI executable) not in the default EFI path.
  2. Remove the drive with the given boot entry, or in the case of a SED press escape instead of entering the storage password.
  3. Boot and receive boot device not found message.
  4. Navigate to boot menu and note that the boot entry is not shown.
  5. Boot into Linux (easiest with a live USB at this point).
  6. Run efibootmgr to list boot entries and note that the previously added entry is gone.

Expected behavior

UEFI boot entries remain until manually deleted.

Operating System (please complete the following information):

  • OS/Distribution: Void Linux
  • Linux Kernel Version: 6.13.7

Additional context

Forum thread: https://community.frame.work/t/uefi-boot-entries-deleted/66169/3

@kiram9 kiram9 added Laptop 13 - AMD Ryzen 7040 Framework Laptop 13 (AMD Ryzen™ 7040 Series) Linux labels Mar 28, 2025
@quinchou77
Copy link

efibootmgr writes boot entries to BIOS variables, but this behavior depends on the BIOS's boot entry handling. We will examine the code design to determine if this is a bug or expected behavior.

@quinchou77
Copy link

After reviewed and confirmed the behavior. This is expected system behavior. On each boot, the BIOS verifies boot entries and automatically removes those associated with unavailable devices, such as a disconnected USB drive or a locked drive.

@quinchou77 quinchou77 self-assigned this Apr 14, 2025
@deepcube
Copy link
Author

I find that unfortunate for my use case and counter to other UEFI implementations I have used. That being said, I do understand that this is working as you intend. Thank you for looking into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Laptop 13 - AMD Ryzen 7040 Framework Laptop 13 (AMD Ryzen™ 7040 Series) Linux
Projects
None yet
Development

No branches or pull requests

3 participants