Boot.ini really was the last of
Microsoft's .ini files. In
Windows Server 2008, Boot.ini is superseded by BCD (Boot configuration data). Boot Configuration Data is a wonderfully descriptive expression, more importantly, it gives you control of what should happen when
a Windows Server 2008 computer starts. The BCD editor is not
notepad, but a command-line program called BCDEDIT.
At the beginning I found it frustrating when I tried to set, or even
change boot settings with BCDEdit. My aim on this page is to
provide you with strategies and detailed examples, as a result, you will soon
learn how to editor the menu which appears when Windows Server 2008 boots.
Incidentally, the same techniques work with Vista.
Scenario: We want to inspect, and then change the
Windows Server 2008's boot options. For example, reduce the
timeout, or display an option to boot into a second operating system on a
dual-boot machine.
Windows Boot Loader ------------------- identifier {current}
device partition=C: path \Windows\system32\winload.exe description
Microsoft Windows Server 2008 locale en-US inherit {bootloadersettings}
osdevice partition=C: systemroot \Windows resumeobject {default} nx
OptOut
Windows Boot Loader ------------------- identifier
{3b1cb4c9-5398-11dd-88aa-a0b620d5ce11} device partition=D: path
\Windows\system32\winload.exe description Microsoft Windows Vista
locale en-US inherit {bootloadersettings} osdevice partition=D:
systemroot \Windows resumeobject {3b1cb4ca-5398-11dd-88aa-a0b620d5ce11}
nx OptIn
Note 1: Observe three sections of BCD
code, one for
the boot manager itself, followed by sections for the operating systems,
in this instance Windows Server 2008 and Vista.
Note 2: You could also append the verbose
switch /v. The advantage is that you can now see the GUID of the
default identifier.
Guy Recommends: SolarWinds Engineer's Toolset v10
The Engineer's Toolset v10 provides a
comprehensive console of utilities for troubleshooting computer problems. Guy says
it helps me monitor what's occurring on the network, and the tools
teaches me more about how the system literally operates.
There are so many good gadgets, it's like having free rein of a
sweetshop. Thankfully the utilities are displayed logically: monitoring, discovery, diagnostic, and Cisco tools.
Download your copy of the Engineer's Toolset v 10
Making changes to BCD code is possible, but beware, your mind has to
adjust to its logic and moreover, the syntax is tricky particularly with the hex code.
The biggest problem at the outset is to sift the important commands from
a long list.
Let us ask for help identifying bcdedit's switches, we can try the
famous switch /?
bcdedit /?
Here is an excerpt:
BCDEDIT - Boot Configuration Data Store Editor
Commands that control the boot manager
====================================== /bootsequence Sets the one-time
boot sequence /default Sets the default entry to boot. /displayorder Sets the order
in the multiboot menu. /timeout Sets the boot manager
time-out value.
Note 1: In the above example setting the /default in
this way changes the bcd code, as a result my computer now boots into Vista.
Just to remind you that tweaking the default GUID only makes sense if
you have a multi-boot machine.
The key point with /displayorder is that you can only use particular
GUIDs, furthermore, they must be encased in curly brackets. The knack is to research for
GUIDs in sections starting with:
Windows Boot Loader ------------------- identifier
{3b1cb4c9-5398-11dd-88aa-a0b620d5ce11}
Tip: To save typos you can 'Mark', 'Copy' and
'Paste' these hex blocks at the command-line. Click on the tiny
icon at the top left of your cmd box, then select 'Edit ->'
Trap: The GUIDs must exist, you cannot just make
them up. Moreover they must correspond to real settings as
indicated under 'identifier'.
I say again, you must use your GUIDs, and not mine; test by
re-running the command: bcdedit. The key point is to synchronize
with the rhythm of the syntax, /displayorder space curly bracket os1
curly bracket space curly bracket os2 curly bracket.
At present I have no use for this bootsequence switch, however, I did once see its effect
when bootmgr asked me if I wished to roll-back an update I was about to
make.
Guy Recommends: The Orion Network Performance Monitor (NPM) 9.5
Orion's performance monitor is designed for detecting network outages.
This NPM will guide you
through troubleshooting by indicating whether the root cause is a broken link,
faulty equipment or resource overload. Because it produces
network-centric views, it is intuitive to navigate, and as result you can
see easily what's working and what's not.
Perhaps Orion's best feature is the way it suggests solutions. Moreover, if
problems arise out of the blue, then you can configure Orion NPM 9.5 to notify
members of your team what's changed and how to fix it.
On this page I have concentrated on amending the Windows Server 2008
boot menu on a dual boot machine. BCDEdit has more wide ranging
capabilities, in particular '/copy' for creating more Windows Boot Loader
sections. While that may be useful for preparing imaging software,
there is no point in complicating matters on a regular server by
creating references to non-existent operating systems.
My scenario deals with cases where you have installed two or more
operating systems on the same computer and now you need to control or
troubleshoot what happens when the machine boots. Such control was
formerly the province of boot.ini.
Perhaps the next step would be to investigate the
Summary of BCDEdit
If you are wondering how to control the boot menu
that you see in Windows Server 2008 or Vista, then investigate the
command-line bcdedit. There are switches to control the timeout
and the display order for multi-boot machines.