Efibootmgr

Utility to edit UEFI boot entries
List entries
1efibootmgr -v
Create entry
1# Not Verified
2# efibootmgr -c -d /dev/sda -p 1 -L LinuxMint -l /EFI/ubuntu/grubx64.efi
3
4
5# Verified
6# Recommended
7sudo efibootmgr --create --disk=/dev/sda --part=4 --label="fedora_ssd" --loader='\EFI\fedora\shimx64.efi'
8#
9# This also works
10sudo efibootmgr --create --disk=/dev/sda --part=4 --label="fedora_ssd2" --loader='EFI\fedora\shimx64.efi'
11#
Windows
1sudo efibootmgr --create --disk=/dev/nvme0n1 --part=1 --label="windows_test" --loader='\EFI\Microsoft\Boot\bootmgfw.efi'
for windows path can also be \EFI\Boot\BootX64.efi
Both seem to work fine 'part' should specify the partition number of the EFI parition (FAT32) vfat filesystem
Delete entry
1sudo efibootmgr -B -b boot_number_to_be_deleted
or
1sudo efibootmgr --delete-bootnum --bootnum 0
when passing the boot entry number we are not requested to include the padding 0s. If the bootnum is 000A just write A
Boot from a specific entry
First run (maybe as root)
1efibootmgr -v
Set the entry for one time boot
1sudo efibootmgr -n XXXX
or
1sudo efibootmgr --bootnext XXXX
Reboot
1sudo reboot