Re: [PATCH v2 3/5] MdeModulePkg/BootManagerUiLib: show inactive boot options
Ard Biesheuvel
On 6/2/20 11:11 AM, Gao, Zhichao wrote:
To hide options from this menu, a different flag HIDDEN is provided. The UEFI spec clearly mentions that
- the ACTIVE flag defines which boot options may be booted *automatically*
- the HIDDEN flag defines which boot options are hidden from the menu which allows options to be booted *manually*
So preventing ACTIVE options from being booted manually is incorrect. That is what the patch fixes.
Hi Ard,Sure. But this change does not affect what gets booted automatically, it changes what gets presented as available options in the UiApp boot manager menu.
Form the Uefi spec:
'''
If a load option is marked as LOAD_OPTION_ACTIVE, the boot manager will attempt to boot
automatically using the device path information in the load option. This provides an easy way to disable
or enable load options without needing to delete and re-add them.
'''
The ACTIVE flag seems to enable/disable the option.
To hide options from this menu, a different flag HIDDEN is provided. The UEFI spec clearly mentions that
- the ACTIVE flag defines which boot options may be booted *automatically*
- the HIDDEN flag defines which boot options are hidden from the menu which allows options to be booted *manually*
So preventing ACTIVE options from being booted manually is incorrect. That is what the patch fixes.
'''But this prevents me from setting BootNext to the Shell option, and boot it automatically on the next boot, right?
Boot#### load options with LOAD_OPTION_CATEGORY set to LOAD_OPTION_CATEGORY_APP are
executables which are not part of the normal boot processing but can be optionally chosen for execution
if boot menu is provided, or via Hot Keys. See Section 3.1.6 for details
'''
There is another flag to implement your function. The option with ACTIVE | CATEGORY | CATEGORY_APP should show in the boot menu but not in the normal boot flow.