Vista-Boot-Loader
Windows XP boots up, as well as how to configure the boot procedure via the Boot.ini file and the Bootcfg.exe utility.
Windows Vista's new boot loader architecture, which includes the Windows Boot Manager, the Boot Configuration Data (BCD) system, and the Boot Configuration Data Store Editor, BCDEdit.exe.
Taking a look back at NT Loader
Windows NT, Windows 2000, and Windows XP
Essentially, as the computer boots up, the NTLDR file, containing the main boot loader, loads from the hard drive's boot sector. Once NTLDR starts, it looks for hiberfil.sys and an active hibernation image. If NTLDR finds both the file and image, the operating system resumes from a hibernation state.
If an active hibernation image is not found, NTLDR reads the Boot.ini file, which contains special configuration options for booting the operating system as well as instructions for displaying the boot menu. Next, NTLDR launches Ntdetect.com, which, as is name implies, is responsible for detecting the basic hardware that is necessary to start the operating system. Finally, NTLDR launches Ntoskrnl.exe, which is the kernel image for an NT-based operating system, such as Windows XP.
Windows Vista's new boot loader architecture
with an entirely new system built around three main components:
* new boot loader architecture,
1) The Windows Boot Manager (Bootmgr.exe),
2) Windows operating system loader (Winload.exe),
3) Windows resume loader (Winresume.exe).
* new boot option storage system called Boot Configuration Data (BCD), * new boot option editing tool called BCDEdit.exe.
In this new system, as the computer boots up, the Windows Boot Manager loads first and reads the Boot Configuration Data, which is essentially a database of boot–time configuration information stored on the hard disk in a format similar to the registry. The Boot Configuration Data database can include information about a current hibernation image, special configuration options for booting the Windows Vista operating system, and special configuration options for booting an alternate operating system. In addition to this type of information, the Boot Configuration Data database can provide instructions for launching diagnostic or recovery tools that actually run independent of the operating system.
In the overall boot process scheme, the Windows Boot Manager is a completely separate entity and is totally unaware of any operating system boot loader operations. This isolation adds a level of security between the actual booting of the computer and booting of the operating system.
How does it work?
When Windows Boot Manager reads the Boot Configuration Data, it uses the information it finds in the database to determine if it needs to display its menu. If a menu is not necessary, Windows Boot Manager does one of two things, depending on the information it finds in the Boot Configuration Data database: It either passes control over to the Windows resume loader or to the Windows operating system loader.
Windows resume loader
If the Boot Configuration Data database contains information about a current hibernation image, the Windows Boot Manager passes that information over to the Windows resume loader. Once that handover occurs, the Windows Boot Manager exits and the Windows resume loader takes over. At this stage, the Windows resume loader reads the hibernation image file and uses it return the operating system to the running state it was in when hibernation was invoked.
Windows operating system loader
If the Boot Configuration Data database doesn't contain information about a current hibernation image, the Windows Boot Manager retrieves boot configuration information and then passes that information over to the Windows operating system loader. Once that handover occurs, the Windows Boot Manager exits and the Windows operating system loader takes over. At this stage, Windows operating system loader loads the kernel, Ntoskrnl.exe, and any basic hardware drivers. As it does so, the Windows Vista operating system boots up.
Booting an alternate operating system
Now, if the Windows Boot Manager finds information in the Boot Configuration Data database about another operating system, the Windows Boot Manager will build and display a menu that lists Windows Vista and the other operating system as choices. If the other operating system is selected, the Windows Boot Manager retrieves information about how to boot that operating system and then passes the information over to the appropriate operating system loader. As in the previous examples, the Windows Boot Manager then exits and the other operating system's boot loader takes over.
Moving forward
As I mentioned at the beginning, the main reason for gaining a better understanding of Windows Vista's new boot loader architecture is to help you to work with Windows Vista in a dual-boot configuration. With this information under your belt, we'll delve into the Boot Configuration Data database and the Boot Configuration Data Store Editor, BCDEdit.exe, in the next article.