The Old Way
In legacy operating systems the boot sector (boot strap loader) loads the NTLDR that would then look for the BOOT.INI. If more than one operating system existed the BOOT.INI would provide the user with an Operating System Selection Screen. Once an operating system was chosen NTDetect.com would then take over to detect basic hardware is required for operating system startup.
The New Way
Windows Vista and later operating systems replaced the NTLDR with the Windows Boot Manager (BOOTMGR). The BOOTMGR file is located in the 100 MB system partition automatically created during the Window 7 and Server 2008 R2 installation. In Windows Vista and Server 2008 the file is located in the System Partition. Once the computer is started the boot sector loads the BOOTMGR which in turn looks for an active partition. Once an active partition is found the BOOTMGR looks for the Boot Configuration Database (BCD). The BCD store contains boot configuration parameters and controls how the operating system is started in Windows Vista® and later operating systems. These parameters were previously in the Boot.ini file. Normally this file is stored in a folder called Boot in the same partition as the BOOTMGR.
Modifying the startup environment
Depending on specifically the changes desired there are several tools to make changes to the BCD.
First of all the Bootcfg.exe utility used in legacy is no longer supported. This utility has been replaced with the Bcdedit.exe command-line tool to affect the Windows code which runs in the pre-operating system environment by adding, deleting, editing, and appending entries in the BCD store. Bcdedit.exe is located in the \Windows\System32 directory of the operating system partition.
The Startup and recovery dialog box enables you to select the default operating system to start if you have multiple operating systems installed on your computer. You can also change the time-out value. These settings are located on the Advanced tab in the System Properties dialog box.
System Configuration utility (Msconfig.exe) is a more advanced tool used to trouble shoot the start process, It is used to enable and disable software, device drives and services during the startup process.
Windows Management Instrumentation (WMI) provider is a management interface that you can use to script utilities that modify BCD. This is the only programmatic interface available for BCD.
In my next blog we will explore the Boot Configuration Database using the BCDEDIT.exe.
For more information, see the following posts in this series of posts on manipulating the Windows 7 Boot Configuration Database (BCD).
Part 1: How to install Windows 7 or Server 2008R2 from a Virtual Hard Disk
Part 2: How to install Windows 7 or Server 2008R2 from a Virtual Hard Disk (VHD)
Part 3: What happened to my BOOT.INI file?
Part 4: How to use BCDEDIT to add menu items to the selection screen in Win Server & Win7
Part 5: How to dual boot Windows 7 and Windows XP using BCD