Windows Boot Manager Explained

Windows Boot Manager
Other Names:BOOTMGR
Developer:Microsoft
Operating System:Windows
Replaces:NTLDR
Genre:Bootloader
License:Proprietary

The Windows Boot Manager (BOOTMGR) is the bootloader provided by Microsoft for Windows NT versions starting with Windows Vista and Windows Server 2008. It is the first program launched by the BIOS or UEFI of the computer and is responsible for loading the rest of Windows.[1] It replaced the NTLDR present in older versions of Windows.

The boot sector or UEFI loads the Windows Boot Manager (a file named BOOTMGR on either the system or the boot partition), accesses the Boot Configuration Data store and uses the information to load the operating system through winload.exe or winresume.exe.[2]

Launching

On system with BIOS firmware, the BIOS invokes MBR boot code from a hard disk drive at startup. The MBR boot code and the VBR boot code are OS-specific. In Microsoft Windows, the MBR boot code tries to find an active partition (the MBR is only 512 bytes), then executes the VBR boot code of an active partition. The VBR boot code tries to find and execute the bootmgr file from an active partition.[3]

On systems with UEFI firmware, UEFI invokes bootmgfw.efi from an EFI system partition at startup, starting the Windows Boot Manager.

Operation

Once launched the Windows Boot Manager reads the Boot Configuration Data to determine what operating systems are present and if it should present the user with a menu allowing them to select which operating system to boot. Before Windows Vista, this data was contained in .

These menu entries can include:

Operating system loading

The operating system is loaded by individual boot loaders for each install of Windows, called the Windows Boot Loader.

winload.exe

The Windows Boot Manager invokes winload.exe—the operating system boot loader—to load the operating system kernel executive (ntoskrnl.exe) and core device drivers. In that respect, winload.exe is functionally equivalent to the operating system loader function of NTLDR in prior versions of Windows NT. In UEFI systems, the file is called winload.efi and the file is always located at \windows\system32 or \windows\system32\boot.

winresume.exe

If the computer has recently hibernated, then bootmgr will instead invoke winresume.exe. In UEFI systems, the file is called winresume.efi and is always located at \windows\system32 or \windows\system32\boot.[4]

Boot Configuration Data

Boot Configuration Data (BCD) is a firmware-independent database for boot-time configuration data.[5] It is used by Microsoft's Windows Boot Manager and replaces the boot.ini that was used by NTLDR.

Boot Configuration Data is stored in a data file that has the same format as Windows Registry hives and is eventually mounted at registry key [6] (with restricted permissions[7]). For UEFI boot, the file is located at /EFI/Microsoft/Boot/BCD on the EFI System Partition. For traditional BIOS boot, the file is at /boot/BCD on the active partition.[8]

bcdedit

bcdedit
Developer:Microsoft
Operating System:Microsoft Windows
Genre:Command
License:Proprietary commercial software

Boot Configuration Data may be altered using a command-line tool (bcdedit.exe), using the Registry Editor[6] (regedit.exe), using Windows Management Instrumentation, or with third-party tools such as EasyBCD, BOOTICE,[9] or Visual BCD Editor.[10]

Boot Configuration Data allows for third-party integration, so anyone can implement tools like diagnostics or recovery options

See also

References

  1. Web site: barrygolden . Boot and UEFI - Windows drivers . 2023-03-20 . learn.microsoft.com . en-us.
  2. Web site: The Windows NT 6 boot process. Frequently Given Answers. Jonathan. de Boyne Pollard. https://web.archive.org/web/20160826093757/http://jdebp.eu/FGA/windows-nt-6-boot-process.html. August 26, 2016. dead.
  3. Web site: Boot Sequence of Windows Multi-Boot - Multibooters.com . 2020-11-19 . www.multibooters.com.
  4. Web site: Hudek . Ted . Marshall . Don . Graf . Eliot . 23 April 2019 . Overview of Boot Options in Windows . live . https://web.archive.org/web/20200421135336/https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/boot-options-in-windows . 21 April 2020 . 21 April 2020 . Microsoft Docs Hardware Dev Center . Microsoft . EN . 11.
  5. Web site: Marshall . Don . Overview of Boot Options in Windows - Windows drivers . 2023-03-20 . learn.microsoft.com . en-us.
  6. News: Russinovich . Mark . Mark Russinovich . 8 November 2011 . Fixing Disk Signature Collisions . Mark's Blog . Microsoft Corporation . Microsoft TechNet . 5 February 2021.
  7. Web site: Why can't I edit the system BCD store via regedit? .
  8. Web site: Microsoft . Knowledge Base Article ID: 2004518 . https://web.archive.org/web/20100116044204/http://support.microsoft.com/kb/2004518 . 16 January 2010.
  9. Web site: BOOTICE board index . Pauly . 2013-12-27 . 2013-12-28 . https://web.archive.org/web/20131228000320/http://bbs.ipauly.com/viewforum.php?f=2 . dead .
  10. Web site: Visual BCD Editor . Bo Yans .

Further reading