Windows 8 BCDEdit – Boot Configuration

Edit Windows 8 BCD (Boot Configuration Data)

Starting with Vista, BCD replaces the settings in boot.ini.  BCD is a wonderfully descriptive acronym for Boot Configuration Data, more importantly, it gives you control of what should happen when your Windows 8 computer starts.  This page explains the boot data and how, with care, you can edit the settings.

Understanding the Boot Configuration Settings

 ♦

What You Can Do with BCDEdit

  • Change the default boot settings on multiboot computers.
  • Adjust the timeout.
  • Alter the descriptions of boot menu items.

Getting Started with Windows 8 BCDEdit

The first point is that we need a vehicle such as CMD or PowerShell to run BCDEdit commands.  Remember that BCD is the data store, whereas BCDEdit is the utility for manipulating the settings.

Trap: Before launching CMD or PowerShell ISE, remember to right-click and select, ‘Run as administrator’.

The second point is that before we make boot configuration changes, let us list the settings so that we can understand the syntax, and appreciate the scope of the configuration data.

At the command prompt, or in PowerShell ISE type plain:
bcdedit

C:\Windows\system32>bcdedit

Windows Boot Manager
——————–
identifier     {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device        partition=C:
path          \bootmgr
description  Windows Boot Manager
locale         en-US
inherit        {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
integrityservices Enable
default {1239f010-6351-11e1-9a68-b7a1d60e1a8d}
resumeobject {1239f013-6351-11e1-9a68-b7a1d60e1a8d}
displayorder {1239f015-6351-11e1-9a68-b7a1d60e1a8d}
{1239f010-6351-11e1-9a68-b7a1d60e1a8d}
{1d8fc0bb-68e5-11e1-9ca0-a0022b7f3e8d}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 20

 Windows Boot Loader
——————-
identifier       {1239f010-6351-11e1-9a68-b7a1d60e1a8d}
device          partition=C:
path             \Windows\system32\winload.exe
description     Windows 8 Consumer Preview
locale            en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence {1239f011-6351-11e1-9a68-b7a1d60e1a8d}
integrityservices Enable
recoveryenabled Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {1239f00f-6351-11e1-9a68-b7a1d60e1a8d}
nx OptIn
bootmenupolicy Standard

Urgent, Important – Backup BCDEdit

My third point is now that you have had a look at BCDEdit, I strongly recommend you take precautions and backup or export the original settings.  Be aware this is not like editing an ordinary text file such as boot.ini.

Tip: I prefer to use PowerShell ISE rather than CMD to run these commands; the reason being it’s much easier to edit the commands and keep track of changes.  Remember to ‘Run as administrator’.

bcdedit /export C:\GuyBCD1

Note 1: You can give the backup file an legal name, I just incorporate ‘Guy’ so that I can recognise my work.

Note 2: If you need to restore this date replace -export with -import.

Note 3: The debate rages as to whether we should use a -dash or / backslash.  Feel free to change to a backslash if you prefer.

Guy Recommends:  A Free Trial of the Network Performance Monitor (NPM)Review of Orion NPM v11.5 v11.5

SolarWinds’ Orion performance monitor will help you discover what’s happening on your network.  This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.

What I like best is the way NPM suggests solutions to network problems.  Its also has the ability to monitor the health of individual VMware virtual machines.  If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.

Download a free trial of Solarwinds’ Network Performance Monitor

BCDEdit – 3rd Party Program Recommendation

The truth is that I have struggled with the built-in BCDEdit.  The good news is I have tried and tested this Visual BCD Editor for Windows 7 and 8.  With this 3rd party utility you can edit every bit of BCD.  Also, it can automatically create Windows loaders, and even make a one click dual-boot repair.

Windows 8 BCDEdit Switches

Assuming you are able to boot normally, you can discover more about Windows 8 boot configuration by typing: bcdedit -?   Note that the underlying executable is stored in the %systemroot%\system32 folder, but as this location is in the Path cmd or PowerShell ISE find this file without trouble.

I like to research the commands with:
Cls
BCDEdit /? Topics

®

bootdebug
bootems
bootsequence
copy
create
createstore
dbgsettings
debug 
default
delete
deletevalue
displayorder
ems
emssettings
enum
export
FORMATS
hypervisorsettings
ID
import.
mirror
set
store
timeout
toolsdisplayorder

PS C:\Windows\system32>

BCDEdit Commands

CLS
BCDEdit /enum all /v

Part of the output from the above command.

Windows Boot Manager
——————–
Identifier: {224b0148-a08e-11da-b308-ed83a3b7e795}
Type: 10100002
Device: partition=C:
Path: \EFI\Microsoft\Boot\bootmgfw.efi
Description: Windows Boot Manager
Locale: en-US
Inherit options: {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
Boot debugger: No
Default: {6159a569-e084-11e0-bbe4-8235eea3d58f}
Timeout: 30

Amongst the entries for Windows Boot Manager is:

Default: {6159a569-e084-11e0-bbe4-8235eea3d58f}   (Meaning Windows 8)

If you wanted to change it to an XP Boot Manager then type

bcdedit /default {466f5a88-0af2-4f76-9038-095b170dc21c}  (Meaning XP)

To be fair to Windows 8, perhaps it’s because I am not familiar with these hex numbers that I have difficulty getting in tune with bcdedit.

Solarwinds Config GeneratorGuy Recommends: The Free Config Generator

SolarWinds’ Config Generator is a free tool, which puts you in charge of controlling changes to network routers and other SNMP devices.  Boost your network performance by activating network device features you’ve already paid for.

Guy says that for newbies the biggest benefit of this free tool is that it will provide the impetus for you to learn more about configuring the SNMP service with its ‘Traps’ and ‘Communities’. Try Config Generator now – it’s free!

Download your free copy of Config Generator

Editing Your Windows 8 BCD Settings

You need a good reason, and a little practice, before making real changes to the boot sequence.  For this reason I would like to start with -timeout (or /timeout), it’s the easiest setting to understand and to monitor.

timeout

Here is an easy change:
bcdedit -timeout 20

To see the effect, re-run plain: bcdedit

-displayorder

Setting the display order only makes sense if you have more than one operating system, in effect a dual-boot machine.

The key point when configuring -displayorder is that you can only use particular GUIDs encased in curly brackets.  The knack is to research for GUIDs in sections starting with:

Windows Boot Loader
——————-
identifier {6159a569-e084-11e0-bbe4-8235eea3d58f}

Tip: You can ‘Mark’ and copy these hex blocks at the command-line.  Click on the tiny icon at the top left of your cmd box.  Or you can use PowerShell ISE as I mentioned earlier.

Trap: The GUIDs must exist, you cannot just make them up.  Moreover they must correspond to real settings as indicated under ‘identifier’.

Example 1:
-displayorder generic syntax {os1} {os2}
-displayorder {current} {6159a569-e084-11e0-bbe4-8235eea3d58f}

Example 2:
-displayorder {3b1cb4c9-5398-11dd-88aa-a0b620d5ce11} {9f25ee7a-e7b7-11db-94b5-f7e662935912}

Example 3: Add
bcdedit.exe -displayorder {c84b751a-ff09-11d9-9e6e-0030482375e6} -addlast

I say again, you have to 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.

bcdedit -default

Here is the classic switch to control what happens after the timeout expires.

bcdedit -default {GUID}

bcdedit -default {3b1cb4c9-5398-11dd-88aa-a0b620d5ce11}

Note 1: In the above example setting the -default in this way changes the bcd code, as a result my computer now boots into Windows 8.  Just to remind you that tweaking the default GUID only makes sense if you have a multi-boot machine.

Identifying Then Changing the Default Boot Manager

I have to say that I am not finding bcdedit easy to use.  Here is an example where you examine the setting for the default boot manager.

bcdedit -enum all -v

SolarWinds Response Time Viewer for WiresharkGuy Recommends: Response Time Viewer for Wireshark

Here is a free tool to troubleshoot network connection and latency problems.  Key concept: this is a free tool from SolarWinds that analyzes network packets captured by Wireshark (also a free tool).

When you inspect the data in the Response Time Dashboard, if you hover over an application such as Teredo or TCP, then you get an orange box showing a breakdown of network and application response times, note the 'Peak value' in addition to the 'Average'.

Download your free trial of SolarWinds Response Time Viewer for Wireshark

If All Else Fails – BootRec /RebuildBcd

It may be reassuring that if your editing destroys the bcd file (as happened to me), then with skill and a little luck it is possible to rebuild the boot configuration data.  For this you need a bootable DVD with the Windows 8 .iso file.

  • Boot from the DVD.  Really do ‘Press any key to continue …’
  • Select a language and a keyboard.  Next …
  • ‘Repair your computer’  (Key step. Look down at the bottom of your screen)
  • Troubleshoot
  • Advanced Options
  • Command prompt
  • Switch to the C:\ 
  • Optionally run this command:
    bcdedit /export c:\GuyBcdBak
  • Take a minute to remove the attribute restrictions:
    attrib bcd -r -s -h
  • Now go for it use the BootRec utility thus:
    BootRec /RebuildBcd
  • Take out the DVD and reboot your computer, hopefully you should now have a full set of boot options.

Check the New Windows 8 Boot Loader MenuWindows 8 Boot Loader - F8

If you need to intercept the boot process to repair Windows 8 then press F8 soon after you press the power button, here are options to help with a repair:

  • Refresh your PC – Reload Windows 8 keep your personal documents and photos
  • Reset your PC – Return to original configuration
  • Advanced options – System Restore, System Image Recovery, Automatic Repair or Command Prompt

My technique is to keep the F8 key depressed, then let it up for 5 seconds, down, up for 5 seconds until I saw the boot loader screen.

Windows 8 BCDBoot – Bcd Boot File Creation and Repair Tool

BcdBoot.exe (note the boot syllable) is a built-in Windows 8 command-line tool.  It has the specialist function of copying boot files to the system partition, it also creates a new system BCD store.

Bcdboot – Bcd boot file creation and repair tool.

The bcdboot.exe command-line tool is used to copy critical boot files to the
system partition and to create a new system BCD store.

bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v]
[/m [{OS Loader ID}]] [/addlast]

source Specifies the location of the windows system root.

/l Specifies an optional locale parameter to use when
initializing the BCD store. The default is US English.

/s Specifies an optional volume letter parameter to designate
the target system partition where boot environment files are
copied. The default is the system partition identified by
the firmware.

/v Enables verbose mode.

/m If an OS loader GUID is provided, this option merges the
given loader object with the system template to produce a
bootable entry. Otherwise, only global objects are merged.

/d Specifies that the existing default windows boot entry
should be preserved.

/f Used with the /s command, specifies the firmware type of the
target system partition. Options for <firmware> are ‘UEFI’,
‘BIOS’, or ‘ALL’.

/addlast Specifies that the windows boot manager firmware entry
should be added last. The default behavior is to add it
first.

bcdboot <source> [/l <locale>] [/s <volume-letter> [/f <firmware>]] [/v]
[/m [{OS Loader ID}]] [/addlast]
source Specifies the location of the windows system root.

/l Specifies an optional locale parameter to use when
initializing the BCD store. The default is US English.

/s Specifies an optional volume letter parameter to designate
the target system partition where boot environment files are
copied. The default is the system partition identified by
the firmware.

/v Enables verbose mode.

/m If an OS loader GUID is provided, this option merges the
given loader object with the system template to produce a
bootable entry. Otherwise, only global objects are merged.

/d Specifies that the existing default windows boot entry
should be preserved.

/f Used with the /s command, specifies the firmware type of the
target system partition. Options for <firmware> are ‘UEFI’,
‘BIOS’, or ‘ALL’.

/addlast Specifies that the windows boot manager firmware entry
should be added last. The default behavior is to add it
first.

BootCFG

Is an old command-line program that’s a refugee from XP.  I have yet to find a use for BootCFG in Windows 8.

See more bcdedit examples here

Summary of Windows 8 BCDEdit Boot Configuration

In Windows 8, BCD and bcdedit replace the boot.ini found in XP and older Windows operating systems.  The idea is to configure what happens when the computer starts-up.

If you like this page then please share it with your friends

 


Microsoft Windows 8 Boot Topics

Windows 8 Overview  • Windows 8 BCDEdit  • Windows 8 Dual Boot  • Windows 8 Bootable USB Drive

New Features Windows 8  • Windows 8 Uninstall  • Windows 8 Install & Boot  • Free Wake-on-Lan Tool

Windows 8 MSConfig Startup  • Windows 8 Event Viewer  • Windows 8 Boot  • Windows 8 MinWin