What is EFI_LOAD_OPTION?
Quick note explaining EFI_LOAD_OPTION for BIOS/UEFI and embedded firmware readers.
EFI_LOAD_OPTION is the data structure used inside UEFI load options such as Boot####.
Why it matters
- Explains how UEFI selects and launches a boot target.
- Helps debug boot option, OS loader, and removable-media issues.
- Connects NVRAM variables with the visible boot menu.
Practical example
Example: if a machine always boots Windows even after selecting USB, check BootNext first, then BootOrder and the device path inside the target Boot#### entry.
Quick checklist
Quick takeaway
EFI_LOAD_OPTION is part of the chain that turns firmware policy into an actual boot target.
A debugging angle
I try not to treat EFI_LOAD_OPTION as a dictionary entry. I read it as part of a firmware path: who produces it, who consumes it, and what symptom appears when it is wrong. That habit makes the note useful during debugging, not only during study.
A small field example
A boot issue often comes from navigation data rather than the boot loader itself. After a BIOS update, disk replacement, or CMOS reset, I would check boot variables, device paths, and ordering before assuming the OS image is broken. EFI_LOAD_OPTION belongs to that path-finding layer.
In a real debugging session
Treat EFI_LOAD_OPTION as part of a boot chain, not as an isolated term: Boot Manager reads NVRAM → selects a boot option → parses the Device Path → opens the .efi file → transfers control to the loader. When a system boots the wrong target, the routing metadata is often guilty before the loader itself.
A practical check is to dump the boot variables, see which option the value points to, confirm that the option is active, and then inspect whether the embedded device path still matches the current disk and partition layout.
Related notes
- What is Boot####?
- What is BootOrder?
- What is Device Path Node?
- What is Device Path?
- What is EFI System Partition?
Public references
- UEFI Specification 2.11 - Boot Manager
- EDK II - UefiBootManagerLib/BmBoot.c
- EDK II - UefiBootManagerLib.h
Found this useful?
Save it or share it with someone learning firmware, BIOS/UEFI, and embedded systems.
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.