15

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.

Thank you

7

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).

| improve this answer | |
  • 3
    both of them are valid UEFI binaries – Avery3R Jul 23 '18 at 22:53
  • 1
    OP asked the difference between bootmgfw.efi and bootmgr.efi. Not about bootmgr, period. – mirh Dec 30 '19 at 20:49
3

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)

| improve this answer | |
0

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.