Objects and Elements

Please refer to the BCDEdit Reference (White Paper - dated January 31, 2008) for more detailed information about the topics covered here.


Objects

As stated previously, Objects in a BCD Store all have a unique 38 character GUID value in the format {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} - where x is a hexadecimal digit. Some objects have a predefined GUID whilst other are randomly generated. BCDEdit uses some well-known identifiers (e.g. {bootmgr}, {ntldr}) for the objects with a predefined GUID value - these are sometimes referred to as friendly names.

Entries in the Name/Type column in the table below enclosed in { } brackets (e.g. {bootmgr}) is a friendly name. Any entry in the Name/Type not enclosed in brackets will have a randomly generated GUID.

Entries in the GUID column in the table below show the underlying GUID value that corresponds to the friendly name.

Entries in the CODE column in the table below are covered in more detail in the Mounting the BCD Store as a Registry Hive section of these notes.

The list below is not exhaustive - it shows some of the more common object types. The information in this table has been taken from www.geoffchappell.com...bcd/objects.htm - please refer to Geoff's site or the BCDEdit Reference (White Paper - dated January 31, 2008) for more detailed information about these objects and a comprehensive list of other objects not covered here.


Name/Type GUID CODE
{fwbootmgr} {A5A30FA2-3D06-4E9F-B5F4-A01DF9D1FCBA} 10100001
{bootmgr} {9DEA862C-5CDD-4E70-ACC1-F32B344D4795} 10100002
/application osloader N/A - random 10200003
/application resume N/A - random 10200004
{memdiag} {B2721D73-1DB4-4C62-BF78-C548A880142D} 10200005
{legacy} / {ntldr} {466F5A88-0AF2-4F76-9038-095B170DC21C} 10300006
/application bootsector N/A - random 10400008
/application startup N/A - random 10400009
{ramdiskoptions} {AE5534E0-A924-466C-B836-758539A3EE3A} 30000000

To create any of the above objects in a BCD store use the command syntax bcdedit /create {bootmgr} [enter] (for those with friendly names) or bcdedit /create /application osloader [enter] for those without.


Elements

Entries in the Name/Type column in the tables show the command that needs to be used with the set command in bcdedit. To set/change the timeout element in the {bootmgr} object for example, we could use the following command -
bcdedit.exe /store C:\Boot\BCD /set {bootmgr} timeout 20

Entries in the CODE column in the tables below are covered in more detail in the Mounting the BCD Store as a Registry Hive section of these notes.

Entries in the Format column in the tables below indicate the data type that needs to be used with the relevant element -

The list below is not exhaustive - it shows some of the more common element types. The information in this table has been taken from www.geoffchappell.com...bcd/elements.htm - please refer to Geoff's site or the BCDEdit Reference (White Paper - dated January 31, 2008) for more detailed information about these elements and a comprehensive list of other elements not covered here.


Generic Elements that apply to all Object types -

Element CODE Format
device 11000001 device
path 12000002 string
description 12000004 string
locale 12000005 string
inherit 14000006 GUID list
recoverysequence 14000008 GUID list
recoveryenabled 16000009 boolean


Elements in BOOTMGR and FWBOOTMGR Object -

Element CODE Format
displayorder 24000001 GUID list
bootsequence 24000002 GUID list
default 23000003 GUID
timeout 25000004 integer
resume 26000005 boolean
resumeobject 23000006 GUID
toolsdisplayorder 24000010 GUID list
displaybootmenu 26000020 boolean
noerrordisplay 26000021 boolean
bcddevice 21000022 device
bcdfilepath 22000023 string
customactions 27000030 integer list


Elements in the OSLOADER Object -

Element CODE Format
osdevice 21000001 device
systemroot 22000002 string
resumeobject 23000003 GUID
stampdisks 26000004 boolean
detecthal 26000010 boolean
kernel 22000011 string
hal 22000012 string
dbgtransport 22000013 string
nx 25000020         0 = OptIn
        1 = OptOut
        2 = AlwaysOff
        3 = AlwaysOn
pae 25000021         0 = Default
        1 = ForceEnable
        2 = ForceDisable
winpe 26000022 boolean
nocrashautoreboot 26000024 boolean
lastknowngood 26000025 boolean
oslnointegritychecks 26000026 boolean
nolowmem 26000030 boolean


Elements in the RESUME Object -

Element CODE Format
filedevice 21000001 device
filepath 22000002 string
customsettings 26000003 boolean
pae 26000004 boolean
associatedosdevice 21000005 device
debugoptionenabled 26000006 boolean
bootux 25000007         0 = Disabled
        1 = Basic
        2 = Standard


Elements in the Device Object -

Element CODE Format
ramdiskimageoffset 35000001 integer
ramdisktftpclientport 35000002 integer
ramdisksdidevice 31000003 device
ramdisksdipath 32000004 string
ramdiskimagelength 35000005 integer
exportascd 36000006 boolean
ramdisktftpblocksize 35000007 integer
ramdisktftpwindowsize 35000008 integer
ramdiskmcenabled 36000009 boolean
ramdiskmctftpfallback 3600000A boolean