询问者
我直到现在还搞不懂 BCDEDIT 的各个命令和选项究竟该怎么用

问题
全部回复
-
BCDEDIT - Boot Configuration Data Store Editor
The Bcdedit.exe command-line tool modifies the boot configuration data store.
The boot configuration data store contains boot configuration parameters and
controls how the operating system is booted. These parameters were previously
in the Boot.ini file (in BIOS-based operating systems) or in the nonvolatile
RAM entries (in Extensible Firmware Interface-based operating systems). You can
use Bcdedit.exe to add, delete, edit, and append entries in the boot
configuration data store.
For detailed command and option information, type bcdedit.exe /? <command>. For
example, to display detailed information about the /createstore command, type:
bcdedit.exe /? /createstore
For an alphabetical list of topics in this help file, run "bcdedit /? TOPICS".
Commands that operate on a store
================================
/createstore Creates a new and empty boot configuration data store.
/export Exports the contents of the system store to a file. This file
can be used later to restore the state of the system store.
/import Restores the state of the system store using a backup file
created with the /export command.
/sysstore Sets the system store device (only affects EFI systems, does
not persist across reboots, and is only used in cases where
the system store device is ambiguous).
Commands that operate on entries in a store
===========================================
/copy Makes copies of entries in the store.
/create Creates new entries in the store.
/delete Deletes entries from the store.
/mirror Creates mirror of entries in the store.
Run bcdedit /? ID for information about identifiers used by these commands.
Commands that operate on entry options
======================================
/deletevalue Deletes entry options from the store.
/set Sets entry option values in the store.
Run bcdedit /? TYPES for a list of datatypes used by these commands.
Run bcdedit /? FORMATS for a list of valid data formats.
Commands that control output
============================
/enum Lists entries in the store.
/v Command-line option that displays entry identifiers in full,
rather than using names for well-known identifiers.
Use /v by itself as a command to display entry identifiers
in full for the ACTIVE type.
Running "bcdedit" by itself is equivalent to running "bcdedit /enum ACTIVE".
Commands that control the boot manager
======================================
/bootsequence Sets the one-time boot sequence for the boot manager.
/default Sets the default entry that the boot manager will use.
/displayorder Sets the order in which the boot manager displays the
multiboot menu.
/timeout Sets the boot manager time-out value.
/toolsdisplayorder Sets the order in which the boot manager displays
the tools menu.
Commands that control Emergency Management Services for a boot application
==========================================================================
/bootems Enables or disables Emergency Management Services
for a boot application.
/ems Enables or disables Emergency Management Services for an
operating system entry.
/emssettings Sets the global Emergency Management Services parameters.
Command that control debugging
==============================
/bootdebug Enables or disables boot debugging for a boot application.
/dbgsettings Sets the global debugger parameters.
/debug Enables or disables kernel debugging for an operating system
entry.
/hypervisorsettings Sets the hypervisor parameters.
>"bcdedit /? TOPICS"
TOPICS IN THIS HELP FILE
To display help for a topic, run "bcdedit /? <topic>" where <topic> is one of
the following:
bootdebug /bootdebug command.
bootems /bootems command.
bootsequence /bootsequence command.
copy /copy command.
create /create command.
createstore /createstore command.
dbgsettings /dbgsettings command.
debug /debug command.
default /default command.
delete /delete command.
deletevalue /deletevalue command.
displayorder /displayorder command.
ems /ems command.
emssettings /emssettings command.
enum /enum command.
export /export command.
FORMATS Formats for types.
hypervisorsettings /hypervisorsettings command.
ID Identifiers for entries..
import /import command.
mirror /mirror command.
set /set command.
store /store command-line option.
timeout /timeout command.
toolsdisplayorder /toolsdisplayorder command.
TYPES Types that apply to any entry.
TYPES BOOTAPP Types that apply to boot applications. These include the
boot manager, memory diagnostic application, Windows OS
loader, and the resume application.
TYPES BOOTMGR Types that apply to the boot manager.
TYPES BOOTSECTOR Types that apply to the boot sector application.
TYPES CUSTOMTYPES Custom types.
TYPES FWBOOTMGR Types that apply to the firmware boot manager
TYPES MEMDIAG Types that apply to the memory diagnostic application
TYPES NTLDR Types that apply to the NTLDR based OS loader
TYPES OSLOADER Types that apply to the Windows OS loader
TYPES RESUME Types that apply to the resume application
v /v command-line option
>"bcdedit /? ID"
IDENTIFIERS
Many of the Bcdedit commands require identifiers. An identifier
uniquely identifies entries contained in the store. An identifier takes the
form of a globally unique identifier, or GUID. A GUID has the following format,
where each "x" represents a hexadecimal digit.
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
For example:
{d2b69192-8f14-11da-a31f-ea816ab185e9}
The position of the dashes (-) and the braces at the beginning and end of the
GUID are required.
Several entries can be identified by well-known identifiers. If an entry has a
well-known identifier, BCDedit displays it in output unless the /v command-line
switch is used. For more information, run "bcdedit /? /v".
The well-known identifiers are as follows:
{bootmgr} Specifies the Windows boot manager entry.
{fwbootmgr} Specifies the firmware boot manager entry,
specifically on systems that implement the
Extensible Firmware Interface (EFI) specification.
{memdiag} Specifies the memory diagnostic application entry.
{ntldr} Specifies a OS loader (Ntldr) that can be used
to start operating systems earlier than Windows
Vista.
{current} Specifies a virtual identifier that corresponds to
the operating system boot entry for the operating
system that is currently running.
{default} Specifies a virtual identifier that corresponds to
the boot manager default application entry.
{ramdiskoptions} Contains the additional options required by the
boot manager for RAM disk devices.
{dbgsettings} Contains the global debugger settings that can be
inherited by any boot application entry.
{emssettings} Contains the global Emergency Management Services
settings that can be inherited by any boot
application entry.
{badmemory} Contains the global RAM defect list that can be
inherited by any boot application entry.
{globalsettings} Contains the collection of global settings that
should be inherited by all boot application
entries.
{bootloadersettings} Contains the collection of global settings that
should be inherited by all Windows boot loader
application entries.
{resumeloadersettings} Contains the collection of global settings that
should be inherited by all Windows resume from
hibernation application entries.
{hypervisorsettings} Contains the hypervisor settings that can
be inherited by any OS loader entry.
>"bcdedit /? TYPES"
TYPES
The /set and /deletevalue commands require a <datatype> as a parameter.
<datatype> uniquely identifies both the data format and meaning of the value.
Data types are identified using either a name or a custom type. The names are
listed below, along with their data formats (in parentheses) and a short
description of the custom type. If a format is not specified, then the
description lists the literal values that you can use for that type. For
information about data formats, run "bcdedit /? formats".
The following types are valid for any entry. For information about types that
are specific to a particular entry, such as boot manager entries or the Windows
OS Loader entries, see the end of this help topic.
Entries
=======
DESCRIPTION (string) Defines the description of the entry.
PATH (string) Defines the path to the application.
DEVICE (device) Defines the device that the application resides on.
INHERIT (list) Defines the list of entries to be inherited.
For information about additional types for device objects, run
"bcdedit /? TYPES DEVOBJECT".
For information about additional types for particular applications,
run "bcdedit /? TYPES <apptype>", where <apptype> is one of the following:
BOOTAPP Boot applications. These types also apply to the boot manager,
memory diagnostic application, Windows OS loader, and the resume
application.
BOOTMGR Boot manager.
BOOTSECTOR Boot sector application.
CUSTOMTYPES Custom types.
DEVOBJECT Device object additional options.
FWBOOTMGR Firmware boot manager
MEMDIAG Memory diagnostic application
NTLDR OS loader that shipped with earlier Windows OS
OSLOADER Windows Vista OS loader
RESUME Resume application
>"bcdedit /? FORMATS"
The following describes the formats of the data that are required for
<datatypes> used with the /set command. The format that is required depends on
the <datatypes> that you specify with the /set command. For more information
about the formats associated with each <datatype>, run "bcdedit /? TYPES".
bool A boolean value. The following values correspond to TRUE:
1, ON, YES, TRUE
The following values correspond to FALSE:
0, OFF, NO, FALSE
device A device can be one of the following types:
BOOT
PARTITION=<drive>
HD_PARTITION=<drive>
FILE=[<parent>]<path>
RAMDISK=[<parent>]<path>,<optionsid>
VHD=[<parent>]<path>,<locatecustom>
The options for these types are:
<drive> A drive letter with a colon and no trailing
backslashes.
<parent> (Required) Can be either BOOT, LOCATE, or a drive
letter with colon. The square brackets do not
indicate that this is optional, but are a literal
part of the syntax.
<path> A path to the file (or .wim file) from the root of
the parent device.
<optionsid> The identifier to the device options entry that
contains the system deployment image (SDI) options
for the RAM disk. This is usually
{ramdisksdioptions}.
<locatecustom> Supplies an optional element used to locate a device
within a VHD. The default locate element for a
device is its application path (systemroot for an
osdevice). Custom values must be specified using
custom element sytax (see -help types customtypes),
for example: locate=custom:22000002.
id An entry identifier, which refers to an entry in the boot configuration
data store. Run "bcdedit /? ID" for more information about identifiers.
integer A 64-bit integer type. Some integer types can be set using enumerated
values.
integerlist A list of one or more 64-bit integers, separated by spaces.
This list should not be enclosed in quotation marks.
list An entry identifier list. It contains one or more entry identifiers
separated by spaces. The list should not be enclosed in quotation
marks.
string A literal string. If it contains spaces, it should be surrounded by
quotation marks (""). -
bcdedit /? /createstore
bcdedit /createstore <filename>
This command created a new empty boot configuration data store. The
created store is not a system store.
<filename> Specifies the filename of the boot configuration data
store. If the filename contains spaces, it must be
enclosed in quotation marks ("").
Example:
The following command creates the specified store file:
bcdedit /createstore C:\DATA\BCD
bcdedit /? /export
bcdedit /export <filename>
This command exports the contents of the system store into a file. This file
can be used later to restore the state of the system store. This command is
only valid for the system store.
<filename> The filename to be used as the destination for the export.
If the filename contains spaces, it must be enclosed in
quotation marks ("").
Example:
The following command exports the system store to the specified file:
bcdedit /export "C:\Data\BCD Backup"
bcdedit /? /import
bcdedit /import <filename> [/clean]
This command restores the state of the system store using a backup data file
previously generated using the /export command. Any existing entries in the
system store are deleted before the import takes place. This command is only
valid for the system store.
<filename> The name of the file that is imported into the system store.
If the filename contains spaces, it must be enclosed in
quotation marks ("").
/clean Specifies that all existing firmware boot entries should
be deleted (only affects EFI systems).
Example:
The following command imports the specified file into the system store.
bcdedit /import "C:\Data\BCD Backup" /clean
bcdedit /? /sysstore
bcdedit /sysstore <devicename>
This command sets the system store device. This command is only valid for EFI
systems in cases where the system store device is ambiguous. This setting does
not persist across reboots.
<devicename> The name of a system partition to set as the the system
store device. The device must be a system partition.
Example:
The following command sets the system store device as specified:
bcdedit /sysstore C:
bcdedit /? /copy
This command creates a copy of the specified boot entry.
bcdedit [/store <filename>] /copy {<id>} /d <description>
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<id> Specifies the identifier of the entry to be copied.
For more information about identifiers, run
"bcdedit /? ID".
<description> Specifies the description to be applied to the new entry.
Example:
The following command creates a copy of the specified operating system boot
entry:
bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
bcdedit /? /create
This command creates a new entry in the boot configuration data store. If
a well-known identifier is specified, then the /application, /inherit and
/device options cannot be specified. If the <id> is not specified,
or if <id>is not well-known, then you must specify an /application, /inherit
or /device option.
bcdedit /create [{<id>}] [/d <description>] [/application <apptype> |
/inherit [<apptype>] | /inherit DEVICE | /device]
<id> Specifies the identifier to be used for the new
entry. For more information about identifiers, run
"bcdedit /? ID".
<description> Specifies the description to be applied to the new
entry.
/application <apptype> Specifies that the new entry must be an application
entry. <apptype> specifies the application type.
<apptype> can be one of the following:
BOOTSECTOR
OSLOADER
RESUME
STARTUP
If you use other application types instead of
one of these, you must also specify a well-known
identifier.
/inherit [<apptype>] Specifies that the new entry must be an inherit
entry, and <apptype> specifies the application
type. If <apptype> is not specified, then the entry
can be inherited by any entry. If specified,
<apptype> can be one of the following:
BOOTMGR
BOOTSECTOR
FWBOOTMGR
MEMDIAG
NTLDR
OSLOADER
RESUME
The modifier prevents the inherit entry from being
inherited by an application entry of <apptype>.
/inherit DEVICE Specifies that the new entry must be an inherit
entry, and that the entry can only be inherited by
a device options entry.
/device Specifies that the new entry must be an additional
device options entry.
Examples:
The following command creates a NTLDR based OS loader entry (Ntldr):
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
The following command creates a RAM disk additional options entry:
bcdedit /create {ramdiskoptions}
The following command creates a new operating system boot entry:
bcdedit /create /d "Windows Vista" /application osloader
The following command creates a new debugger settings entry:
bcdedit /create {dbgsettings}
bcdedit /? /delete
This command deletes an entry from the boot configuration data store.
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup | /nocleanup]
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<id> Specifies the identifier of the boot entry that you want to
delete. For more information about identifiers,
run "bcdedit /? ID".
/f Deletes the specified entry. Without this option, Bcdedit
will not delete any entries that have a well-known
identifier.
/cleanup Deletes the specified entry and removes the entry from the
display order. Any other references to the entry being
deleted will also be removed from the store. When deleting
an OS loader entry, the associated resume from hibernation
entry is also deleted if it is not referenced by any other
OS loaders. This option is assumed unless /nocleanup is
specified.
/nocleanup Deletes the specified entry without removing the entry from
the display order.
Examples:
The following command deletes the specified operating system entry from the
store and removes the entry from the display order:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
The following command deletes the specified operating system entry from the
store and removes the entry from the display order:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
The following command deletes the specified operating system entry from the
store without removing the entry from the display order:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
The following command deletes the NTLDR based OS loader entry from the store:
bcdedit /delete {ntldr} /f
bcdedit /? /mirror
This command creates a mirror of the specified boot entry.
bcdedit [/store <filename>] /mirror {<id>}
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<id> Specifies the identifier of the entry to be mirrored.
For more information about identifiers, run
"bcdedit /? ID".
Example:
The following command creates a mirror of the specified operating system boot
entry:
bcdedit /mirror {cbd971bf-b7b8-4885-951a-fa03044f5d71}
bcdedit /? /deletevalue
This command deletes a data element from an entry in the boot configuration
data store.
bcdedit [/store <filename>] /deletevalue [<id>] <datatype>
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<id> Specifies the identifier of the entry that will be modified. If
not specified, {current} is used. For more information about
identifiers, run "bcdedit /? ID".
<datatype> Specifies the option that will be removed from the specified
entry. Run "bcdedit /? TYPES" for more information about
data types.
Examples:
The following command deletes the bootsequence option from the boot manager
entry:
bcdedit /deletevalue {bootmgr} bootsequence
The following command deletes the Windows Preinstallation Environment (WinPE)
value from the current operating system boot entry:
bcdedit /deletevalue winpe
The following command deletes the Windows PE value from the specified operating
system boot entry:
bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
bcdedit /? /set
This command sets an entry option value in the boot configuration data store.
bcdedit [/store <filename>] /set [{<id>}] <datatype> <value> [ /addfirst | /addlast | /remove ]
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<id> Specifies the identifier of the entry to be modified. If not
specified, {current} is used. For more information about
identifiers, run "bcdedit /? ID".
<datatype> Specifies the option data type that will be created or
modified. Run "bcdedit /? TYPES" for more information about
data types.
<value> Specifies the value that should be assigned to the option. The
format of <value> depends on the data type specified. Run
"bcdedit /? FORMATS" for more information about data formats.
/addfirst This switch can only be used if datatype is an object list.
Adds the specified entry identifier to the top of the list.
If this switch is specified, only a single entry identifier
may be specified. If the specified identifier is already
in the list, it will be moved to the top of the list.
/addlast This switch can only be used if datatype is an object list.
Adds the specified entry identifier to the end of the list.
If this switch is specified, only a single entry identifier
may be specified. If the specified identifier is already
in the list, it is moved to the end of the list.
/remove This switch can only be used if datatype is an object list.
Removes the specified entry identifier from the list.
If this switch is specified, only a single entry identifier
may be specified. If the identifier is not in the list
then the operation has no effect. If the last entry is being
removed, then the datatype value is deleted.
Examples:
The following command sets the application device to the partition C: for the
specified operating system entry:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} device partition=C:
NOTE: Use 'hd_partiton=' syntax to explicitly disable automatic VHD
detection, and create entries that are compatible for booting a
virtual machine, i.e.,
bcdedit /store F:\boot\bcd /set {default} device hd_partition=F:
The following command sets the OS device to a VHD file (C:\vdisks\vdisk01.vhd)
for the specified operating system entry:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} osdevice
vhd=[C:]\vdisks\disk01.vhd
The following command sets the application path to
\windows\system32\winload.exe for the specified operating system entry:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path
\windows\system32\winload.exe
The following command sets the NX policy to OptIn for the current operating
system boot entry.
bcdedit /set nx optin
bcdedit /? /enum
This command lists entries in a store. The /enum command is the default,
so running "bcdedit" without parameters is equivalent to running
"bcdedit /enum ACTIVE".
bcdedit [/store <filename>] /enum [<type> | <id>] [/v]
<filename> Specifies the store to be used. If this option is not
specified, the system store is used. For more information,
run "bcdedit /? store".
<type> Specifies the type of entries to be listed. <type> can be one
of the following:
ACTIVE All entries in the boot manager display order. This
is the default.
FIRMWARE All firmware applications.
BOOTAPP All boot environment applications.
BOOTMGR The boot manager.
OSLOADER All operating system entries.
RESUME All resume from hibernation entries.
INHERIT All inherit entries.
ALL All entries.
<id> Specifies the identifier of the entry to be listed. If an
identifier is provided, then only the specified object will be
listed. For information about identifiers, run "bcdedit /? ID".
/v Displays entry identifiers in full, rather than using
names for well-known identifiers.
Examples:
The following command lists all operating system loader boot entries:
bcdedit /enum OSLOADER
The following command lists all boot manager entries:
bcdedit /enum BOOTMGR
The following command lists only the default boot entry:
bcdedit /enum {default}
The following command lists only the specified operating system boot entry:
bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
bcdedit /? /v
Usually, any well-known entry identifiers are replaced by their friendly
shorthand form. Specifying /v as a command-line switch prevents this
replacement and displays all identifiers in full. Running "bcdedit /v" by
itself is equivalent to running "bcdedit /enum ACTIVE /v".
bcdedit /v
Example:
The following command lists the active entries in the system store with all
entry identifiers displayed in full.
bcdedit /enum ACTIVE /v
bcdedit /? /bootsequence
This command sets the one-time boot sequence to be used by the boot
manager.
bcdedit /bootsequence <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] Specifies a list of identifiers that make up the boot
sequence. You must specify at least one identifier and must
separate identifiers by spaces. For more information about
identifiers, run "bcdedit /? ID".
/addfirst Adds the specified entry identifier to the top of the boot
sequence. If this switch is specified, only a single
identifier may be specified. If the identifier is already
in the list, it is moved to the top of the list.
/addlast Adds the specified entry identifier to the end of the boot
sequence. If this switch is specified, only a single
identifier may be specified. If the identifier is already
in the list, it is moved to the end of the list.
/remove Removes the specified entry identifier from the boot
sequence. If this switch is specified, only a single
entry identifier may be specified. If the identifier is
not in the list then the operation has no effect. If
the last entry is being removed, then the boot sequence
value is deleted from the boot manager entry.
Examples:
The following command sets two OS entries and the NTLDR based OS loader in the
boot manager one-time boot sequence:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
The following command adds the specified OS entry to the end of the boot
manager one-time boot sequence:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
bcdedit /? /default
This command sets the default entry that the boot manager will use when the
timeout expires.
bcdedit /default <id>
<id> Specifies the identifier of the boot entry to be used as the
default when the time-out expires. For information about
identifiers, run "bcdedit /? ID".
Examples:
The following command sets the specified entry as the default boot manager
entry:
bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
The following command sets the NTLDR based OS loader as the default
entry:
bcdedit /default {ntldr}
bcdedit /? /displayorder
This command sets the display order to be used by the boot manager.
bcdedit /displayorder <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] Specifies a list of identifiers that make up the
display order. At least one identifier must be specified
and they must be separated by spaces. For more information
about identifiers, run "bcdedit /? ID".
/addfirst Adds the specified entry identifier to the top of
the display order. If this switch is specified, only a
single entry identifier may be specified. If the specified
identifier is already in the list, it will be moved to the
top of the list.
/addlast Adds the specified entry identifier to the end of
the display order. If this switch is specified, only a
single entry identifier may be specified. If the specified
identifier is already in the list, it is moved to the
end of the list.
/remove Removes the specified entry identifier from the
display order. If this switch is specified, only a single
entry identifier may be specified. If the identifier is
not in the list then the operation has no effect. If
the last entry is being removed, then the display order
value is deleted from the boot manager entry.
Examples:
The following command sets two OS entries and the NTLDR based OS loader in
the boot manager display order:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
The following command adds the specified OS entry to the end of the boot
manager display order:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
bcdedit /? /timeout
This command sets the time to wait, in seconds, before the boot manager selects
a default entry. For information about setting the default entry, run
"bcdedit /? default".
bcdedit /timeout <timeout>
<timeout> Specifies the time to wait, in seconds, before the boot manager
selects a default entry.
Example:
The following command sets the boot manager <timeout> to 30 seconds:
bcdedit /timeout 30
bcdedit /? /toolsdisplayorder
bcdedit /toolsdisplayorder <id> [...] [ /addfirst | /addlast | /remove ]
This command will set the display order to be used by the boot manager when
displaying the tools menu.
<id> [...] Specifies a list of identifiers that make up the tools
display order. At least one identifier must be specified
and they must be separated by spaces. For more information
about identifiers, run "bcdedit /? ID".
/addfirst Adds the specified entry identifier to the top of
the tools display order. If this switch is specified, only
a single entry identifier may be specified. If the
specified identifier is already in the list, it is
moved to the top of the list.
/addlast Adds the specified entry identifier to the end of
the tools display order. If this switch is specified, only
a single entry identifier may be specified. If the
specified identifier is already in the list, it is
moved to the end of the list.
/remove Removes the specified entry identifier from the
tools display order. If this switch is specified, only a
single entry identifier may be specified. If the
identifier is not in the list, then the operation will have
no effect. If the last entry is being removed, then the
tools display order value is deleted from the boot manager
entry.
Examples:
The following command sets two tools entries and the memory diagnostic in the
boot manager's tools display order:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
The following command adds the specified tool entry to the end of the boot
manager's tools display order:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
bcdedit /? /bootems
This command enables or disables Emergency Management Services for the
specified entry.
bcdedit /bootems [<id>] { ON | OFF }
<id> Specifies the identifier of the entry to be modified. Although this
command will work for any entry, it is only effective for boot
applications.
Example:
The following command enables Emergency Management Services for the boot
manager:
bcdedit /bootems {bootmgr} ON
bcdedit /? /ems
This command enables or disables Emergency Management Services for the
specified operating system boot entry.
bcdedit /ems [<id>] { ON | OFF }
<id> Specifies the identifier of the entry to be modified. Only
"Windows boot loader" entries can be specified. If not specified,
{current} is used. For more information about identifiers, run
"bcdedit /? ID".
Example:
The following command enables Emergency Management Services for the current
operating system boot entry:
bcdedit /ems ON
bcdedit /? /emssettings
This command sets the global Emergency Management Services settings for the
system. Emssettings does not enable or disable Emergency Management Services
for any particular boot entry.
bcdedit /emssettings [ BIOS ] | [ EMSPORT:<port> | [EMSBAUDRATE:<baudrate>] ]
BIOS Specifies that the system will use BIOS settings for the
Emergency Management Services configuration. This works only
on systems that have Emergency Management Services support
provided by the BIOS.
<port> Specifies the serial port to use as the Emergency Management
Services port. This should not be specified with the BIOS
option.
<baudrate> Specifies the serial baud rate to use for Emergency Management
Services. This command should not be specified with the BIOS
option. <baudrate> is optional, and the default is 9,600 baud.
Examples:
The following command sets the Emergency Management Services parameters to use
BIOS settings:
bcdedit /emssettings BIOS
The following command sets the Emergency Management Services parameters to use
com2: at 115,200 baud.
bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
bcdedit /? /bootdebug
This command enables or disables the boot debugger for the specified boot
entry. Although this command works for any entry, it is only effective for boot
applications.
bcdedit /bootdebug [<id>] { ON | OFF }
<id> Specifies the identifier of the entry to be modified.
For information about identifiers, run "bcdedit /? ID".
Examples:
The following command enables boot debugging for the Windows operating system
loader of the current operating system boot entry:
bcdedit /bootdebug ON
The following command disables boot debugging for the Windows boot manager:
bcdedit /bootdebug {bootmgr} OFF
bcdedit /? /dbgsettings
This command sets or displays the global debugger settings for the system.
This command does not enable or disable the debugger for any particular boot
entry. To enable or disable the debugger for a particular boot entry, use
"bcdedit /debug < identifier> ON". For information about identifiers, run
"bcdedit /? ID".
To set an individual global debugger setting, use
"bcdedit /set {dbgsettings} <type> <value>". For information about valid
types, run "bcdedit /? TYPES".
bcdedit /dbgsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] [TARGETNAME:<targetname>]
/start <startpolicy> /noumex ]
<debugtype> Specifies the type of debugger. <debugtype> can be one of
SERIAL, 1394 or USB.
<port> For SERIAL debugging, specifies the serial port to use as
the debugging port. This is an optional setting.
<baud> For SERIAL debugging, specifies the baud rate to be used
for debugging. This is an optional setting.
<channel> For 1394 debugging, specifies the 1394 channel to be used
for debugging.
<targetname> For universal serial bus (USB) debugging, specifies the USB
target name to be used for debugging.
/start <startpolicy> For all debugger types, this specifies the debugger
start policy. <startpolicy> can be one of the following:
ACTIVE
AUTOENABLE
DISABLE.
If not specified, ACTIVE is the default.
/noumex If specified, this causes the kernel debugger to ignore any
user-mode exceptions.
Examples:
The following command displays the current global debugger settings:
bcdedit /dbgsettings
The following command sets the global debugger settings to serial debugging
over com1 at 115,200 baud:
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
The following command sets the global debugger settings to 1394 debugging
using channel 23:
bcdedit /dbgsettings 1394 CHANNEL:23
The following command sets the global debugger settings to USB debugging
using target name DEBUGGING:
bcdedit /dbgsettings USB TARGETNAME:DEBUGGING
bcdedit /? /debug
This command enables or disables the kernel debugger for the specified boot
entry.
bcdedit /debug [<id>] { ON | OFF }
<id> Specifies the identifier of the entry to be modified. Only
Windows boot loader entries may be specified. If not
specified, {current} is used. For more information about
identifiers, run "bcdedit /? ID".
Examples:
The following command enables kernel debugging for the current Windows
operating system boot entry:
bcdedit /debug ON
The following command disables kernel debugging for the specified operating
system entry:
bcdedit /debug {cbd971bf-b7b8-4885-951a-fa03044f5d71} OFF
bcdedit /? /hypervisorsettings
This command sets or displays the hypervisor settings for the system.
This command does not enable or disable the hypervisor debugger for any
particular OS loader entry. To enable or disable the hypervisor debugger for a
particular OS loader entry, use "bcdedit /set <identifier> HYPERVISORDEBUG ON".
For information about identifiers, run "bcdedit /? ID".
To set an individual hypervisor debugger setting, use
"bcdedit /set {hypervisorsettings} <type> <value>". For information about valid
types, run "bcdedit /? TYPES".
bcdedit /hypervisorsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] ]
<debugtype> Specifies the type of debugger. <debugtype> can be one of
SERIAL or 1394.
<port> For SERIAL debugging, specifies the serial port to use as
the debugging port.
<baud> For SERIAL debugging, specifies the baud rate to be used
for debugging.
<channel> For 1394 debugging, specifies the 1394 channel to be used
for debugging.
Examples:
The following command displays the current hypervisor settings:
bcdedit /hypervisorsettings
The following command sets the hypervisor debugger settings to serial debugging
over COM1 at 115,200 baud:
bcdedit /hypervisorsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
The following command sets the hypervisor debugger settings to 1394 debugging
using channel 23:
bcdedit /hypervisorsettings 1394 CHANNEL:23 -
bcdedit /? TYPES BOOTAPP
BOOT APPLICATION
The following types apply to entries for boot applications. These types also
apply to the boot manager, memory diagnostic application, Windows OS loader,
and the resume application. For information about data formats for these types,
run "bcdedit /? FORMATS".
Display
=======
GRAPHICSRESOLUTION Defines the graphics resolution, 1024x768, 800x600,
etc.
GRAPHICSMODEDISABLED (bool) Disables graphics mode.
NOVESA (bool) Disables the use of Video Electronics Standards
Association (VESA) display modes.
Debugging
=========
BAUDRATE (integer) Defines the baud rate for the serial debugger.
BOOTDEBUG (bool) Enables the boot debugger.
CHANNEL (integer) Defines the channel for the 1394 debugger.
BUSPARAMS (string) Defines the PCI bus, device, and function numbers
of the debugging device. For example, 1.5.0
describes the debugging device on bus 1, device 5,
function 0.
DEBUGADDRESS (integer) Defines the address of a serial port for the
debugger.
DEBUGPORT (integer) Defines the serial port number for the serial
debugger.
DEBUGSTART Can be ACTIVE, AUTOENABLE or DISABLE.
DEBUGTYPE Can be SERIAL, 1394 or USB.
NOUMEX (bool) Causes user-mode exceptions to be ignored.
TARGETNAME (string) Defines the target name for the USB debugger.
Memory
======
BADMEMORYACCESS (bool) Allows an application to use the memory described
by the bad memory list.
BADMEMORYLIST (integerlist) Defines the list of Page Frame Numbers
describing faulty memory in the system.
TRUNCATEMEMORY (integer) Disregard all memory at or above the specified
physical address.
AVOIDLOWMEMORY (integer) Avoid using memory below the specified physical
address in the boot loader as much as possible.
RELOCATEPHYSICAL (integer) Relocates an automatically selected NUMA node's
physical memory to the specified physical
address.
Emergency Management Services
=============================
BOOTEMS (bool) Enables Emergency Management Services.
EMSBAUDRATE (integer) Defines the baud rate for Emergency Management
Services.
EMSPORT (integer) Defines the serial port number for Emergency
Management Services.
Devices and Hardware
===========================
CONFIGACCESSPOLICY Can be DEFAULT or DISALLOWMMCONFIG.
FIRSTMEGABYTEPOLICY Can be USENONE, USEALL or USEPRIVATE.
EXTENDEDINPUT (bool) Enables extended console input functionality.
Applications
============
LOCALE (string) Defines the locale of the boot application.
NOUMEX (bool) Causes user-mode exceptions to be ignored.
Recovery
========
RECOVERYENABLED (bool) Enables the recovery sequence.
RECOVERYSEQUENCE (list) Defines the recovery sequence.
Verification
============
TESTSIGNING (bool) Allows pre-release test code signing certificates.
For additional types that apply to the boot manager, memory diagnostic
application, windows OS loader, or the resume application, run
"bcdedit /? TYPES <apptype>", where <apptype> is one of the following:
BOOTMGR The boot manager.
MEMDIAG The memory diagnostic application.
OSLOADER The Windows OS loader.
RESUME The resume application.
bcdedit /? TYPES BOOTMGR
BOOT MANAGER
The following types apply only to entries for the boot manager. For information
about data formats for these types, run "bcdedit /? FORMATS".
Boot
====
BOOTSEQUENCE (list) Defines the one-time boot sequence.
DEFAULT (id) Defines the default boot entry.
TIMEOUT (integer) Defines the boot manager time to wait, in seconds,
before the boot manager selects a default entry.
Resume
======
RESUME (bool) Indicates that a resume operation should be
attempted.
RESUMEOBJECT (id) Provides the identifier of the resume application
object.
Display
=======
DISPLAYBOOTMENU (bool) Enables the boot menu display.
DISPLAYORDER (list) Defines the boot manager display order list.
TOOLSDISPLAYORDER (list) Defines the boot manager tools display order
list.
For additional types that apply to the boot manager, run
"bcdedit /? TYPES BOOTAPP".
bcdedit /? TYPES BOOTSECTOR
BOOT SECTOR
Boot Sector type applies to entries that contain bootsector in the form of a
file. Currently there are no additional options for this type.
bcdedit /? TYPES CUSTOMTYPES
CUSTOM TYPES
A custom type identifies the data format and meaning of a value that is not
represented by a friendly type name built in to BCDedit. Custom types are
typically used to extend the functionality of BCD.
A custom type has the following format:
custom:OxXXXXXXXX The literal string "custom:" followed by an 8-digit
hexadecimal number that encodes the format and meaning of the type.
A custom type appears in the same parameter position as a friendly type name in
a /set or /deletevalue command. For example:
bcdedit /set {<id>} custom: 0xXXXXXXXX <value>
For information about custom types that can be used with this version of
BCDedit, search the Microsoft Knowledge Base for these keywords: BCD, BCDedit,
custom types
bcdedit /? TYPES DEVOBJECT
DEVICE ADDITIONAL OPTIONS
The following types apply to device additional options entries. For information
about data formats for these types, run "bcdedit /? FORMATS".
The following options are valid for the device additional options entry:
Ramdisk
=======
EXPORTASCD (bool) Enables exporting the RAM disk as a CD.
RAMDISKIMAGELENGTH (integer) Defines the image length for the RAM disk.
RAMDISKIMAGEOFFSET (integer) Defines the image offset for the RAM disk.
RAMDISKSDIDEVICE (device) Defines the device on which the SDI file is
located.
RAMDISKSDIPATH (string) Defines the path to the SDI file.
RAMDISKTFTPCLIENTPORT (integer) Defines the Trivial File Transfer Protocol
(TFTP) client port for the RAM disk Windows
Imaging (WIM) file.
RAMDISKTFTPBLOCKSIZE (integer) Defines the Trivial File Transfer Protocol
(TFTP) block size for the RAM disk Windows
Imaging (WIM) file.
RAMDISKTFTPWINDOWSIZE (integer) Defines the Trivial File Transfer Protocol
(TFTP) window size for RAM disk Windows
imaging (WIM) file.
RAMDISKMCENABLED (bool) Enables or disables Multicast for RAM disk
Windows Imaging (WIM) file.
RAMDISKMCTFTPFALLBACK (bool) Enables fallback to TFTP if Multicast
fails.
bcdedit /? TYPES FWBOOTMGR
FIRMWARE BOOT MANAGER
The following types apply only to entries for the firmware boot manager. For
information about data formats for these types, run "bcdedit /? FORMATS".
Boot
====
BOOTSEQUENCE (list) Defines the one-time boot sequence.
DEFAULT (id) Defines the default boot entry.
TIMEOUT (integer) Defines the boot manager time to wait, in seconds.
Display
=======
DISPLAYORDER (list) Defines the boot manager display order list.
bcdedit /? TYPES MEMDIAG
MEMORY DIAGNOSTIC APPLICATION
The following types apply only to entries for memory diagnostic application
entries. For information about data formats for these types, run
"bcdedit /? FORMATS".
Test
====
PASSCOUNT (integer) The number of iterations that will be run.
TESTMIX Can be BASIC or EXTENDED.
CACHEENABLE (boolean) Overrides the default cache settings of the testmix.
For additional types that apply to the memory diagnostic application, run
"bcdedit /? TYPES BOOTAPP".
bcdedit /? TYPES NTLDR
NTLDR based OS LOADER
Currently there are no additional options for this type.
bcdedit /? TYPES OSLOADER
WINDOWS OS LOADER
The following types can be used only for Windows OS Loader entries. For
information about data formats for these types, run "bcdedit /? FORMATS".
Boot
====
BOOTLOG (bool) Enables the system initialization log.
BOOTSTATUSPOLICY Can be DisplayAllFailures, IgnoreAllFailures,
IgnoreShutdownFailures or IgnoreBootFailures.
LASTKNOWNGOOD (bool) Enables boot to last known good configuration.
NOCRASHAUTOREBOOT (bool) Disables automatic restart on crash.
RESUMEOBJECT (id) Defines the identifier of the resume object that
is associated with this operating system object.
SAFEBOOT Can be Minimal, Network or DsRepair
SAFEBOOTALTERNATESHELL (bool) Uses the alternate shell when booted into
Safe mode.
STAMPDISKS (bool) Enables stamping of RAW disks during Windows PE.
SOS (bool) Displays additional boot information.
WINPE (bool) Enables the computer to boot to Windows PE.
Display
=======
BOOTUX Defines the graphics experience during boot. Can be
Disabled, Basic or Standard.
Options
=======
ADVANCEDOPTIONS (bool) Enables advanced options.
LOADOPTIONS (string) Defines any additional options that are not covered
by other types.
OPTIONSEDIT (bool) Enables the options editor.
Processors and APICs
====================
CLUSTERMODEADDRESSING (integer) Defines the maximum number of processors to
include in a single Advanced Programmable
Interrupt Controller (APIC) cluster.
CONFIGFLAGS (integer) Specifies processor-specific configuration flags.
MAXPROC (bool) Reports the maximum number of processors in the
system.
NUMPROC (integer) Uses only the specified number of processors.
ONECPU (bool) Forces only the boot CPU to be used.
RESTRICTAPICCLUSTER (integer) Defines the largest APIC cluster number to
be used by the system.
USEPHYSICALDESTINATION (bool) Forces the use of the physical APIC.
USELEGACYAPICMODE (bool) Forces the use of legacy APIC mode even if
the processors and chipset support extended
APIC mode.
X2APICPOLICY (integer) Enables the use of extended APIC mode if the
processors and chipset support extended APIC mode.
Can be Enabled, Disabled or Default.
MAXGROUP (bool) Maximizes the number of groups created in group
configuration.
GROUPAWARE (bool) Forces drivers to be aware of multiple groups in a
multi-group environment.
GROUPSIZE (integer) Specifies the size of all processor groups. Must
be an integer of power of 2.
Hardware Abstraction Layer (HAL) & KERNEL
=========================================
HAL (string) Defines the file name for a private HAL.
HALBREAKPOINT (bool) Enables the special hardware abstraction layer
(HAL) breakpoint.
KERNEL (string) Defines the file name for a private kernel.
USEPLATFORMCLOCK (bool) Forces the use of a platform clock source for the
system's performance counter.
VESA, PCI, VGA, and TPM
=======================
USEFIRMWAREPCISETTINGS (bool) Uses BIOS-configured Peripheral Component
Interconnect (PCI) resources.
MSI Can be Default or ForceDisable.
VGA (bool) Forces the use of the VGA display driver.
TPMBOOTENTROPY Can be Default, ForceDisable, or ForceEnable.
Debugging and Performance
=========================
DBGTRANSPORT (string) Defines the file name for a private debugger
transport.
DEBUG (bool) Enables kernel debugging.
PERFMEM (integer) Specifies the size (in megabytes) of the buffer to
allocate for performance data logging.
Memory
======
INCREASEUSERVA (integer) Increases the amount of virtual address space
that the user-mode processes can use.
NOLOWMEM (bool) Disables the use of low memory.
NX Can be OptIn, OptOut, AlwaysOn or AlwaysOff.
PAE Can be Default, ForceEnable, ForceDisable.
REMOVEMEMORY (integer) Removes memory from the total available memory that
the operating system can use.
Drivers and System Root
=======================
DRIVERLOADFAILUREPOLICY Can be Fatal or UseErrorControl.
EMS (bool) Enables kernel Emergency Management Services.
OSDEVICE (device) Defines the device that contains the system root.
SYSTEMROOT (string) Defines the path to the system root.
Hypervisor
==========
HYPERVISORLAUNCHTYPE Controls the hypervisor launch type.
Can be Off or Auto.
HYPERVISORPATH (string) Defines the path to private hypervisor binary.
HYPERVISORDEBUG (bool) Enables hypervisor debugging.
HYPERVISORDEBUGTYPE Can be SERIAL or 1394.
HYPERVISORDEBUGPORT (integer) Defines the serial port number for the
serial debugger.
HYPERVISORBAUDRATE (integer) Defines the baud rate for the serial
debugger.
HYPERVISORCHANNEL (integer) Defines the channel for the 1394 debugger.
HYPERVISORUSELARGEVTLB (bool) Increases virtual TLB size.
For additional types that apply to the Windows OS Loader, run
"bcdedit /? TYPES BOOTAPP".
bcdedit /? RESUME
BCDEDIT - Boot Configuration Data Store Editor
The Bcdedit.exe command-line tool modifies the boot configuration data store.
The boot configuration data store contains boot configuration parameters and
controls how the operating system is booted. These parameters were previously
in the Boot.ini file (in BIOS-based operating systems) or in the nonvolatile
RAM entries (in Extensible Firmware Interface-based operating systems). You can
use Bcdedit.exe to add, delete, edit, and append entries in the boot
configuration data store.
For detailed command and option information, type bcdedit.exe /? <command>. For
example, to display detailed information about the /createstore command, type:
bcdedit.exe /? /createstore
For an alphabetical list of topics in this help file, run "bcdedit /? TOPICS".
Commands that operate on a store
================================
/createstore Creates a new and empty boot configuration data store.
/export Exports the contents of the system store to a file. This file
can be used later to restore the state of the system store.
/import Restores the state of the system store using a backup file
created with the /export command.
/sysstore Sets the system store device (only affects EFI systems, does
not persist across reboots, and is only used in cases where
the system store device is ambiguous).
Commands that operate on entries in a store
===========================================
/copy Makes copies of entries in the store.
/create Creates new entries in the store.
/delete Deletes entries from the store.
/mirror Creates mirror of entries in the store.
Run bcdedit /? ID for information about identifiers used by these commands.
Commands that operate on entry options
======================================
/deletevalue Deletes entry options from the store.
/set Sets entry option values in the store.
Run bcdedit /? TYPES for a list of datatypes used by these commands.
Run bcdedit /? FORMATS for a list of valid data formats.
Commands that control output
============================
/enum Lists entries in the store.
/v Command-line option that displays entry identifiers in full,
rather than using names for well-known identifiers.
Use /v by itself as a command to display entry identifiers
in full for the ACTIVE type.
Running "bcdedit" by itself is equivalent to running "bcdedit /enum ACTIVE".
Commands that control the boot manager
======================================
/bootsequence Sets the one-time boot sequence for the boot manager.
/default Sets the default entry that the boot manager will use.
/displayorder Sets the order in which the boot manager displays the
multiboot menu.
/timeout Sets the boot manager time-out value.
/toolsdisplayorder Sets the order in which the boot manager displays
the tools menu.
Commands that control Emergency Management Services for a boot application
==========================================================================
/bootems Enables or disables Emergency Management Services
for a boot application.
/ems Enables or disables Emergency Management Services for an
operating system entry.
/emssettings Sets the global Emergency Management Services parameters.
Command that control debugging
==============================
/bootdebug Enables or disables boot debugging for a boot application.
/dbgsettings Sets the global debugger parameters.
/debug Enables or disables kernel debugging for an operating system
entry.
/hypervisorsettings Sets the hypervisor parameters. -
以上是我能找出的 bcdedit 自带的所有帮助,搞不好还有可能漏掉几个选项、子选项的帮助。除了 /createstore , /export , /import 等几个简单的命令可以显而易见地看懂、较好理解外,其它的命令、选项、子选项看得我一团糊涂,根本就搞不清什么情况下该用哪个、必须该用到哪几个。如果从字面上来看的话,似乎这个可以用,那个也可以用,或者为什么只可以用这个不可以用那个。
- 已编辑 DOSforever 2018年3月6日 14:30
-
你好,
这篇文章里面介绍了最常用的几个开关的具体使用方法,你可以点连接进去仔细阅读:
BCDEdit Options Reference
https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/bcd-boot-options-referencehttps://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdedit-command-line-options
至于实例方面,确实是不同的情景所使用的命令略有不同,还是需要长时间的实践才可以领会到的,这里也没办法一一解释。
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.- 已建议为答案 Kate LiMicrosoft employee, Owner 2018年3月8日 23:50
-
BCDEDIT 是比较复杂,但功能绝对全面,主要还是由于 BCD 相比 BOOT.INI 复杂了太多。
个人觉得没必要强记 BCDEDIT 的所有功能,记了也容易忘,按需学习即可,再说还有许多第三方的修改启动引导配置的图形化工具软件可选。
Alexis Zhang
http://mvp.microsoft.com/zh-cn/mvp/Jie%20Zhang-4000545
http://blogs.itecn.net/blogs/alexis推荐以 NNTP Bridge 桥接新闻组方式访问论坛。
本帖是回复帖,原帖作者是楼上的 <DOSforever>;
| 命令和选项一大堆,看了自带的帮助仍然是不得其解,仍然搞不清什么情况下该用哪些选项?最后只能看了别人的几个例子,生搬硬套、死记硬背地运用,不能做到灵活自主地运用。
- 已建议为答案 Kate LiMicrosoft employee, Owner 2018年3月14日 1:46
-
非常高兴我的回复可以帮到您。
请你标记为答案,以便于其他有同样问题的论坛参与者可以及时找到这个帖子。
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.