複製鏈接
請複製以下鏈接發送給好友

Bcdedit

鎖定
在NT60系列操作系統(Windows 8/7/Vista/2008)中的一個命令行工具
中文名
系統啓動菜單編輯器
外文名
Bcdedit
性    質
命令行工具
作    用
建立和重新配置bootloader
操作系統
Windows 8/7/Vista/2008

Bcdedit簡介

在NT60系列操作系統(Windows 8/7/Vista/2008)中的一個命令行工具,用於建立和重新配置bootloader,後者無須再使用boot.ini文件。也就是説,使用BCDEdit這個工具,能夠修改NT60 系列系統的啓動菜單
在之前基於NT50系列(Windows XP/2000/2003)的Windows系統中,Windows使用Ntldr作為Boot Loader來啓動系統, 但在新的NT60系列系統中,微軟引入了一種全新的boot loader架構, Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴重地依賴於硬件不同的是,NT60中的新架構可以實現完整的硬件獨立性,且能夠與多種操作系統無縫結合,讓NT60的啓動/引導過程更加快速與安全。同時,將之前Windows 系統中由Boot.ini管理的內容移交給新的Boot Configuration Data (BCD : 啓動設置數據),當然,也提供了新的啓動選項編輯工具,BCDEdit (BCDEdit.exe),來管理啓動設置。
——所謂boot loader,在指在內核運行之前執行的一段小程序,系統通過它來初始化硬件設備、建立內存空間的映射圖等,將系統的軟硬件環境設置成一個合適的狀態,為最終調用操作系統內核準備好正確的環境。——在啓動過程中,Ntldr 使用Boot.ini 文件來確定在啓動/引導過程中要顯示哪些操作系統選項,我們對啓動選項的設置可以通過修改boot.ini文件中相應內容實現。Windows NT60 (Windows 7/Vista/2008)與早期 NT52 系列系統(Windows XP/2000/2003)啓動的對比 在傳統的基於BIOS的計算機中,如果只安裝 NT60 系列操作系統(Windows 7/Vista/2008),您將會發現 Boot.ini 文件已經徹底從系統中消失;如果系統中安裝了 NT60 和之前的 Windows 系統,如 NT52 系列操作系統 (Windows XP/2000/2003),雖然仍可找到 Boot.ini 文件,不過,這個文件只作用於那些系統,而不會對 NT60 的啓動有任何影響。
而在基於EFI (Extensible Firmware Interface : 可擴展固件接口,以後採用這種接口的PC會越來越多 )的計算機中,Boot.ini 文件則更不復存在,在基於EFI的系統中,啓動選項被貯存在主板的存儲器中。此時要修改啓動選項,要麼通過能夠讀寫NVRAM的工具如NvrBoot,要麼使用上文提到的BCDEdit。
由此可見,在NT60中,想要再像之前 NT52 中那樣通過一個簡單的文本編輯器來修改Boot.ini(或用NT52自帶工具 Bootcfg)的方式來管理啓動選項已經不可能了,要對啓動設置進行修改,只能使用命令格式相對要複雜得多的BCDEdit。
此外,微軟也在 NT60 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規範)調用的 BCD 類,通過它可以用編程的方式修改BCD數據。不過,相信對絕大多數根本不會接觸編程的用户而言,這更是不可能的任務。

Bcdedit使用注意

1.工具性質
需要注意的是,BCDEdit不是一個運行於圖形界面下的程序,而是一個命令行工具,該文件 (Bcdedit.exe) 位於 “\Windows\System 32”目錄下。
2.啓動
要執行BCDEdit,首先應進入命令行窗口,並要將操作用户提升至管理員權限。另外,該工具依賴於參數,如果不帶參數,則不能正常使用。
在命令行窗口中,轉到系統目錄如 “C:/windows/system32”下,然後輸入“bcdedit <參數>” 即可。也可直接在任意目錄運行,因為System32目錄本身在環境變量“Path”的範圍內。
3.BCDEdit命令核心
(1)幫助
bcdedit /? : 顯示全部的命令幫助(都只是概述)。
bcdedit.exe /? <命令> : 顯示指定命令參數的詳細信息(無需帶斜槓)。使用中對其他任何可用參數也均可使用本命令格式查看該參數的具體説明。
(2)Enum
通過命令行工具Bcdedit,我們可以添加、刪除及修改BCD (Boot Configuration Data)中的對象。在BCD中,每個對象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一標識符),如系統中的每塊硬盤、每個分區的GUID (全局唯一標識符)均不相同。
在BCD中,啓動加載器的GUID可分為如下幾類:
{ntldr}: 指存在上代NT50系列操作系統(Windows XP/2000/2003)的硬盤或分區;
{default}: 默認所在硬盤或分區;
{current}: 當前硬盤或分區;
{<GUID>}: 類似於這個格式的GUID指其他安裝了操作系統的硬盤或分區。
(注:相應的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。這樣會顯示BCD當前的啓動設置數據,包含了所有在BCD記錄中的操作系統,均能顯示其GUID,用户可以此作更改啓動數據的參考。)
(3)set
BCDEdit / set命令用於在Windows啓動配置數據存儲(BCD)中設置啓動項選項值。使用bcdedit / set命令來配置特定的啓動項元素,如內核調試器設置,數據執行保護(DEP)和處理器的地址擴展(PAE)選項,加載備用硬件抽象層(HAL)和內核文件等。你可以在為Windows Vista,Windows 7和更高版本的Windows測試和調試您的驅動程序時使用這些啓動項的選項。
 (4)保險措施(使用BCDEdit備份與恢復啓動選項)
在對Windows NT60的啓動選項修改之前,最好先對其備份,以防萬一操作失誤或其他故障導致系統無法啓動。
bcdedit /export <目錄> : 將啓動設置備份到指定的目錄下;
bcdedit /import <目錄> : 恢復之前備份在指定目錄下啓動選項。
注:當需要還原備份的啓動選項時,應仔細檢查備份的啓動選項是否對應於自己所需要的,否則重新設置會比較麻煩。

Bcdedit修改選項

作為一種良好的操作習慣,在對Windows Vista的啓動選項進行任何修改前,首先要對BCD中的啓動選項進行備份,相應的命令上頁我們已介紹過,在此不再贅述;其次,使用“bcdedit ”或“ bcdedit /enum all ”來查看系統中硬盤或分區的正確 GUID 標識,並將其記錄下來。畢竟,BCDEdit只是一款命令行工具,我們操作時需手動輸入類似“”這樣的長字符串時,很容易出錯,而這往往會導致Windows Vista啓動失敗。
下面詳細介紹使用BCDEdit修改啓動選項的常用命令格式:
bcdedit /set {ntldr} Description “Windows XP Professional SP2” : 修改上一代在啓動菜單中的顯示內容,比如説我們也可將其修改為“Vista天地de專用XP SP2”之類。注意,命令中的引號不可省略;操作系統
bcdedit /set {current} description “Windows Vista Build 5270 x86″ : 修改當前啓動硬盤或分區上的操作系統在啓動菜單中的顯示內容。注意,當前分區上的操作系統可能為Windows Vista,也可以是其他系統,當然,命令中的引號也不可省略;
bcdedit /set {<GUID>} description “Windows Vista Build 5270 x64” : 修改安裝於其他硬盤或分區的系統在啓動菜單中的顯示內容,使用這項命令時一定要注意該硬盤/分區的GUID輸入正確,相應的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
bcdedit /default {current} :將當前啓動硬盤/分區中的操作系統設置為默認啓動的系統;
bcdedit /default {<GUID>} :設置指定GUID上的操作系統為默認啓動的系統;
bcdedit /default {ntldr} :設置上一代Windows 系統Windows XP為默認啓動的系統;
bcdedit /displayorder : 設置啓用菜單中各項的顯示順序,如:
bcdedit.exe /displayorder {ntldr} {current} :將首先顯示Windows XP,然後再顯示默認啓動的系統如Windows Vista;
bcdedit /timeout 15 :將默認的啓動菜單顯示時間30秒更改為15秒,當然,您可以將這個時間修改為任何您希望的數值。
使用BCDEdit修復硬盤/分區結構錯誤
在對啓動選項的修改過程中,如添加或刪除某個硬盤/分區時,可能會因操作中的不慎導致硬盤/分區結構的混亂,除了採用恢復修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復。
具體方法如下:
X:\>X:\boot\fixntfs.exe -lh -all : 這時的“ X: ”指引導目錄 “boot” 所在的硬盤/分區;
bcdedit /set device partition=X: : 將指定GUID的分區設為啓動分區。注意,這裏的“ X: ”的GUID須與指定值不同,同時,運行該命令後,必須接着運行下面的osdevice命令;
bcdedit /set osdevice partition=X: : 將指定GUID的分區設為啓動分區。注意,這個命令必須與上面的device命令配對使用,同時“ X: ”的GUID須與指定值不同。
Bcdedit命令詳解,自定義Vista啓動管理項
Bcdedit 位於X:\Windows\system32\ "X:"為安裝Vista的盤符
====================
/createstore 創建一個新的空白啓動配置數據文件。
bcdedit /createstore C:\Data\BCD 創建BCD啓動配置數據文件儲存到“C:\DATA\”文件夾
/export 備份啓動配置數據文件。
bcdedit /export "C:\Data\BCD Backup" 備份BCD啓動配置文件到“C:\Data\”文件夾,並以“BCD Backup”命名。
/import 還原啓動配置數據文件。
bcdedit /import "C:\Data\BCD Backup" 從“C:\Data\”文件夾恢復BCD啓動配置文件。
儲存項目操作指令
====================
/copy 項目拷貝
操作系統啓動項目的拷貝:
bcdedit /copy /d "Copy of entry"
/create 新建項目
創建操作系統載入程序項目的 NTLDR(Ntldr):
bcdedit /create /d "Earlier Windows OS Loader"
創建存儲器磁碟另外的選擇項項目:
bcdedit /create /d "Ramdisk options"
創建一個新的操作系統啓動項目:
bcdedit /create /d "Windows Vista" /application osloader
創建一個新的調試器:
bcdedit /create /d "Debugger Settings"
/delete 刪除項目
刪除指定的操作系統項目:
bcdedit /delete
刪除指定的操作系統項目但啓動時不顯示項目(徹底刪除):
bcdedit /delete /cleanup
刪除指定的操作系統項目但啓動時顯示項目:
bcdedit /delete /nocleanup
刪除操作系統載入程序項目的 NTLDR:
bcdedit /delete /f
項目選擇操作指令
====================
/deletevalue 刪除項目選擇項。
刪除啓動管理的bootmgr選擇項項目:
bcdedit /deletevalue bootsequence
刪除(WinPE)操作系統的數值開機項目:
bcdedit /deletevalue winpe
刪除來自指定的操作的 Windows PE 數值系統開機項目:
bcdedit /deletevalue winpe
/set 設定項目選擇項數值。
設定操作系統“cbd971bf-b7b8-4885-951a-fa03044f5d71”引導分區“C”:
bcdedit /set device partition=C:
指定的操作系統引導文件“ windows\ system 32\ winload.exe”:
bcdedit /set path \windows\system32\winload.exe
設定“NX”為“OptIn”:
bcdedit /set nx optin

Bcdedit更改名稱

默認XP系統名稱在Vista啓動管理器中是"earlier version of Windows",更改:
bcdedit /set Description "Windows XP Professional SP2"
默認Vista系統名稱在Vista啓動管理器中是"Microsoft Windows",更改:
bcdedit /set Description "Windows Vista 5456"
====================
/enum 在儲存中的列表項目。
列出所有的操作系統載入程序啓動項目:
bcdedit /enum OSLOADER
列出所有的啓動管理項目:
bcdedit /enum BOOTMGR
列出默認的啓動項目:
bcdedit /enum
列出指定的操作系統啓動項目:
bcdedit /enum
/v 列出所有活動的項目
bcdedit /enum ACTIVE /v
啓動管理控制指令
====================
/bootsequence 設定啓動列表順序。
設定二個操作系統項目和啓動順序:
bcdedit /bootsequence {cbd971bf-b7b8-4885-951a- fa03044f5d71}
加入操作系統項目為啓動列表最後項:
bcdedit /bootsequence /addlast
/default 設定默認啓動項目。
設定默認啓動項目:
bcdedit /default
設定默認啓動操作系統程序為 NTLDR:
bcdedit /default
/displayorder 設定哪一個系統啓動顯示多啓動畫面
設定二個操作系統項目和在啓動管理顯示命令中被建立操作系統載入的程序 NTLDR:
bcdedit /displayorder
把指定的操作系統項目加入啓動管理顯示命令結束:
bcdedit /displayorder /addlast
/timeout 設定啓動暫停數值。
/toolsdisplayorder 設定命令在哪一個啓動管理顯示工具畫面。
設定二個工具項目和內存診斷在那啓動管理工具顯示命令:
bcdedit /toolsdisplayorder
把指定的工具項目加入啓動的結束管理工具顯示命令:
bcdedit /toolsdisplayorder /addlast
為一個啓動應用程序控制緊急處理服務的指令
====================
/bootems
開啓啓動管理緊急處理服務:
bcdedit /bootems ON
/ems
為目前的操作系統啓動項目 EMS 開啓:
bcdedit /ems ON
/emssettings 設定緊急處理服務參數。
設定 EMS 參數使用基本輸出入系統設定:
bcdedit /emssettings BIOS

Bcdedit幫助文件

Windows 7下Bcdedit的原版幫助文件
BCDEDIT - 啓動配置數據存儲編輯器
Bcdedit.exe 命令行工具用於修改啓動配置數據存儲。
啓動配置數據存儲包含啓動配置參數並控制操作系統的啓動方式。這些參數以前位於
Boot.ini 文件中(在基於 BIOS 的操作系統中)或位於穩定 RAM 項中(在基於可擴展
固件接口的操作系統中)。可以使用 Bcdedit.exe 在啓動配置數據存儲中添加、刪除、
編輯和附加項。
有關命令和選項的詳細信息,請鍵入 bcdedit.exe /? <command>。
例如,若要顯示有關 /createstore 命令的詳細信息,請鍵入:
bcdedit.exe /? /createstore
有關本幫助文件中按字母順序排列的主題列表,請運行 "bcdedit /? TOPICS"。
對存儲執行的命令
================================
/createstore 新建空的啓動配置數據存儲。
/export 將系統存儲的內容導出到文件。以後可以使用該文件還原系統
存儲的狀態。
/import 使用 /export 命令創建的備份文件來還原系統存儲的狀態。
/sysstore 設置系統存儲設備(僅影響 EFI 系統,在重新啓動後不再有效,
且僅用於系統存儲設備不確定的情況下)。
對存儲中的項執行的命令
===========================================
/copy 複製存儲中的項。
/create 在存儲中新建項。
/delete 刪除存儲中的項。
/mirror 創建存儲中項的鏡像。
運行 bcdedit /? ID 可獲得有關這些命令使用的標識符的信息。
對項選項執行的命令
======================================
/deletevalue 刪除存儲中的項選項。
/set 設置存儲中的項選項值。
運行 bcdedit /? TYPES 可獲得這些命令使用的數據類型的列表。
運行 bcdedit /? FORMATS 可獲得有效數據格式的列表。
控制輸出的命令
============================
/enum 列出存儲中的項。
/v 命令行選項,完整顯示項標識符,而不是使用已知標識符的名稱。
單獨使用命令 /v 可完整顯示活動類型的項標識符。
單獨運行 "bcdedit" 等同於運行 "bcdedit /enum ACTIVE"。
控制啓動管理器的命令
======================================
/bootsequence 為啓動管理器設置一次性啓動序列。
/default 設置啓動管理器將使用的默認項。
/displayorder 設置啓動管理器顯示多重引導菜單的順序。
/timeout 設置啓動管理器的超時值。
/toolsdisplayorder 設置啓動管理器顯示工具菜單的順序。
控制啓動應用程序緊急管理服務的命令
==========================================================================
/bootems 啓用或禁用啓動應用程序的緊急管理服務。
/ems 啓用或禁用操作系統項的緊急管理服務。
/emssettings 設置全局緊急管理服務參數。
控制調試的命令
==============================
/bootdebug 啓用或禁用啓動應用程序的啓動調試
/dbgsettings 設置全局調試程序參數
/debug 啓用或禁用操作系統項的內核調試。
/hypervisorsettings 設置虛擬機監控程序的參數。
--------------------------------------------------------------
bcdedit /createstore <filename>
此命令新建空的啓動配置數據存儲。創建的存儲不是系統存儲。
<filename> 指定啓動配置數據存儲的文件名。如果文件名包含空格,則必須
將其括在引號("")中。
示例:
下列命令創建指定的存儲文件:
bcdedit /createstore C:\DATA\BCD
--------------------------------------------------------------
bcdedit /export <filename>
此命令將系統存儲的內容導出到文件。以後可以使用此文件還原系統存儲的狀態。
此命令僅對系統存儲有效。
<filename> 將用作導出目標的文件名。如果文件名包含空格,則必須將其
括在引號("")中。
示例:
下列命令將系統存儲導出到指定的文件:
bcdedit /export "C:\Data\BCD Backup"
--------------------------------------------------------------
bcdedit /import <filename> [/clean]
此命令使用以前使用 /export 命令生成的備份數據文件
還原系統存儲的狀態。在進行導入前,
將刪除系統存儲中的所有現有項。此命令
僅對系統存儲有效。
<filename> 將導入系統存儲的文件的名稱。
如果文件名包含空格,則必須將其
括在引號("")中。
/clean 指定應刪除所有現有固件啓動項
(僅影響 EFI 系統)。
示例:
以下命令將指定的文件導入系統存儲。
bcdedit /import "C:\Data\BCD Backup" /clean
--------------------------------------------------------------
bcdedit /sysstore <devicename>
此命令用於設置系統存儲設備。對於 EFI 系統,僅在系統存儲設備不確定的
情況下,此命令才有效。此設置在重新啓動後不再有效。
<devicename> 要設置為系統存儲設備的系統分區的名稱。
該設備必須是系統分區。
示例:
下列命令將系統存儲設備設置為指定設備:
bcdedit /sysstore C:
--------------------------------------------------------------
此命令創建指定啓動項的副本。
bcdedit [/store <filename>] /copy {<id>} /d <description>
<filename> 指定要使用的存儲。如果未指定此選項,則使用系統存儲。
有關詳細信息,請運行 "bcdedit /? store"。
<id> 指定要複製的項的標識符。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
<description> 指定要用於新項的描述。
示例:
下列命令創建指定操作系統啓動項的副本:
bcdedit /copy {cbd971bf-b7b8-4885-951a-fa03044f5d71} /d "Copy of entry"
--------------------------------------------------------------
此命令在啓動配置數據存儲中創建新項。如果指定已知的標識符,則無法指定
/application、/inherit 和 /device 選項。如果未指定 <id>,或 <id> 未知,
則必須指定一個 /application、/inherit 或 /device 選項。
bcdedit /create [{<id>}] [/d <description>] [/application <apptype> |
/inherit [<apptype>] | /inherit DEVICE | /device]
<id> 指定新項要使用的標識符。有關標識符的詳細信息,
請運行 "bcdedit /? ID"。
<description> 指定要應用於新項的描述。
/application <apptype> 指定新項必須是應用程序項。<apptype> 指定應用程序
類型。<apptype> 可以是下列類型之一:
BOOTSECTOR
OSLOADER
RESUME
STARTUP
如果使用其他應用程序類型而不是這些類型,
則還必須指定已知的標識符。
/inherit [<apptype>] 指定新項必須是繼承項,<apptype> 指定應用程序類型。
如果未指定 <apptype>,則任何項都可以繼承該項。
如果已指定,則 <apptype> 可以是下列類型之一:
BOOTMGR
BOOTSECTOR
FWBOOTMGR
MEMDIAG
NTLDR
OSLOADER
RESUME
修飾符防止 <apptype> 的應用程序項繼承該繼承項 。
/inherit DEVICE 指定新項必須是繼承項,且該項只能由設備選項的項
繼承。
/device 指定新項必須是附加設備選項的項。
示例:
下列命令創建基於 NTLDR 的 OS 加載程序項(Ntldr):
bcdedit /create {ntldr} /d "Earlier Windows OS Loader"
下列命令創建 RAM 磁盤附加選項的項:
bcdedit /create {ramdiskoptions}
下列命令創建新的操作系統啓動項:
bcdedit /create /d "Windows Vista" /application osloader
下列命令創建新的調試程序設置項:
bcdedit /create {dbgsettings}
--------------------------------------------------------------
此命令刪除啓動配置數據存儲中的項。
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup | /nocleanup]
<filename> 指定要使用的存儲。如果未指定
此選項,則使用系統存儲。
有關詳細信息,請運行 "bcdedit /? store"。
<id> 指定要刪除的啓動項的標識符。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
/f 刪除指定的項。如果沒有此選項,
則 Bcdedit 將無法刪除任何具有
已知標識符的項。
/cleanup 刪除指定的項,並從
顯示順序中刪除該項。並將從存儲中刪除
任何其他涉及到所刪除項的項目。
刪除 OS 加載器項時,如果任何
其他 OS 加載器沒有引用該項,
還將刪除從休眠中恢復的關聯項。
如果未指定 /nocleanup,則認為使用此選項。
/nocleanup 刪除指定的項,但不從顯示順序
中刪除該項。
示例:
下列命令刪除存儲中指定的操作系統項,並從顯示順序中刪除該項:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71}
下列命令刪除存儲中指定的操作系統項,並從顯示順序中刪除該項:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /cleanup
下列命令刪除存儲中指定的操作系統項,但不從顯示順序中刪除該項:
bcdedit /delete {cbd971bf-b7b8-4885-951a-fa03044f5d71} /nocleanup
下列命令刪除存儲中基於 NTLDR 的 OS 加載器項:
bcdedit /delete {ntldr} /f
--------------------------------------------------------------
該命令創建指定啓動項的鏡像。
bcdedit [/store <filename>] /mirror {<id>}
<filename> 指定要使用的存儲。如果未指定該選項,則使用系統存儲。
有關詳細信息,請運行 "bcdedit /? store"。
<id> 指定要鏡像的項目的標識符。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
示例:
以下命令創建指定操作系統啓動項的鏡像:
bcdedit /mirror {cbd971bf-b7b8-4885-951a-fa03044f5d71}
--------------------------------------------------------------
標識符
很多 Bcdedit 命令需要標識符。標識符可以唯一標識存儲中包含的項。標識符采取
全局唯一標識符的形式,或稱為 GUID。GUID 具有以下格式,其中每個“x”代表
一個十六進制數。
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
例如:
{d2b69192-8f14-11da-a31f-ea816ab185e9}
破折號(-)的放置以及 GUID 開頭和結尾的括號是必需的。
已知標識符可以標識多個項。如果某個項具有已知標識符,則 BCDedit 將其顯示
在輸出中,除非使用了 /v 命令行開關。
有關詳細信息,請運行 "bcdedit /? /v"。
已知標識符如下所示:
{bootmgr} 指定 Windows 啓動管理器項。
{fwbootmgr} 指定固件啓動管理器項,特別是在實現可擴展固件
接口(EFI)規格的系統上。
{memdiag} 指定內存診斷應用程序項。
{ntldr} 指定可用於啓動早於 Windows Vista 版本的操作
系統的 OS 加載程序(Ntldr)。
{current} 指定與當前運行的操作系統的操作系統啓動項
對應的虛擬標識符。
{default} 指定與啓動管理器默認應用程序項對應的虛擬
標識符。
{ramdiskoptions} 包含啓動管理器所需的其他的 RAM 磁盤設備
選項。
{dbgsettings} 包含可由任意啓動應用程序項繼承的全局調試
程序設置。
{emssettings} 包含可由任意啓動應用程序項繼承的全局緊急
管理服務設置。
{badmemory} 包含可由任意啓動應用程序項繼承的全局 RAM
故障列表。
{globalsettings} 包含所有啓動應用程序項應繼承的全局設置的
集合。
{bootloadersettings} 包含所有 Windows 啓動加載程序應用程序項
應繼承的全局設置的集合。
{resumeloadersettings} 包含所有 Windows 從休眠狀態恢復應用程序項
應繼承的全局設置的集合。
{hypervisorsettings} 包含可由任意 OS 加載程序項繼承的虛擬機
監控程序設置。
--------------------------------------------------------------
此命令從啓動配置數據存儲的項中刪除數據元素
bcdedit [/store <filename>] /deletevalue [<id>] <datatype>
<filename> 指定要使用的存儲。如果未指定此選項,則使用系統存儲。
有關詳細信息,請運行 "bcdedit /? store"。
<id> 指定要修改的項的標識符。如果未指定,則使用 {current}。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
<datatype> 指定要從指定項中刪除的選項。
有關數據類型的詳細信息,請運行 "bcdedit /? TYPES"。
示例:
下列命令刪除啓動管理器項中的 bootsequence 選項:
bcdedit /deletevalue {bootmgr} bootsequence
下列命令刪除當前操作系統啓動項的 Windows 預安裝環境(WinPE)值:
bcdedit /deletevalue winpe
下列命令刪除指定操作系統啓動項的 Windows PE 值:
bcdedit /deletevalue {cbd971bf-b7b8-4885-951a-fa03044f5d71} winpe
--------------------------------------------------------------
此命令設置引導配置數據存儲中的項選項值。
bcdedit [/store <filename>] /set [{<id>}] <datatype> <value> [ /addfirst | /addlast | /remove ]
<filename> 指定要使用的存儲。如果未指定此選項,則使用系統存儲。
有關詳細信息,請運行 "bcdedit /? store"。
<id> 指定要修改的項的標識符。如果未指定,則使用 {current}。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
<datatype> 指定將創建或修改的選項數據類型。
有關數據類型的詳細信息,請運行 "bcdedit /? TYPES"。
<value> 指定應分配給該選項的值。<value> 的格式取決於指定的數據類型。
有關數據格式的詳細信息,請運行 "bcdedit /? FORMATS"。
/addfirst 僅當數據類型是對象列表時才能使用此開關。
將指定的項標識符添加到列表的頂部。
如果已指定此開關,則只能指定一個項標識符。
如果所指定的標識符已在列表中,請將它移到列表頂部。
/addlast 僅當數據類型是對象列表時才能使用此開關。
將指定的項標識符添加到列表的結尾。
如果已指定此開關,則只能指定一個項標識符。
如果所指定的標識符已在列表中,它將被移到列表結尾。
/remove 僅當數據類型是對象列表時才能使用此開關。
請從列表中刪除指定的項標識符。
如果已指定此開關,則只能指定一個項標識符。
如果此標識符不在列表中,則操作無效。
如果正在刪除最後一項,則此數據類型值也將被刪除。
示例:
對於指定的操作系統項,下列命令將應用程序設備設置到 C: 分區:
注意: 使用 "hd_partiton=" 語法顯式禁用自動 VHD 檢測,並
創建與啓動虛擬機兼容的項目,例如,
bcdedit /store Footcd /set {default} device hd_partition=F:
對於指定的操作系統項,下列命令將操作系統設備設置到 VHD 文件(C:\vdisks\vdisk01.vhd)
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} osdevice
vhd=[C:]\vdisks\disk01.vhd
對於指定的操作系統項,下列命令將應用程序路徑設置到 \windows\system32\winload.exe:
bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path
\windows\system32\winload.exe
對於當前的操作系統啓動項,下列命令將 NX 策略設置到 OptIn。
bcdedit /set nx optin
--------------------------------------------------------------
類型
/set 和 /deletevalue 命令要求將 <datatype> 作為參數。
<datatype> 唯一標識數據格式及值的意義。
數據類型是使用名稱或自定義類型標識的。下面列出了
名稱及其數據格式(在括號中)以
及自定義類型的簡短描述。如果未指定格式,則描述列出可用於該類型的文本值。有關
數據格式的詳細信息,請運行 "bcdedit /? formats"。
以下類型對所有項都是有效的。有關特定項(如啓動管理器項或 Windows OS 加載器項)
特有的類型的信息,請參閲此幫助主題末尾。
=======
DESCRIPTION (字符串) 定義項描述。
PATH (字符串) 定義應用程序路徑。
DEVICE (設備) 定義應用程序所駐留的設備。
INHERIT (列表) 定義要繼承的項的列表。
有關設備對象的附加類型的信息,請運行 "bcdedit /? TYPES DEVOBJECT"。
有關特定應用程序的附加類型的信息,
請運行 "bcdedit /? TYPES <apptype>",其中 <apptype> 為以下其中一項:
BOOTAPP 啓動應用程序。這些類型也應用於啓動管理器、
內存診斷應用程序、Windows OS 加載器和恢復
應用程序。
BOOTMGR 啓動管理器。
BOOTSECTOR 啓動扇區應用程序。
CUSTOMTYPES 自定義類型。
DEVOBJECT 設備對象附加選項。
FWBOOTMGR 固件啓動管理器
MEMDIAG 內存診斷應用程序
NTLDR 以前的 Windows OS 版本附帶的 OS 加載器
OSLOADER Windows Vista OS 加載器
RESUME 恢復應用程序
--------------------------------------------------------------
以下選項描述了與 /set 命令共同使用的 <datatypes> 所必需的數據格式。
所需的格式取決於使用 /set 命令指定的 <datatypes>。有關與
每個 <datatype> 關聯的格式的詳細信息,請運行 "bcdedit /? TYPES"。
布爾 布爾值。以下值與 TRUE 對應:
1、ON、YES、TRUE
以下值與 FALSE 對應:
0、OFF、NO、FALSE
設備 設備可以是以下其中一個類型:
BOOT
PARTITION=<drive>
HD_PARTITION=<drive>
FILE=[<parent>]<path>
RAMDISK=[<parent>]<path>,<optionsid>
VHD=[<parent>]<path>,<locatecustom>
這些類型的選項為:
<drive> 帶有冒號並且尾部不帶反斜槓的驅動器號。
<parent> (必需)可以是 BOOT、LOCATE 或帶有冒號的驅動器號。
方括號是語法的文本部分,而不表示是可選項。
<path> 從父設備根開始的文件路徑(或 .wim 文件)。
<optionsid> 設備選項的標識符,該選項項包含 RAM 磁盤的
系統部署映像(SDI)選項。這通常
是 {ramdisksdioptions}.
<locatecustom> 提供用於在 VHD 中找到設備的可選元素。
設備的默認位置元素是其應用程序路徑
(osdevice 的位置元素為 systemroot)。
必須使用自定義元素語法來指定自定義值
(請參閲 -help 類型的自定義類型),
例如: locate=custom:22000002。
id 項標識符,它引用啓動配置數據存儲中的項。有關標識符的詳細信息,
請運行 "bcdedit /? ID"。
整數 64 位整數類型。可以使用枚舉的值設置某些整數類型。
整數列表 以空格分隔的一個或多個 64 位整數的列表。
該列表不應置於引號中。
列表 項標識符列表。它包含以空格分隔的一個或多個項標識符。
該列表不應置於引號中。
字符串 文本字符串。如果它包含空格,則應該置於引號("")中。
--------------------------------------------------------------
此命令列出存儲中的項。/enum 命令為默認值,因此,運行沒有參數的 "bcdedit" 等同於
運行 "bcdedit /enum ACTIVE"。
bcdedit [/store <filename>] /enum [<type> | <id>] [/v]
<filename> 指定要使用的存儲。如果未指定此選項,則使用系統存儲。有關詳細信息,
請運行 "bcdedit /? store"。
<type> 指定要列出的項的類型。<type> 可以是下列類型之一:
ACTIVE 啓動管理器顯示順序中的所有項。這是默認值。
FIRMWARE 所有固件應用程序。
BOOTAPP 所有啓動環境應用程序。
BOOTMGR 啓動管理器。
OSLOADER 所有操作系統項。
RESUME 全部從休眠項中恢復。
INHERIT 所有繼承項。
ALL 所有項。
<id> 指定要列出的項的標識符。如果已提供標識符,則僅列出指定的對象。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
/v 完整顯示項標識符,而不是使用已知標識符的名稱。
示例:
下列命令列出所有操作系統加載器啓動項:
bcdedit /enum OSLOADER
下列命令列出所有啓動管理器項:
bcdedit /enum BOOTMGR
下列命令僅列出默認的啓動項:
bcdedit /enum {default}
下列命令僅列出指定的操作系統啓動項:
bcdedit /enum {b38a9fc1-5690-11da-b795-e9ad3c5e0e3a}
--------------------------------------------------------------
通常,任何已知的項標識符會用方便記憶的縮寫形式來替換。指定 /v 為命令行參數
可阻止此替換,並完整顯示所有標識符。單獨運行 "bcdedit /v" 等同於
運行 "bcdedit /enum ACTIVE /v"。
bcdedit /v
示例:
下列命令列出系統存儲中的活動項及所有顯示完整的項標識符。
bcdedit /enum ACTIVE /v
--------------------------------------------------------------
此命令設置啓動管理器使用的一次性啓動序列。
bcdedit /bootsequence <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] 指定組成啓動序列的標識符列表。必須至少指定一個標識符,
且必須使用空格分隔標識符。有關標識符的詳細信息,請運
行 "bcdedit /? ID"。
/addfirst 將指定的項標識符添加到啓動序列的頂部。如果已指定此參
數,則只能指定一個項標識符。如果列表中已存在該標識符,
則將其移動到列表頂部。
/addlast 將指定的項標識符添加到啓動序列的末尾。如果已指定此參
數,則只能指定一個項標識符。如果列表中已存在該標識符,
則將其移動到列表末尾。
/remove 從啓動序列中刪除指定的項標識符。如果已指定此參數,則
只能指定一個項標識。如果該標識符不在列表中,則該操作
不起作用。如果刪除最後一項,則啓動序列值將會從啓動管
理器項中刪除。
示例:
下列命令設置啓動管理器一次性啓動序列中的兩個 OS 項和基於 NTLDR 的 OS 加
載器:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
下列命令將指定的 OS 項添加到啓動管理器一次性啓動序列的末尾:
bcdedit /bootsequence {802d5e32-0784-11da-bd33-000476eba25f} /addlast
--------------------------------------------------------------
此命令設置超時過期時啓動管理器將使用的默認項。
bcdedit /default <id>
<id> 指定超時過期時將用作默認項的啓動項的標識符。
有關標識符的詳細信息,請運行 "bcdedit /? ID"。
示例:
下列命令將指定項設置為默認的啓動管理器項:
bcdedit /default {cbd971bf-b7b8-4885-951a-fa03044f5d71}
下列命令將基於 NTLDR 的 OS 加載器設置為默認項:
bcdedit /default {ntldr}
--------------------------------------------------------------
此命令設置啓動管理器使用的顯示順序。
bcdedit /displayorder <id> [...] [ /addfirst | /addlast | /remove ]
<id> [...] 指定組成顯示順序的標識符列表。必須至少指定一個標識符,且必須使用
空格分隔標識符。有關標識符的詳細信息,請運行 "bcdedit /? ID"。
/addfirst 將指定的項標識符添加到顯示順序的頂部。如果已指定此參數,則只能指定
一個項標識符。如果列表中已存在指定的標識符,則將其移動到列表頂部。
/addlast 將指定的項標識符添加到顯示順序的末尾。如果已指定此參數,則只能指定
一個項標識符。如果列表中已存在指定的標識符,則將其移動到列表末尾。
/remove 從顯示順序中刪除指定的項標識符。如果已指定此參數,則只能指定
一個項標識符。如果該標識符不在列表中,則該操作不起作用。如果刪除
最後一項,則顯示順序值將會從啓動管理器項中刪除。
示例:
下列命令設置啓動管理器顯示順序中的兩個 OS 項以及基於 NTLDR 的 OS 加載器:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {ntldr}
下列命令將指定的 OS 項添加到啓動管理器顯示順序的末尾:
bcdedit /displayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
--------------------------------------------------------------
此命令設置啓動管理器選擇默認項以前等待的時間,以秒為單位。
有關設置默認項的詳細信息,請運行 "bcdedit /? default"。
bcdedit /timeout <timeout>
<timeout> 指定啓動管理器選擇默認項以前等待的時間,以秒為單位。
示例:
下列命令將啓動管理器 <timeout> 設置為 30 秒:
bcdedit /timeout 30
--------------------------------------------------------------
bcdedit /toolsdisplayorder <id> [...] [ /addfirst | /addlast | /remove ]
此命令將設置顯示工具菜單時啓動管理器使用的顯示順序。
<id> [...] 指定組成工具顯示順序的標識符的列表。至少必須指定一
個標識符,標識符之間必須用空格隔開。有關標識符的詳
細信息,請運行 "bcdedit /? ID"。
/addfirst 將指定的項標識符添加到工具顯示順序頂部。如果指定此
開關,則只能指定單個項標識符。如果指定的標識符已經
存在於列表中,則將其移動到列表頂部。
/addlast 將指定的項標識符添加到工具顯示順序末尾。如果指定此
開關,則只能指定單個項標識符。如果指定的標識符已經
存在於列表中,則將其移動到列表末尾。
/remove 將指定的項標識符從工具顯示順序中刪除。如果指定此開
關,則只能指定單個項標識符。如果列表中不存在該標識
符,則操作無效。如果正在刪除最後一個項,則工具顯示
順序值將從啓動管理器項中刪除。
示例:
以下命令在啓動管理器的工具顯示順序中設置了兩個工具項及內存診斷:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f}
{cbd971bf-b7b8-4885-951a-fa03044f5d71} {memdiag}
以下命令將指定的工具項添加到啓動管理器的工具顯示順序末尾:
bcdedit /toolsdisplayorder {802d5e32-0784-11da-bd33-000476eba25f} /addlast
--------------------------------------------------------------
此命令啓用或禁用指定項的緊急管理服務。
bcdedit /bootems [<id>] { ON | OFF }
<id> 指定要修改的項的標識符。儘管此命令適用於任何項,但僅對啓動應用程序有效。
示例:
下列命令啓用啓動管理器的緊急管理服務:
bcdedit /bootems {bootmgr} ON
--------------------------------------------------------------
此命令啓用或禁用指定操作系統啓動項的緊急管理服務。
bcdedit /ems [<id>] { ON | OFF }
<id> 指定要修改的項的標識符。只能指定“Windows 啓動加載器”項。如果未指定,則
使用 {current}。有關標識符的詳細信息,請運行 "bcdedit /? ID"。
示例:
下列命令啓用當前操作系統啓動項的緊急管理服務:
bcdedit /ems ON
--------------------------------------------------------------
此命令設置系統的全局緊急管理服務設置。Emssettings 不會對任何特定啓動項
啓用或禁用緊急管理服務。
bcdedit /emssettings [ BIOS ] | [ EMSPORT:<port> | [EMSBAUDRATE:<baudrate>] ]
BIOS 指定系統對緊急管理服務配置使用 BIOS 設置。這隻能在 BIOS 提供支持緊急管理
服務的系統上運行。
<port> 指定要用作緊急管理服務端口的串行端口。此選項不應與 BIOS 選項一起指定。
<baudrate> 指定緊急管理服務使用的串行波特率。此命令不應與 BIOS 選項一起指定。
<baudrate> 是可選項,默認值為 9,600 波特
示例:
下列命令將緊急管理服務參數設置為使用 BIOS 設置:
bcdedit /emssettings BIOS
下列命令將緊急管理服務參數設置為使用 com2: 115,200 波特。
bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200
--------------------------------------------------------------
此命令啓用或禁用指定啓動項的啓動調試程序。儘管此命令適用於任何項,
但僅對啓動應用程序有效。
bcdedit /bootdebug [<id>] { ON | OFF }
<id> 指定要修改的項的標識符。有關標識符的詳細信息,請運行 "bcdedit /? ID"。
示例:
下列命令為當前操作系統啓動項的 Windows 操作系統加載器啓用啓動調試:
bcdedit /bootdebug ON
下列命令禁用 Windows 啓動管理器的啓動調試:
bcdedit /bootdebug {bootmgr} OFF
--------------------------------------------------------------
此命令設置或顯示系統的全局調試程序設置。
此命令不會啓用或禁用任何特定啓動項的調試程序。
若要啓用或禁用特定啓動項的調試程序,請使用
"bcdedit /debug < identifier> ON"。有關標識符的
詳細信息,請運行"bcdedit /? ID"。
若要設置單個全局調試程序設置,請使用
"bcdedit /set {dbgsettings} <type> <value>"。
有關有效類型的信息,請運行 "bcdedit /? TYPES"。
bcdedit /dbgsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] [TARGETNAME:<targetname>]
/start <startpolicy> /noumex ]
<debugtype> 指定調試程序的類型。<debugtype> 可以是 SERIAL、1394
或 USB 之一。
<port> 對於 SERIAL 調試,指定要用作調試端口
串行端口。這是可選設置。
<baud> 對於 SERIAL 調試,指定用於調試的
波特率。這是可選設置。
<channel> 對於 1394 調試,指定用於調試的
1394 通道。
<targetname> 對於通用串行總線(USB)調試,指定用於調試的
USB 目標名稱。
/start <startpolicy> 對於所有調試程序類型,此選項會指定
調試程序啓動策略。 <startpolicy> 可以是下列策略之一:
ACTIVE
AUTOENABLE
DISABLE.
如果未指定,則默認值為 ACTIVE。
/noumex 如果指定,這將導致內核調試程序忽略任何
用户模式例外。
示例:
下列命令顯示當前的全局調試程序設置:
bcdedit /dbgsettings
下列命令設置全局調試程序設置在 com1 上以 115,200 波特
進行串行調試:
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
下列命令設置全局調試程序設置使用通道 23
進行 1394 調試:
bcdedit /dbgsettings 1394 CHANNEL:23
下列命令設置全局調試程序設置使用目標名稱 DEBUGGING
進行 USB 調試:
bcdedit /dbgsettings USB TARGETNAME:DEBUGGING
--------------------------------------------------------------
此命令啓用或禁用指定啓動項的內核調試程序。
bcdedit /debug [<id>] { ON | OFF }
<id> 指定要修改的項的標識符。只能指定 Windows 啓動加載器項。如果未指定,
則使用 {current}。有關標識符的詳細信息,請運行 "bcdedit /? ID"。
示例:
下列命令啓用當前 Windows 操作系統啓動項的內核調試:
bcdedit /debug ON
下列命令禁用指定操作系統項的內核調試:
bcdedit /debug {cbd971bf-b7b8-4885-951a-fa03044f5d71} OFF
--------------------------------------------------------------
此命令用於設置或顯示系統的虛擬機監控程序設置。
此命令不為任何特定的 OS 加載程序項啓用或禁用
虛擬機監控程序調試程序。若要為特定的 OS 加載程序項啓用或禁用虛擬機
管理程序調試程序,請使用 "bcdedit /set <identifier> HYPERVISORDEBUG ON"。
有關標識符的信息,請運行 "bcdedit /? ID"。
若要設置單個虛擬機監控程序調試程序設置,請使用
"bcdedit /set {hypervisorsettings} <type> <value>"。有關有效類型
的信息,請運行 "bcdedit /? TYPES"。
bcdedit /hypervisorsettings [ <debugtype> [DEBUGPORT:<port>] [BAUDRATE:<baud>]
[CHANNEL:<channel>] ]
<debugtype> 指定調試程序的類型。<debugtype> 可以是
SERIAL 或 1394 之一。
<port> 對於 SERIAL 調試,指定要用作
調試端口的串行端口。
<baud> 對於 SERIAL 調試,指定用於
調試的波特率。
<channel> 對於 1394 調試,指定用於
調試的 1394 通道。
示例:
以下命令用於顯示當前虛擬機監控程序設置:
bcdedit /hypervisorsettings
以下命令用於將虛擬機監控程序調試程序設置設置為通過 COM1 進行
串行調試,波特率為 115,200:
bcdedit /hypervisorsettings SERIAL DEBUGPORT:1 BAUDRATE:115200
以下命令用於將虛擬機監控程序調試程序設置設置為使用通道 23
進行 1394 調試:
bcdedit /hypervisorsettings 1394 CHANNEL:23
----------------------------------------------------------------- [1] 
參考資料
  • 1.    Windows7中bcdedit自帶幫助文件