I would love to know if is there any difference between the bootmgr.efi and bootmgfw.efi files? Those files are located in the ESP partition in EFI/Microsoft/Boot.
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
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)
I've been trying to understand Windows boot process using QEMU. I renamed Bootmgr.efi and Bootmgfw.efi to Bootx64.efi and did store in \EFI\Boot folder (the folder where EFI Firmware loads OS Loader Bootx64.efi). Bootmgr.efi seems to need signature, Bootmgfw.efi doesn't need. Winload.* (EXE or EFI) verifies Bootmgr and register same information on it at boot time. It seems to me, Bootmgr.efi needs signature in Firmware and OS. Bootmgfw works as a "open" EFI Loader for Windows. Every time I loaded Bootmgfw.efi it searched successfully for \EFI\Microsoft\boot\BCD.