Managing Computers with Multiple Operating Systems
Installing Windows
operating systems alongside another operating system—whether it is
another installation of the same Windows OS, a legacy Windows OS, or
another foreign OS—has always presented unique challenges. Windows Vista
brings along its own system of managing a dual- or multiple-boot
system.
Like most legacy Windows
operating systems, Windows Vista requires that it be installed last if
dual- or multiple-booting Windows Vista with other Windows operating
systems. This exam concerns itself with dual-booting Windows Vista with
legacy Windows operating systems only, so you need to concentrate only
on that particular dual-boot scenario.
Managing the Boot Configuration Data Store
As previously mentioned,
Microsoft now uses a new store to manage the boot settings of a computer
with an installation of Windows Vista. The Boot Configuration Data
(BCD) store is platform independent and currently supports the PC/AT
BIOS as well as the forthcoming Extensible Firmware Interface (EFI). EFI is a firmware platform that will replace the current PC/AT BIOS within the next several years.
To manipulate the boot environment on a Windows Vista PC, you can use the following three tools that Microsoft has supplied:
The Shell— The Advanced System Properties of the System Application in Control Panel.
MSConfig.exe—
Graphical utility that allows you to modify the default boot order of
the installed operating system, Safe boot and timeout settings, as well
as the debug settings.
BCDedit—
Command-line tool to directly manipulate the BCD stores. This tool is
the most powerful because it can not only perform all the preceding
functions, but also create new BCD stores. It has scripting support and
can modify the boot settings of all earlier versions of Windows.
A fourth utility, Bootcfg.exe, is still included to allow you to configure and query a boot.ini file if any previous Windows installation is installed. This capability is not necessary, however, because BCDedit can also edit this data.
In the Advanced tab of the System Properties application, you can modify
the default time settings as well as the selection of the default boot
order. Figure 4 shows this application’s limited means of manipulating the BCD store.
The System Configuration utility, MSConfig.exe,
can be run from the Search box of the Start menu or the command line,
and it presents a GUI interface. Within this interface, you are again
able to select which operating system is the default to boot up, the
Safe boot options, and several of the debug options from its Advanced
options.
Note
Use of MSConfig.exe As of the writing of this book, the MSConfig.exe
utility appears to be unable to enumerate any previous Windows
installation unless it is another Windows Vista installation (Dual
Windows Vista and so on). To remove Windows XP or a Windows 2000
installation as a boot option, you must use one of two procedures
outlined in Microsoft’s support article KB934564.
BCDedit is the primary tool to edit the BCD stores. A number of the important options are outlined in Table 2.
Table 2. Important Options for the BCDedit Utility
Option | Description |
---|
/enum all | Lists all entries in the BCD store. |
/default {ID} | {NTLDR} | Specifies the default entry by its GUID or by using the value {NTLDR} to specify a legacy OS that a boot.ini file is referencing. |
/bootsequence {ID} {ID} ... | Specifies the boot sequence order by using the GUID(s) of each entry. |
/timeout TimeInSeconds | Specifies the default timeout value in seconds. |
/delete {ID} | Deletes a specific boot entry by its GUID. |
/copy | Copies a current entry to create and modify settings manually to create a unique entry. |
/set | Splits the new GUID into its partition. |
/displayorder | Adds the new operating system entry to the display order. |
To begin using BCDedit,
you should enumerate all the entries of the BCD store. From this
listing, you also learn the GUID values of these entries because many of
the commands depend on the use of the GUIDs. Figure 5 shows two entries in the BCD store. A Windows XP installation is installed on one partition and Windows Vista on another.
Notice the value for the element called default in the Windows Boot Manager object. It is {current}.
This value notes which OS is the boot default. It shows that Windows
Vista is currently the selected default because the “current” OS that
was booted is also the one that is the default. To display this same
information with more verbosity, add the option all /v.
A much longer display results in displaying the GUID values for the
Windows XP OS object as well as each of its elements and Windows Vista’s
elements.
To change the default order, you use the /default option. Figure 6 shows making Windows XP the default selection after a timeout.
From the display shown in Figure 6, note that the value element default for the Windows Boot Manager object has now been changed to {ntldr}. Windows XP will boot on the next reload if nothing is selected in the Windows Boot Manager selection screen.