Windows Vista startup process

The startup process of Microsoft's Windows Vista and Windows Server 2008 operating systems is slightly different from previous versions.
Contents


* 1 Boot sequence
* 2 Windows Boot Manager
* 3 Boot Configuration Data
* 4 winload.exe
* 5 See also
* 6 References
* 7 External links

Boot sequence

The sequence of booting Windows Vista is slightly different from any previous version of Windows that uses the NT kernel. First, when the computer is switched on, either the BIOS or the EFI is loaded. In the case of a BIOS system, the MBR of the boot disk, which can be a hard drive or external media, is accessed, followed by the boot sector of the drive or of the relevant hard disk partition. This boot sector then loads the rest of the boot blocks. For Windows Vista, the boot sector loads the Windows Boot Manager (with filename BOOTMGR), which accesses the Boot Configuration Data store and uses the information to load the final stage, the operating system.

Windows Boot Manager

The Windows Boot Manager reads the Boot Configuration Data and "displays an operating system selection menu",[1] and is thus, in some respects, equivalent to the boot selection menu functionality of NTLDR in prior versions of Windows NT.

To maintain a consistent boot experience on Extensible Firmware Interface systems which also have a boot manager of their own, the Windows Boot Manager, and hence all of the installed Windows operating systems that can be booted using it, appear as a single entry on the EFI boot manager menu. (On EFI systems, the Windows Boot Manager is an EFI application stored on the EFI System Partition.) Microsoft only adds multiple entries to the Windows Boot Manager(BCD) menu itself, and sets the timeout of the EFI boot manager to 2 seconds.

Boot Configuration Data

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

Boot Configuration Data is stored in a data file (formatted in the same way as a Windows registry hive) that is located either on the EFI System Partition (on machines that use Extensible Firmware Interface firmware) or in \Boot\Bcd on the system volume (on machines that use IBM PC compatible firmware).

Boot Configuration Data may be altered using a command-line tool (bcdedit.exe), by using Windows Management Instrumentation, or with 3rd party tools like EasyBCD which allow for more advanced configuration and support for non-Windows operating systems.

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:

* Options to boot Windows Vista by invoking winload.exe.
* Options to resume Windows Vista from hibernation by invoking winresume.exe.
* Options to boot a prior version of the Windows NT family by invoking its NTLDR.
* Options to load and to execute a Volume Boot Record.

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

winload.exe

winload.exe is the operating system boot loader. It is invoked by the Windows Boot Manager in order to load the operating system kernel (ntoskrnl.exe) and (boot-class) device drivers, and is in that respect functionally equivalent to (the operating system loader functionality of) NTLDR in prior versions of Windows NT.