Windows XP will be around for many years,
so many IT pros will likely want to keep it
on their system in a dual-boot configuration
with Windows Vista. If you’re like me,
no matter how long you set the boot menu
display time, you’ll miss the menu when
you want to boot under the nondefault
OS. Here’s a simple trick to reboot your
system under your nondefault OS without
having to wait for the boot menu to appear.
You’ll be able to leave your system while it
reboots and find that it started under the
right OS when you come back.
The trick is to use BCDEdit (bcdedit
.exe), a Vista command-line tool that can
add, modify, and delete data in the Boot
Configuration Data (BCD) store. In Vista and
Windows Server 2008, the BCD store houses
the boot configuration parameters that
were in the boot.ini file in earlier OS versions. You can use BCDEdit’s /bootsequence
command to specify the boot entries and
boot order for a one-time boot sequence.
After that boot has occurred, the OS goes
back to its regular boot sequence. Thus, you
just need to create a batch file that uses
BCDEdit’s /bootsequence command to
reboot your computer under the nondefault
OS. If Vista is your default OS, you need
to create RebootXP.bat, which reboots the
computer under XP. If XP is your default OS,
you need to create RebootVista.bat, which
reboots your computer under Vista.
Creating and using RebootXP.bat.
Open Notepad and enter the following two
commands:
bcdedit
/bootsequence {ntldr} /addfirst
Shutdown /r /t 0
(Although the first command wraps here,
you’d enter it on one line in the Command
Prompt window.) The /bootsequence command
specifies that there’s only one boot
entry—ntldr, which is the boot loader ID
for pre-Vista OSs—in the one-time boot
sequence. The /addfirst parameter makes
sure the specified boot entry is at the
beginning of the one-time boot sequence.
That way, when the Shutdown command
shuts down and restarts (which the /r
parameter specifies) the computer, it’ll
reboot under XP. The Shutdown command’s
/t 0 parameter ensures that the shutdown
begins immediately. After you enter these
two commands, save the file, naming it
RebootXP.bat.
In Vista, running BCDEdit commands requires
administrative privileges, so you need
to run RebootXP.bat under an administrative
account. One way to do this is to use
the Administrator Command Prompt window,
which you can access by right-clicking
Command Prompt in the Start menu, then
selecting Run as administrator. If you’re
prompted for a password or confirmation,
type the password or provide confirmation.
When the Administrator Command Prompt
window opens, run the command
MyPath\RebootXP.bat
where MyPath is the path to RebootXP.bat
on your computer.
If you’re afraid you’ll forget to run RebootXP.
bat under administrative privileges,
you can use the modified batch file that Listing 1 shows. When you run
ModifiedRebootXP.bat without
administrative privileges, you’ll receive
a warning message and the
batch file will automatically end
so that your computer doesn’t
reboot under the default OS.
Creating and using RebootVista.bat.
If your default OS is XP, you have to work a
little harder to create the batch file. Before
you can create RebootVista.bat, you need
to get the boot loader ID for the version of
Vista you’re using. To do so, open a Command
Prompt window (or an Administrator
Command Prompt window if you’re on
Vista) and run the command
X:\windows\system32\bcdedit
where X refers to the driver letter on which
Vista is installed. You’ll need to
replace X with the drive letter
specific to your system
(e.g., D). In this command’s
output, find the “Windows
Boot Loader” section and
look for a 32-digit hexadecimal
globally unique
identifier (GUID) that takes
the form {xxxxxxxx-xxxx-xxxxxxxx-
xxxxxxxxxxxx}. Open Notepad
and enter the commands
X:\windows\system32\bcdedit
/bootsequence {ID} /addfirst
Shutdown /r /t 0
where X refers to the driver letter on which
Vista is installed and ID is the 32-digit GUID
you just found. Save the file, naming it
RebootVista.bat. To run this batch file, open
a Command Prompt window and run the
command
MyPath\RebootVista.bat
where MyPath is the path to RebootVista
.bat on your computer.
You can download RebootXP.bat, Modified-
RebootXP.bat, and RebootVista.bat by going
to www.windowsitpro.com, entering 98816
in the InstantDoc ID box, clicking Go, then
clicking the Download the Code Here button.
You can find more information about how
to use BCDEdit in the “BCDEdit Reference”
documentation, which you can download at
www.microsoft.com/whdc/system/platform/firmware/bcdedit_reff.mspx.
After you create the appropriate batch file, rebooting your computer under the
nondefault OS is just a matter of running
that file. You’ll never wait for or miss seeing
the boot menu again.
—André Boutet, technical analyst, CSST Québec
End of Article