Difference between bootmgr.efi and bootmgfw.efi

From this link

bootmgr - the Windows boot manager on systems with BIOS firmware. This file will be loaded as part of the BIOS boot process - typically the boot device is set in the BIOS. Assuming the boot device is a hard disk type device then the Master Boot Record is loaded > the Active Partition is identified in the Partition Table > the Partition Boot Record (PBR) on the Active Partition is loaded > code in the PBR loads bootmgr > bootmgr loads the BCD file.

bootmgfw.efi - the Windows boot manager on systems with UEFI firmware. This file is loaded directly from the Windows Boot Manager entry in the Firmware Boot Menu stored in NVRAM. Typical boot process is Firmware Boot Manager > \EFI\Microsoft\boot\bootmgfw.efi on the EFI System Partition is loaded via the Windows Boot Manager entry > bootmgfw.efi loads the BCD file (path to BCD file - \EFI\Microsoft\boot\BCD).


So.. As you can probably guess from running bcdedit (in Windows) or efibootmgr (in Linux), bootmgfw.efi is the Windows UEFI bootloader, which will then load winload.efi and thus the remainder of the OS.

The fallback executable in \EFI\Boot\bootx64.efi also happen to be a copy of this one.

But there really seems to be next to no information about bootmgr.efi. After being tipped by its only mention on MSDN, I found out that once you rename it W8 Advanced Startup Options becomes bust (while the system can still normally boot).

And last but not least this suspect was confirmed by a hack briefly mentioning how indeed it would be chainloaded by the base bootloader when in need of Windows Setup or the Recovery and Preinstallation environments.

Also explaining why it's on the root of the install DVD media (though I'm still not sure how you could trigger this afterwards in Vista and 7)