Bcdedit

Bcdedit

在NT60系列作業系統(Windows 8/7/Vista/2008)中的一個命令行工具

簡介

在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數據。不過,相信對絕大多數根本不會接觸編程的用戶而言,這更是不可能的任務。

使用注意

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 <目錄> : 恢復之前備份在指定目錄下啟動選項。

註:當需要還原備份的啟動選項時,應仔細檢查備份的啟動選項是否對應於自己所需要的,否則重新設定會比較麻煩。

修改選項

作為一種良好的操作習慣,在對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

更改名稱

默認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

幫助檔案

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

-----------------------------------------------------------------

相關詞條

相關搜尋

熱門詞條

聯絡我們