Geoff Chappell - Software Analyst
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).
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.
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.
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.
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 |
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.
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.
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 |
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 |
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 |
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.
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 |