Computer Performance, Microsoft Windows 8

Guy recommends :
Free SolarWinds
VM Console

Solarwinds VM Console Free Download

Find out which of your VMs are a waste of space and which VMs need more resources.



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.

Free Monitor for Your Network: SolarWinds Real-time Traffic AnalyzerSolarwinds Real-time Traffic Analyzer

The main reason for monitoring your network is to check at a glance which servers are available.  If there is a network problem you want an interface to show the scope of the problem immediately.

Even when all servers and routers are available, sooner or later you will be curious to know who, or what, is hogging the precious network's bandwidth.  A GUI showing the top 10 users always makes interesting reading.

Another reason to monitor network traffic is to learn more about your server's response times and the consumption of resources.  To take the pain out of capturing frames and analysing the raw data, Guy recommends that you download a copy of the SolarWinds free Real-time NetFlow Analyzer.

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.

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 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'.

Download your free copy of Config Generator

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 Boot  • Windows 8 Install & Boot

New Features for Windows 8  • Windows 8 Uninstall  • Windows 8 Bootable USB Drive

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

  • By: Guy Thomas

 *


Custom Search

Site Home

Guy Recommends: SolarWinds Free IP SLA MonitorSolarwinds IP Sla Monitor

SolarWinds IP SLA Monitor offers so much more than just uncovering network bottlenecks, the real joy is learning about router traffic.

To find out what's happening on the network between your computers and their routers, download your free copy of the of IP SLA Monitor.

Article by: Guy Thomas Copyright © 1999-2012 Computer Performance LTD All rights reserved.

Please report a broken link, or an error to: