efibootmgr, implemented/ported in C#
The only (that I know of) Windows tool to edit EFI NVRAM is bcdedit. It does not provide all the options provided by efibootmgr, and mainly focuses on editing Windows Boot Configuration Data (BCD). This is an attempt to clone most of the functionalities provided by efibootmgr in Linux.
Because.
I just want some practice on C#.
Proof of concept. It can print out the default displays of efibootmgr without any options.
Windows has no documented way to itetrate all EFI NVRAM variables. Linux or
other Unix-like systems have efi_get_next_variable_name
provided in efivar.
Currently, efibootmgr-net has to rely on the undocunmentedNtEnumerateBootEntries
to get the list of existing Boot####
variables.