Problem :
I have multiple Operating systems installed, each with their respective EFI file in the ESP (EFI System Partition).
For example: I have Windows 10 at EFIBootMicrosoftbootmgr.efi
, and I have WinPE at EFIWinPEBootbootx64.efi
When I boot into my BIOS I can see the list of operating systems, but I would like to be able to give windows a command to change the order and then shutdown, effectively telling Windows to boot into a different operating system.
Solution :
This is not documented anywhere by Microsoft. However I was able to look through the source code of Grub2Win to see how they accomplished switching order.
Aparrently there is a bcdedit
object called {fwbootmgr}
if you change the display order of that item, it will effectively change the Boot order within the UEFI.
bcdedit /set {fwbootmgr} displayorder <ID_OF_NEW_OS> {bootmgr}
You can get the id of the other UEFI entries by doing: bcdedit /enum {fwbootmgr}
and looking at the boot entries under displayorder
.
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} {cbd971bf-b7b8-4885-951a-fa03044f5d71}