Windows NT 6 startup process


The startup process of Windows NT 6 differ from the startup process part of previous versions of Windows.
In this article, unless otherwise specified, what is said about Windows Vista also applies to all later NT operating systems. For Windows Vista, the boot sector or UEFI loads the Windows Boot Manager, accesses the Boot Configuration Data store and uses the information to load the operating system. Then, the BCD invokes the boot loader and in turn proceeds to initiate the Windows kernel. Initialization at this point proceeds similarly to previous Windows NT versions.

History

Windows Vista introduces a complete overhaul of the Windows operating system loader architecture. The earliest known reference to this revised architecture is included within PowerPoint slides distributed by Microsoft during the Windows Hardware Engineering Conference of 2004 when the operating system was codenamed "Longhorn." This documentation mentions that the Windows operating system loader would be undergoing a significant restructuring in order to support EFI and to "do some major overhaul of legacy code." The new boot architecture completely replaces the NTLDR architecture used in previous versions of Windows NT.
Most of the steps that follows the NT kernel being loaded, including kernel initialization and user-space initialization, is kept the same as in earlier NT systems. Refactoring in Winlogon resulted in GINA being completely replaced by Credential Providers and graphical components in Windows Vista and later.

Boot Configuration Data

Boot Configuration Data is a firmware-independent database for boot-time configuration data. It is used by Microsoft's new 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 . 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.
Boot Configuration Data may be altered using a command-line tool, using the Registry Editor, using Windows Management Instrumentation, or with third-party tools such as EasyBCD, BOOTICE, or Visual BCD Editor.
Boot Configuration Data contain the menu entries that are presented by the Windows Boot Manager, just as boot.ini contained the menu entries that were presented by NTLDR. These menu entries can include:
Boot Configuration Data allows for third-party integration, so anyone can implement tools like diagnostics or recovery options.

Boot loaders

winload.exe

The Windows Boot Manager invokes winload.exe—the operating system boot loader—to load the operating system kernel executive 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\boot.

winresume.exe

If the computer has recently hibernated, then bootmgr will instead invoke winresume.exe. The only difference is the alternate boot mode and the splash screen displaying "Resuming Windows". In UEFI systems, the file is called winresume.efi and is always located at \windows\system32\boot.

Advanced Boot Options

With the advent of the new boot manager in Windows Vista, many components have been changed; one is the Advanced Boot Options menu that provides options for advanced boot modes. Due to the implementation of Hybrid Boot in Windows 8 and up, access to the Advanced Boot Options menu has been disabled by default. However, access is still possible with a BCD modification. These are the possible boot modes:
The ABO menu is accessible by rapidly pressing or holding the F8 key before Windows boots.