BCDEDIT是從Vista開始引入的啟動配置數(shù)據(jù)管理工具,命令行工具用于修改啟動配置數(shù)據(jù)存儲,可以使用Bcdedit.exe在啟動配置數(shù)據(jù)存儲中添加、刪除、編輯和附加存儲項,適應Vista/Windows
2008/Windows
7及之后版本系統(tǒng),bcdedit.exe文件位于系統(tǒng)盤的Windows\system32目錄下,其功能非常強大,很多啟動問題都可以通過該命令解決,當然前提是你不怕麻煩。
一、BCDEDIT常用命令一覽表
功能 |
命令行 |
示例 |
導出備份當前系統(tǒng)啟動配置數(shù)據(jù) |
bcdedit /export |
把當前配置數(shù)據(jù)導出到D盤,并存為Bkup文件,雙引號可要可不要 bcdedit /export
"D:\Bkup" |
導入并覆蓋當前系統(tǒng)啟動配置數(shù)據(jù) |
bcdedit /import |
把D盤Bkup配置文件導入并覆蓋當前配置數(shù)據(jù),雙引號可要可不要 bcdedit /import
"D:\Bkup" |
顯示Bcdedit全部命令幫助 |
bcdedit /? bcdedit /? <command> |
bcdedit /?,顯示Bcdedit全部命令幫助 bcdedit /? /store,指定顯示store命令幫助,命令前面的斜杠可要可不要 |
在儲存中的列表項目 |
bcdedit [/store <filename>] /enum [<type> | <id>]
[/v] |
列出當前系統(tǒng)全部啟動項: bcdedit,或 bcdedit /enum,或bcdedit /enum
ACTIVE 顯示所有存儲中的項(包括啟動管理器顯示項、固件應用程序、啟動環(huán)境、繼承項等等): bcdedit /enum
all 列出所有操作系統(tǒng)項: bcdedit /enum OSLOADER 列出所有的啟動管理項: bcdedit /enum
BOOTMGR /v參數(shù)可以完整顯示項標識符,而不是使用已知標識符的名稱: bcdedit /enum ACTIVE /v |
設置默認啟動菜單顯示超時 |
bcdedit /timeout |
將默認啟動菜單顯示超時時間設為5秒 bcdedit /timeout 5 |
創(chuàng)建指定啟動項副本 |
bcdedit [/store <filename>] /copy {<id>} /d
<description> |
復制啟動項目: bcdedit /copy {GUID} /d "New entry" |
新建啟動項目 |
bcdedit /create [{<id>}] [/d <description>] [/application
<apptype> | /inherit [<apptype>] | /inherit DEVICE |
/device] |
創(chuàng)建Windows XP系統(tǒng)引導項: bcdedit /create {ntldr} /d "Windows XP
SP3" 創(chuàng)建一個Windows 8系統(tǒng)啟動項: bcdedit /create /d "Windows 8" /application
osloader |
刪除項目 |
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup |
/nocleanup] |
徹底刪除指定的啟動項: bcdedit /delete {GUID}
/cleanup 刪除存儲中涉及NTLDR的OS加載項: bcdedit /delete {GUID} /f |
刪除啟動配置數(shù)據(jù)存儲項中的數(shù)據(jù)元素 |
bcdedit [/store <filename>] /deletevalue [<id>]
<datatype> |
刪除啟動管理器中的bootsequence選項: bcdedit /deletevalue {bootmgr}
bootsequence |
設定項目選擇項數(shù)值 |
bcdedit [/store <filename>] /set [{<id>}] <datatype>
<value> [ /addfirst | /addlast | /remove ] |
修改啟動項描述: bcdedit /set {GUID} description "Windows 7 SP2" |
設置啟動管理器使用的一次性啟動序列 |
bcdedit /bootsequence <id> [...] [ /addfirst | /addlast | /remove
] |
設定多個啟動序列(ID之間使用空格): bcdedit /bootsequence {GUID1} {GUID2} {GUID3} {
...} 加入操作系統(tǒng)項目為啟動列表最后項: bcdedit /bootsequence {GUID} /addlast |
設定默認啟動項目 |
bcdedit /default <id> |
設定GUID序列為默認啟動項: bcdedit /default
{GUID} 將基于NTLDR的OS設置為默認項(天緣注:多個NTLDR沒問題?): bcdedit /default
{ntldr} |
設置啟用管理器使用的顯示順序 |
bcdedit /displayorder <id> [...] [ /addfirst | /addlast | /remove
] |
將指定OS項添加到啟動管理顯示順序末尾: bcdedit /displayorder {GUID} /addlast |
啟用或禁用指定項的緊急管理服務 |
bcdedit /bootems [<id>] { ON | OFF } |
開啟啟動管理器緊急處理服務: bcdedit /bootems {bootmgr} ON |
啟用或禁用指定操作系統(tǒng)啟動項的緊急管理服務 |
bcdedit /ems [<id>] { ON | OFF } |
啟用當前操作系統(tǒng)啟動項的緊急管理服務: bcdedit /ems ON |
設置系統(tǒng)全局緊急管理服務設置 |
bcdedit /emssettings [ BIOS ] | [ EMSPORT:<port> |
[EMSBAUDRATE:<baudrate>] ] |
將緊急管理服務參數(shù)設置為使用BIOS設置: bcdedit /emssettings BIOS |
|
|
|
其中幾個參數(shù)解釋:
<filename> 指定要使用的存儲。如果未指定此選項,則使用系統(tǒng)存儲。詳細信息,請運行 "bcdedit /?
store"。
<id> 指定要修改的項的標識符。如果未指定,則使用 {current}。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
<datatype>
指定將創(chuàng)建或修改的選項數(shù)據(jù)類型。有關數(shù)據(jù)類型的詳細信息,請運行 "bcdedit /? TYPES"。
<value>
指定應分配給該選項的值。<value> 的格式取決于指定的數(shù)據(jù)類型。 有關數(shù)據(jù)格式的詳細信息,請運行 "bcdedit /?
FORMATS"。
此外BCDEDIT還有幾條命令上表未列出來,可以通過cmd命令行下輸入bcdedit /?
<command>方式查看注解,幫助相當詳細。
二、BCDEDIT完整命令列表(來源Windows 7 Bcdedit幫助)
對存儲執(zhí)行的命令
======================================
/createstore
新建空的啟動配置數(shù)據(jù)存儲。
/export
將系統(tǒng)存儲的內容導出到文件。以后可以使用該文件還原系統(tǒng)存儲的狀態(tài)。
/import 使用 /export
命令創(chuàng)建的備份文件來還原系統(tǒng)存儲的狀態(tài)。
/sysstore 設置系統(tǒng)存儲設備(僅影響 EFI 系統(tǒng),在重新啟動后不再有效,
且僅用于系統(tǒng)存儲設備不確定的情況下)。
對存儲中的項執(zhí)行的命令
======================================
/copy
復制存儲中的項。
/create 在存儲中新建項。
/delete
刪除存儲中的項。
/mirror
創(chuàng)建存儲中項的鏡像。
對項選項執(zhí)行的命令
======================================
/deletevalue
刪除存儲中的項選項。
/set 設置存儲中的項選項值。
運行 bcdedit /? TYPES
可獲得這些命令使用的數(shù)據(jù)類型的列表。
運行 bcdedit /? FORMATS
可獲得有效數(shù)據(jù)格式的列表。
控制輸出的命令
======================================
/enum
列出存儲中的項。
/v 命令行選項,完整顯示項標識符,而不是使用已知標識符的名稱。單獨使用命令 /v
可完整顯示活動類型的項標識符。
單獨運行 "bcdedit" 等同于運行 "bcdedit /enum
ACTIVE"。
控制啟動管理器的命令
======================================
/bootsequence
為啟動管理器設置一次性啟動序列。
/default 設置啟動管理器將使用的默認項。
/displayorder
設置啟動管理器顯示多重引導菜單的順序。
/timeout 設置啟動管理器的超時值。
/toolsdisplayorder
設置啟動管理器顯示工具菜單的順序。
控制啟動應用程序緊急管理服務的命令
======================================
/bootems
啟用或禁用啟動應用程序的緊急管理服務。
/ems 啟用或禁用操作系統(tǒng)項的緊急管理服務。
/emssettings
設置全局緊急管理服務參數(shù)。
控制調試的命令
======================================
/bootdebug
啟用或禁用啟動應用程序的啟動調試。
/dbgsettings 設置全局調試程序參數(shù)。
/debug
啟用或禁用操作系統(tǒng)項的內核調試。
/hypervisorsettings 設置虛擬機監(jiān)控程序的參數(shù)。
三、Bcdedit常用設置修復及配置示例
1、警告Bcdedit命令需要在管理員權限下進行操作,如下圖:

2、在使用BCD之前,請先備份當前系統(tǒng)的啟動配置文件方法如下:
bcdedit /export D:\bootbkup
bcdedit /import D:\bootbkup
其中bootbkup是備份的文件名。
3、BCDEDIT運行界面,如下圖,請留意圖中的標識符位置和項目名稱。

啟動入口最主要是四個部分:
Identifier標識符——啟動入口的系統(tǒng)標識,可能是bootmgr、current或id形式等。
device設備——一般是驅動器路徑或虛擬映像,系統(tǒng)啟動引導后入口。
path路徑——是device設備的位置,系統(tǒng)用來定位啟動文件。
description描述——顯示描述,也就是大家見到的菜單顯示。
{bootmgr} ——啟動管理器
{current}——當前操作系統(tǒng),啟動時選擇的系統(tǒng)
{default}
——缺省默認的啟動項
{ntldr} ——早期Windows加載
附個參考地址:http://www./tutorials/2676-bcdedit-how-use.html
四、BCDEDIT常用操作步驟
1、為Windows XP創(chuàng)建一個分區(qū)啟動入口:
bcdedit /create {ntldr} /d "Windows XP"
bcdedit /set {ntldr} device partition=F:
bcdedit /set {ntldr} path ntldr
bcdedit /displayorder {ntldr} /addlast
2、刪除Windows XP啟動入口
bcdedit /delete {ntldr} /f
3、設置啟動分區(qū)
bcdedit /set {標識符} device partition=C:
4、增加Linux引導入口
bcdedit /create /d "GrubInstallUbuntu" /application bootsector
命令執(zhí)行后會返回一個GUID,然后使用鼠標選中右鍵全選,并在標題欄中右鍵復制下來,接著再執(zhí)行以下命令(命令中的GUID需要替換成上面命令返回的ID
值)。
bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path grldr.mbr
bcdedit /displayorder {GUID} /addlast
5、關閉系統(tǒng)DEP保護:
bcdedit.exe/set {current} nx AlwaysOff
6、創(chuàng)建一個配置數(shù)據(jù)庫:
bcdedit /createstore C:\Myboot