BCD Elements

Each BCD element is its own subkey. The name of the subkey is a representation in hexadecimal digits of a DWORD that the BCDEDIT help text refers to as a datatype.

The datatype is interpreted as bit fields:

Mask Interpretation Values
0xF0000000 class 1 = library
2 = application
3 = device
4 = hidden
0x0F000000 format 1 = device
2 = string
3 = GUID
4 = GUID list
5 = integer
6 = boolean
7 = integer list

Elements whose class is 4 are hidden in the sense that the bcdedit /enum command in the original Windows Vista does not reveal them. However, Windows 7 enumerates them when also given the /v switch (for verbose mode).

Supported Elements

The following tables list the BCD elements that are yet known in any of several senses. Each is shown first by the numeric constant that represents it in binary code. A second column gives either or both of the symbolic names by which the element seems to be known in source code. The last two columns attend particularly to how the element is worked with through the BCDEDIT tool.

The symbolic name in mixed case and starting with “Bcd” is from the type library in BCDSRV.DLL and is the name to use for programmatic access to the element through the Windows Management Instrumentation (WMI) interface. This symbol is highlighted yellow if it is defined in the type library for the original Windows Vista but is omitted from the BCD Reference in the Windows Vista SDK dated January 2007.

The symbolic names that are in all capitals and start with “BCDE” are extracted from tables in BCDEDIT.EXE. No use of these names is made by BCDEDIT. Perhaps they were included in BCDEDIT’s tables of elements as an aid during development, such that their persistence in the retail release may be inadvertent (as might happen easily enough if the tables are constructed in the source code by using macros). None of these names are known to be documented.

The friendly name is the one to use with BCDEDIT. It is highlighted yellow if it is not described by any bcdedit /? command. (For completeness, it must be admitted that a few of these are described in BCDEDIT string resources that are not used for help text.)

Elements are known from the original Windows Vista, SP1 and the original Windows 7, unless otherwise stated. Inspection of a self-extracting executable for Windows Vista SP2 found no BCDEDIT or BCDSRV.

Library Elements

The following apply to all object types.

Constant Symbolic Names Friendly Name Format or Value Applicable Versions
0x11000001 BcdLibraryDevice_ApplicationDevice
BCDE_LIBRARY_TYPE_APPLICATION_DEVICE
device device  
0x12000002 BcdLibraryString_ApplicationPath
BCDE_LIBRARY_TYPE_APPLICATION_PATH
path string  
0x12000004 BcdLibraryString_Description
BCDE_LIBRARY_TYPE_DESCRIPTION
description string  
0x12000005 BcdLibraryString_PreferredLocale
BCDE_LIBRARY_TYPE_PREFERRED_LOCALE
locale string  
0x14000006 BcdLibraryObjectList_InheritedObjects
BCDE_LIBRARY_TYPE_INHERIT
inherit GUID list  
0x15000007 BcdLibraryInteger_TruncatePhysicalMemory
BCDE_LIBRARY_TYPE_TRUNCATE_PHYSICAL_MEMORY
truncatememory integer  
0x14000008 BcdLibraryObjectList_RecoverySequence
BCDE_LIBRARY_TYPE_RECOVERY_SEQUENCE
recoverysequence GUID list  
0x16000009 BcdLibraryBoolean_AutoRecoveryEnabled
BCDE_LIBRARY_TYPE_AUTO_RECOVERY_ENABLED
recoveryenabled boolean  
0x1700000A BcdLibraryIntegerList_BadMemoryList
BCDE_LIBRARY_TYPE_BAD_MEMORY_LIST
badmemorylist integer list  
0x1600000B BcdLibraryBoolean_AllowBadMemoryAccess
BCDE_LIBRARY_TYPE_ALLOW_BAD_MEMORY_ACCESS
badmemoryaccess boolean  
0x1500000C BcdLibraryInteger_FirstMegabytePolicy
BCDE_LIBRARY_TYPE_FIRST_MEGABYTE_POLICY
firstmegabytepolicy 0 = UseNone
1 = UseAll
2 = UsePrivate
 
0x1500000D BcdLibraryInteger_RelocatePhysicalMemory
BCDE_LIBRARY_TYPE_RELOCATE_PHYSICAL_MEMORY
relocatephysical integer Windows Vista SP1, and higher
0x1500000E BCDE_LIBRARY_TYPE_AVOID_LOW_PHYSICAL_MEMORY avoidlowmemory integer Windows 7
0x1600000F BCDE_LIBRARY_TYPE_TRADITIONAL_KSEG_MAPPINGS traditionalksegmappings boolean Windows 7
0x16000010 BcdLibraryBoolean_DebuggerEnabled
BCDE_LIBRARY_TYPE_DEBUGGER_ENABLED
bootdebug boolean  
0x15000011 BcdLibraryInteger_DebuggerType
BCDE_LIBRARY_TYPE_DEBUGGER_TYPE
debugtype 0 = Serial
1 = 1394
2 = USB
 
0x15000012 BcdLibraryInteger_SerialDebuggerPortAddress
BCDE_LIBRARY_TYPE_DEBUGGER_PORT_ADDRESS
debugaddress integer  
0x15000013 BcdLibraryInteger_SerialDebuggerPort
BCDE_LIBRARY_TYPE_DEBUGGER_PORT_NUMBER
debugport integer  
0x15000014 BcdLibraryInteger_SerialDebuggerBaudRate
BCDE_LIBRARY_TYPE_DEBUGGER_BAUDRATE
baudrate integer  
0x15000015 BcdLibraryInteger_1394DebuggerChannel
BCDE_LIBRARY_TYPE_DEBUGGER_1394_CHANNEL
channel integer  
0x12000016 BcdLibraryString_UsbDebuggerTargetName
BCDE_LIBRARY_TYPE_DEBUGGER_USB_TARGETNAME
targetname string  
0x16000017 BcdLibraryBoolean_DebuggerIgnoreUsermodeExceptions
BCDE_LIBRARY_TYPE_DEBUGGER_IGNORE_USERMODE_EXCEPTIONS
noumex boolean  
0x15000018 BcdLibraryInteger_DebuggerStartPolicy
BCDE_LIBRARY_TYPE_DEBUGGER_START_POLICY
debugstart 0 = Active
1 = AutoEnable
2 = Disable
 
0x12000019 BCDE_LIBRARY_TYPE_DEBUGGER_BUS_PARAMETER busparams string Windows 7
0x16000020 BcdLibraryBoolean_EmsEnabled
BCDE_LIBRARY_TYPE_EMS_ENABLED
bootems boolean  
0x15000022 BcdLibraryInteger_EmsPort
BCDE_LIBRARY_TYPE_EMS_PORT_NUMBER
emsport integer  
0x15000023 BcdLibraryInteger_EmsBaudRate
BCDE_LIBRARY_TYPE_EMS_BAUDRATE
emsbaudrate integer  
0x12000030 BcdLibraryString_LoadOptionsString
BCDE_LIBRARY_TYPE_LOAD_OPTIONS_STRING
loadoptions string  
0x16000031 BcdLibraryBoolean_AttemptNonBcdStart      
0x16000040 BcdLibraryBoolean_DisplayAdvancedOptions
BCDE_LIBRARY_TYPE_DISPLAY_ADVANCED_OPTIONS
advancedoptions boolean  
0x16000041 BcdLibraryBoolean_DisplayOptionsEdit
BCDE_LIBRARY_TYPE_DISPLAY_OPTIONS_EDIT
optionsedit boolean  
0x15000042 BcdLibraryInteger_FVEKeyRingAddress
BCDE_LIBRARY_TYPE_FVE_KEYRING_ADDRESS
keyringaddress integer  
0x11000043 (device for boot status data log)   device  
0x12000044 (file path for boot status data log)   string  
0x16000045 (append to boot status data log)   boolean  
0x16000046 BcdLibraryBoolean_GraphicsModeDisabled
BCDE_LIBRARY_TYPE_GRAPHICS_MODE_DISABLED
graphicsmodedisabled boolean  
0x15000047 BcdLibraryInteger_ConfigAccessPolicy
BCDE_LIBRARY_TYPE_CONFIG_ACCESS_POLICY
configaccesspolicy 0 = Default
1 = DisallowMmConfig
 
0x16000048 BcdLibraryBoolean_DisableIntegrityChecks
BCDE_LIBRARY_TYPE_DISABLE_INTEGRITY_CHECKS
nointegritychecks boolean  
0x16000049 BcdLibraryBoolean_AllowPrereleaseSignatures
BCDE_LIBRARY_TYPE_ALLOW_PRERELEASE_SIGNATURES
testsigning boolean  
0x1200004A BCDE_LIBRARY_TYPE_FONT_PATH fontpath string Windows 7
0x1500000B BcdLibraryInteger_SiPolicy
BCDE_LIBRARY_TYPE_SI_POLICY
integrityservices 0 = Default
1 = Enable
2 = Disable
Windows 7
0x16000050 BCDE_LIBRARY_TYPE_CONSOLE_EXTENDED_INPUT extendedinput boolean  
0x15000051 BCDE_LIBRARY_TYPE_INITIAL_CONSOLE_INPUT initialconsoleinput integer  
0x15000052 BCDE_LIBRARY_TYPE_GRAPHICS_RESOLUTION graphicsresolution 0 = 1024x768
1 = 800x600
Windows Vista SP1, and higher

The elements 0x11000043, 0x12000044 and 0x16000045 seem not to be documented anywhere. They are known only from their meaningfulness to BOOTMGR. They can be worked with through BCDEDIT only as custom types, e.g., with custom:11000043 where a friendly name might otherwise be used.

The symbol BcdLibraryBoolean_AttemptNonBcdStart is defined in BCDSRV but its numerical datatype (0x16000031) is unknown to BCDEDIT.

Application-Specific Elements

An element whose type has 2 in its most significant 4 bits is interpreted according to its containing object. Note especially that two elements may have the same numerical type but completely different interpretations because they are meant for use with different types of object.

FWBOOTMGR and BOOTMGR Elements

The following elements are known for object types 1XX00001, 1XX00002, 2X200001 and 2X200002. The first two types can be created through BCDEDIT as {fwbootmgr} or {bootmgr}, respectively. For the last two, add the /inherit switch.

Constant Symbolic Name Friendly Name Format
0x24000001 BcdBootMgrObjectList_DisplayOrder
BCDE_BOOTMGR_TYPE_DISPLAY_ORDER
displayorder GUID list
0x24000002 BcdBootMgrObjectList_BootSequence
BCDE_BOOTMGR_TYPE_BOOT_SEQUENCE
bootsequence GUID list
0x23000003 BcdBootMgrObject_DefaultObject
BCDE_BOOTMGR_TYPE_DEFAULT_OBJECT
default GUID
0x25000004 BcdBootMgrInteger_Timeout
BCDE_BOOTMGR_TYPE_TIMEOUT
timeout integer
0x26000005 BcdBootMgrBoolean_AttemptResume
BCDE_BOOTMGR_TYPE_ATTEMPT_RESUME
resume boolean
0x23000006 BcdBootMgrObject_ResumeObject
BCDE_BOOTMGR_TYPE_RESUME_OBJECT
resumeobject GUID
0x24000010 BcdBootMgrObjectList_ToolsDisplayOrder
BCDE_BOOTMGR_TYPE_TOOLS_DISPLAY_ORDER
toolsdisplayorder GUID list
0x26000020 BCDE_BOOTMGR_TYPE_DISPLAY_BOOT_MENU displaybootmenu boolean
0x26000021 BcdBootMgrBoolean_NoErrorDisplay
BCDE_BOOTMGR_TYPE_NO_ERROR_DISPLAY
noerrordisplay boolean
0x21000022 BcdBootMgrDevice_BcdDevice
BCDE_BOOTMGR_TYPE_BCD_DEVICE
bcddevice device
0x22000023 BcdBootMgrString_BcdFilePath
BCDE_BOOTMGR_TYPE_BCD_FILEPATH
bcdfilepath string
0x27000030 BCDE_BOOTMGR_TYPE_CUSTOM_ACTIONS_LIST customactions integer list

OSLOADER Elements

The following elements are known for object types 1XX00003 and 2X200003. The first type can be created through BCDEDIT with the switch /application osloader, the second type either with the /inherit osloader switch or as the built-in {bootloadersettings} object.

Constant Symbolic Name Friendly Name Format or Value Applicable Versions
0x21000001 BcdOSLoaderDevice_OSDevice
BCDE_OSLOADER_TYPE_OS_DEVICE
osdevice device  
0x22000002 BcdOSLoaderString_SystemRoot
BCDE_OSLOADER_TYPE_SYSTEM_ROOT
systemroot string  
0x23000003 BcdOSLoaderObject_AssociatedResumeObject
BCDE_OSLOADER_TYPE_ASSOCIATED_RESUME_OBJECT
resumeobject GUID  
0x26000004 BcdOSLoaderBoolean_StampDisks
BCDE_OSLOADER_TYPE_STAMP_RAW_DISKS
stampdisks boolean Windows Vista SP1, and higher
0x26000010 BcdOSLoaderBoolean_DetectKernelAndHal
BCDE_OSLOADER_TYPE_DETECT_KERNEL_AND_HAL
detecthal boolean  
0x22000011 BcdOSLoaderString_KernelPath
BCDE_OSLOADER_TYPE_KERNEL_PATH
kernel string  
0x22000012 BcdOSLoaderString_HalPath
BCDE_OSLOADER_TYPE_HAL_PATH
hal string  
0x22000013 BcdOSLoaderString_DbgTransportPath
BCDE_OSLOADER_TYPE_DBG_TRANSPORT_PATH
dbgtransport string  
0x25000020 BcdOSLoaderInteger_NxPolicy
BCDE_OSLOADER_TYPE_NX_POLICY
nx 0 = OptIn
1 = OptOut
2 = AlwaysOff
3 = AlwaysOn
 
0x25000021 BcdOSLoaderInteger_PAEPolicy
BCDE_OSLOADER_TYPE_PAE_POLICY
pae 0 = Default
1 = ForceEnable
2 = ForceDisable
 
0x26000022 BcdOSLoaderBoolean_WinPEMode
BCDE_OSLOADER_TYPE_WINPE
winpe boolean  
0x26000024 BcdOSLoaderBoolean_DisableCrashAutoReboot
BCDE_OSLOADER_TYPE_DISABLE_CRASH_AUTOREBOOT
nocrashautoreboot boolean  
0x26000025 BcdOSLoaderBoolean_UseLastGoodSettings
BCDE_OSLOADER_TYPE_LAST_GOOD_SETTINGS
lastknowngood boolean  
0x26000026 BcdOSLoaderBoolean_DisableCodeIntegrityChecks
BCDE_OSLOADER_TYPE_DISABLE_INTEGRITY_CHECKS
oslnointegritychecks boolean  
0x26000027 BcdOSLoaderBoolean_AllowPrereleaseSignatures
BCDE_OSLOADER_TYPE_ALLOW_PRERELEASE_SIGNATURES
osltestsigning boolean Windows Vista only
0x26000030 BcdOSLoaderBoolean_NoLowMemory
BCDE_OSLOADER_TYPE_NO_LOW_MEMORY
nolowmem boolean  
0x25000031 BcdOSLoaderInteger_RemoveMemory
BCDE_OSLOADER_TYPE_REMOVE_MEMORY
removememory integer  
0x25000032 BcdOSLoaderInteger_IncreaseUserVa
BCDE_OSLOADER_TYPE_INCREASE_USER_VA
increaseuserva integer  
0x25000033 BcdOSLoaderInteger_PerformaceDataMemory
BCDE_OSLOADER_TYPE_PERFORMANCE_DATA_MEMORY
perfmem integer  
0x26000040 BcdOSLoaderBoolean_UseVgaDriver
BCDE_OSLOADER_TYPE_USE_VGA_DRIVER
vga boolean  
0x26000041 BcdOSLoaderBoolean_DisableBootDisplay
BCDE_OSLOADER_TYPE_DISABLE_BOOT_DISPLAY
quietboot boolean  
0x26000042 BcdOSLoaderBoolean_DisableVesaBios
BCDE_OSLOADER_TYPE_DISABLE_VESA_BIOS
novesa boolean  
0x25000050 BcdOSLoaderInteger_ClusterModeAddressing
BCDE_OSLOADER_TYPE_CLUSTERMODE_ADDRESSING
clustermodeaddressing integer  
0x26000051 BcdOSLoaderBoolean_UsePhysicalDestination
BCDE_OSLOADER_TYPE_USE_PHYSICAL_DESTINATION
usephysicaldestination boolean  
0x25000052 BcdOSLoaderInteger_RestrictApicCluster
BCDE_OSLOADER_TYPE_RESTRICT_APIC_CLUSTER
restrictapiccluster integer  
0x22000053 BCDE_OSLOADER_TYPE_EVSTORE evstore string Windows 7
0x26000054 BcdOSLoaderBoolean_UseLegacyApicMode
BCDE_OSLOADER_TYPE_USE_LEGACY_APIC_MODE
uselegacyapicmode boolean Windows 7
0x26000060 BcdOSLoaderBoolean_UseBootProcessorOnly
BCDE_OSLOADER_TYPE_BOOT_PROCESSOR_ONLY
onecpu boolean  
0x25000061 BcdOSLoaderInteger_NumberOfProcessors
BCDE_OSLOADER_TYPE_NUMBER_OF_PROCESSORS
numproc integer  
0x26000062 BcdOSLoaderBoolean_ForceMaximumProcessors
BCDE_OSLOADER_TYPE_MAXIMUM_PROCESSORS
maxproc boolean  
0x25000063 BcdOSLoaderBoolean_ProcessorConfigurationFlags
BCDE_OSLOADER_TYPE_PROCESSOR_CONFIGURATION_FLAGS
configflags integer  
0x26000064 BcdOSLoaderBoolean_MaximizeGroupsCreated
BCDE_OSLOADER_TYPE_MAXIMIZE_GROUPS_CREATED
maxgroup boolean Windows 7
0x26000065 BCDE_OSLOADER_TYPE_FORCE_GROUP_AWARENESS groupaware boolean Windows 7
0x25000066 BcdOSLoaderBoolean_GroupSize
BCDE_OSLOADER_TYPE_GROUP_SIZE
groupsize integer Windows 7
0x26000070 BcdOSLoaderInteger_UseFirmwarePciSettings
BCDE_OSLOADER_TYPE_USE_FIRMWARE_PCI_SETTINGS
usefirmwarepcisettings boolean  
0x25000071 BcdOSLoaderInteger_MsiPolicy
BCDE_OSLOADER_TYPE_MSI_POLICY
msi 0 = Default
1 = ForceDisable
 
0x25000072 BCDE_OSLOADER_TYPE_PCI_EXPRESS_POLICY pciexpress 0 = Default
1 = ForceDisable
 
0x25000080 BcdOSLoaderInteger_SafeBoot
BCDE_OSLOADER_TYPE_SAFEBOOT
safeboot 0 = Minimal
1 = Network
2 = DsRepair
 
0x26000081 BcdOSLoaderBoolean_SafeBootAlternateShell
BCDE_OSLOADER_TYPE_SAFEBOOT_ALTERNATE_SHELL
safebootalternateshell boolean  
0x26000090 BcdOSLoaderBoolean_BootLogInitialization
BCDE_OSLOADER_TYPE_LOG_INITIALIZATION
bootlog boolean  
0x26000091 BcdOSLoaderBoolean_VerboseObjectLoadMode
BCDE_OSLOADER_TYPE_SOS
sos boolean  
0x260000A0 BcdOSLoaderBoolean_KernelDebuggerEnabled
BCDE_OSLOADER_TYPE_KERNEL_DEBUGGER_ENABLED
debug boolean  
0x260000A1 BcdOSLoaderBoolean_DebuggerHalBreakpoint
BCDE_OSLOADER_TYPE_DEBUGGER_HAL_BREAKPOINT
halbreakpoint boolean  
0x260000A2 BcdOSLoaderBoolean_UsePlatformClock
BCDE_OSLOADER_TYPE_USE_PLATFORM_CLOCK
useplatformclock boolean Windows 7
0x260000B0 BcdOSLoaderBoolean_EmsEnabled
BCDE_OSLOADER_TYPE_KERNEL_EMS_ENABLED
ems boolean  
0x250000C0 BCDE_OSLOADER_TYPE_FORCE_FAILURE   0 = Load
1 = Hive
2 = Acpi
3 = General
original Windows Vista only
0x250000C1 BcdOSLoaderInteger_DriverLoadFailurePolicy
BCDE_OSLOADER_TYPE_DRIVER_LOAD_FAILURE_POLICY
driverloadfailurepolicy 0 = Fatal
1 = UseErrorControl
 
0x250000E0 BcdOSLoaderInteger_BootStatusPolicy
BCDE_OSLOADER_TYPE_BOOT_STATUS_POLICY
bootstatuspolicy 0 = DisplayAllFailures
1 = IgnoreAllFailures
2 = IgnoreShutdownFailures
3 = IgnoreBootFailures
 
0x250000F0 BcdOSLoaderInteger_HypervisorLaunchType
BCDE_OSLOADER_TYPE_HYPERVISOR_LAUNCH_TYPE
hypervisorlaunchtype 0 = Off
1 = Auto
Windows Vista SP1, and higher
0x220000F1 BcdOSLoaderString_HypervisorPath
BCDE_OSLOADER_TYPE_HYPERVISOR_PATH
hypervisorpath string Windows Vista SP1, and higher
0x260000F2 BcdOSLoaderBoolean_HypervisorDebuggerEnabled
BCDE_OSLOADER_TYPE_HYPERVISOR_DEBUGGER_ENABLED
hypervisordebug boolean Windows Vista SP1, and higher
0x250000F3 BcdOSLoaderInteger_HypervisorDebuggerType
BCDE_OSLOADER_TYPE_HYPERVISOR_DEBUGGER_TYPE
hypervisordebugtype 0 = Serial
1 = 1394
Windows Vista SP1, and higher
0x250000F4 BcdOSLoaderInteger_HypervisorDebuggerPortNumber
BCDE_OSLOADER_TYPE_HYPERVISOR_DEBUGGER_PORT_NUMBER
hypervisordebugport integer Windows Vista SP1, and higher
0x250000F5 BcdOSLoaderInteger_HypervisorDebuggerBaudrate
BCDE_OSLOADER_TYPE_HYPERVISOR_DEBUGGER_BAUDRATE
hypervisorbaudrate integer Windows Vista SP1, and higher
0x250000F6 BcdOSLoaderInteger_HypervisorDebugger1394Channel
BCDE_OSLOADER_TYPE_HYPERVISOR_DEBUGGER_1394_CHANNEL
hypervisorchannel integer Windows Vista SP1, and higher
0x250000F7 BcdOsLoaderInteger_BootUxPolicy     Windows 7
0x260000F8 BcdOSLoaderInteger_HypervisorSlatDisabled
BCDE_OSLOADER_TYPE_HYPERVISOR_SLAT_DISABLED
hypervisordisableslat boolean Windows 7
0x25000100 BcdOSLoaderInteger_TpmBootEntropyPolicy
BCDE_OSLOADER_TYPE_TPM_BOOT_ENTROPY_POLICY
tpmbootentropy 0 = Default
1 = ForceDisable
2 = ForceEnable
Windows 7
0x25000120 BCDE_OSLOADER_TYPE_XSAVEPOLICY xsavepolicy integer Windows 7
0x25000121 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE0 xsaveaddfeature0 integer Windows 7
0x25000122 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE1 xsaveaddfeature1 integer Windows 7
0x25000123 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE2 xsaveaddfeature2 integer Windows 7
0x25000124 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE3 xsaveaddfeature3 integer Windows 7
0x25000125 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE4 xsaveaddfeature4 integer Windows 7
0x25000126 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE5 xsaveaddfeature5 integer Windows 7
0x25000127 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE6 xsaveaddfeature6 integer Windows 7
0x25000128 BCDE_OSLOADER_TYPE_XSAVEADDFEATURE7 xsaveaddfeature7 integer Windows 7
0x25000129 BCDE_OSLOADER_TYPE_XSAVEREMOVEFEATURE xsaveremovefeature integer Windows 7
0x2500012A BCDE_OSLOADER_TYPE_XSAVEPROCESSORSMASK xsaveprocessorsmask integer Windows 7
0x2500012B BCDE_OSLOADER_TYPE_XSAVEDISABLE xsavedisable integer Windows 7

The WMI constants for configflags and groupsize are correctly reproduced: their names suggest boolean types but the elements actually are integers. Conversely, the constants for usefirmwarepcisettings and hypervisordisableslat suggest integers for types that actually are boolean. Does nobody take care? Does nobody ever check? The mis-spelling of BcdOSLoaderInteger_PerformaceDataMemory is Microsoft’s.

The BcdOSLoaderInteger_MsiPolicy symbol is documented in the Windows Vista SDK even though the BCDSRV type library does not define it (the documentation and implementation presumably having got out of sync).

The element 0x250000C0 has no friendly name. It can be worked with through BCDEDIT only as a custom type, e.g., with custom:250000C0 where a friendly name might otherwise be used.

RESUME Elements

The following elements are known for object types 1XX00004 and 2X200004. The first type can be created through BCDEDIT with the switch /application resume, the second type either with the /inherit resume switch or as the built-in {resumeloadersettings} object.

Constant Symbolic Name Friendly Name Format Applicable Versions
0x21000001 BcdResumeDevice_HiberFileDevice
BCDE_RESUME_LOADER_TYPE_HIBERFILE_DEVICE
filedevice device  
0x22000002 BcdResumeString_HiberFilePath
BCDE_RESUME_LOADER_TYPE_HIBERFILE_PATH
filepath string  
0x26000003 BcdResumeBoolean_UseCustomSettings
BCDE_RESUME_LOADER_TYPE_USE_CUSTOM_SETTINGS
customsettings boolean  
0x26000004 BcdResumeBoolean_x86PaeMode
BCDE_RESUME_LOADER_TYPE_X86_PAE_MODE
pae boolean  
0x21000005 BcdResumeDevice_AssociatedOsDevice
BCDE_RESUME_LOADER_TYPE_ASSOCIATED_OS_DEVICE
associatedosdevice device  
0x26000006 BCDE_RESUME_LOADER_TYPE_DEBUG_OPTION_ENABLED debugoptionenabled boolean  
0x25000007 BCDE_RESUME_LOADER_TYPE_BOOTUX_POLICY bootux 0 = Disabled
1 = Basic
2 = Standard
Windows 7

Where BCDEDIT lists the pae option among the “entries for the resume loader”, it erroneously describes the option as taking integer values, specifically those of the OSLOADER element to which BCDEDIT gives the same friendly name.

MEMDIAG Elements

The following elements are known for object types 1XX00005 and 2X200005. The first type can be created through BCDEDIT as the built-in {memdiag} object. For the second, use the /inherit memdiag switch.

Constant Symbolic Name Friendly Name Format or Value Applicable Versions
0x25000001 BcdMemDiagInteger_PassCount
BCDE_MEMTEST_TYPE_PASS_COUNT
passcount integer  
0x25000002 BcdMemDiagInteger_TestMix
BCDE_MEMTEST_TYPE_TESTMIX
testmix 0 = Basic
1 = Extended
 
0x25000003 BcdMemDiagInteger_FailureCount
BCDE_MEMTEST_TYPE_FAILURE_COUNT
failurecount integer  
0x25000004 BcdMemDiagInteger_TestToFail
BCDE_MEMTEST_TYPE_TEST_TO_FAIL
testtofail 0 = Stride
1 = Mats
2 = InverseCoupling
3 = RandomPattern
4 = Checkerboard
 
0x26000005 BCDE_MEMTEST_TYPE_CACHE_ENABLE cacheenable boolean Windows 7

NTLDR and SETUPLDR Elements

The following elements are known for object types 1XX00006, 1XX00007, 2X200006 and 2X200007. The first type can be created through BCDEDIT as either {legacy} or {ntldr}. The second cannot be created with BCDEDIT. For the last two, use the /inherit ntldr and /inherit setupldr switches, respectively.

Constant Symbolic Name Friendly Name Format
0x22000001 BCDE_LEGACY_LOADER_TYPE_BPB_STRING bpbstring string

STARTUP Elements

The following elements are known for object types 1XX00009 and 2X200009. These types can be created through BCDEDIT with the /application startup and /inherit startup switches, respectively.

Constant Symbolic Name Friendly Name Format
0x26000001 BCDE_STARTUP_TYPE_PXE_SOFT_REBOOT pxesoftreboot boolean
0x22000002 BCDE_STARTUP_TYPE_PXE_APPLICATION_NAME applicationname string

Device Elements

The following elements are known for object types 2X3XXXXX and 3XXXXXXX. To create the first type with BCDEDIT, use the /inherit device switch. The second type can be created through BCDEDIT either as the built-in object {ramdiskoptions} or with the /device switch.

Constant Symbolic Name Friendly Name Format Applicable Versions
0x35000001 BcdDeviceInteger_RamdiskImageOffset
BCDE_DEVICE_TYPE_RAMDISK_IMAGE_OFFSET
ramdiskimageoffset integer  
0x35000002 BcdDeviceInteger_TftpClientPort
BCDE_DEVICE_TYPE_RAMDISK_TFTP_CLIENT_PORT
ramdisktftpclientport integer  
0x31000003 BcdDeviceDevice_SdiDevice
BCDE_DEVICE_TYPE_RAMDISK_SDI_DEVICE
ramdisksdidevice device  
0x32000004 BcdDeviceString_SdiPath
BCDE_DEVICE_TYPE_RAMDISK_SDI_PATH
ramdisksdipath string  
0x35000005 BcdDeviceInteger_RamdiskImageLength
BCDE_DEVICE_TYPE_RAMDISK_IMAGE_LENGTH
ramdiskimagelength integer  
0x36000006 BcdDeviceBoolean_ExportAsCdRamdiskImageOffset
BCDE_DEVICE_TYPE_RAMDISK_EXPORT_AS_CD
exportascd boolean  
0x35000007 BcdDeviceInteger_TftpBlockSize
BCDE_DEVICE_TYPE_RAMDISK_TFTP_BLOCK_SIZE
ramdisktftpblocksize integer  
0x35000008 BcdDeviceInteger_TftpWindowSize
BCDE_DEVICE_TYPE_RAMDISK_TFTP_WINDOW_SIZE
ramdisktftpwindowsize integer Windows Vista SP1, and higher
0x36000009 BcdDeviceInteger_MulticastEnabled
BCDE_DEVICE_TYPE_RAMDISK_MULTICAST_ENABLED
ramdiskmcenabled boolean Windows 7
0x3600000A BcdDeviceInteger_MulticastTftpFallback
BCDE_DEVICE_TYPE_RAMDISK_MULTICAST_TFTP_FALLBACK
ramdiskmctftpfallback boolean Windows 7

The WMI constants for ramdiskmcenabled and ramdiskmctftpfallback are correctly reproduced: their names suggest integer types, but the elements actually are boolean.

The ramdisktftpblocksize element was omitted from the bcdedit /? types devobject documentation in the original Windows Vista. The oversight was perhaps not noticed until ramdiskftpwindowsize was added for the first service pack.

Setup Template Elements

The following elements are unknown to BCDEDIT. They have no friendly name and are exempt from enumeration by any bcdedit /enum command.

Constant Symbolic Name Format
0x41000001 BcdSetupInteger_DeviceType integer
0x42000002 BcdSetupString_ApplicationRelativePath string
0x42000003 BcdSetupString_RamdiskDeviceRelativePath string
0x46000004 BcdSetupBoolean_OmitOsLoaderElements boolean
0x46000010 BcdSetupBoolean_RecoveryOs boolean