Win7之家( afsion.com.cn):管理啟動(dòng)項(xiàng) - Windows 7中的BCDEDIT命令
在之前基于NT的Windows系統(tǒng)中,Windows使用Ntldr作為Boot Loader來啟動(dòng)系統(tǒng),——所謂boot loader,在指在操作系統(tǒng)內(nèi)核運(yùn)行之前執(zhí)行的一段小程序,系統(tǒng)通過它來初始化硬件設(shè)備、建立內(nèi)存空間的映射圖等,將系統(tǒng)的軟硬件環(huán)境設(shè)置成一個(gè)合適的 狀態(tài),為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。——在啟動(dòng)過程中,Ntldr 使用Boot.ini 文件來確定在啟動(dòng)/引導(dǎo)過程中要顯示哪些操作系統(tǒng)選項(xiàng),我們對(duì)啟動(dòng)選項(xiàng)的設(shè)置可以通過修改boot.ini文件中相應(yīng)內(nèi)容實(shí)現(xiàn)。
在Vista和Windows7中,微軟引入了一種全新的boot loader架構(gòu), Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴(yán)重地依賴于硬件不同的是,Vista和Windows7中 的新架構(gòu)可以實(shí)現(xiàn)完整的硬件獨(dú)立性,且能夠與多種操作系統(tǒng)無縫結(jié)合,讓W(xué)indows Vista的啟動(dòng)/引導(dǎo)過程更加快速與安全。同時(shí),將之前Windows 系統(tǒng)中由Boot.ini管理的內(nèi)容移交給新的Boot Configuration Data (BCD : 啟動(dòng)設(shè)置數(shù)據(jù)),當(dāng)然,也提供了新的啟動(dòng)選項(xiàng)編輯工具,BCDEdit (BCDEdit.exe),來管理啟動(dòng)設(shè)置。
BCDEdit : Vista和Windows 7啟動(dòng)設(shè)置編輯工具
在傳統(tǒng)的基于BIOS的計(jì)算機(jī)中,如果只安裝Vista和Windows 7,除了極早期的Vista和Windows 7測試版本外,您將會(huì)發(fā)現(xiàn) Boot.ini 文件已經(jīng)徹底從系統(tǒng)中消失;如果系統(tǒng)中安裝了Vista和Windows 7和之前的WIndows系統(tǒng)如Windows XP,雖然仍可找到 Boot.ini 文件,不過,這個(gè)文件只作用于那些系統(tǒng),而不會(huì)對(duì) Vista和Windows 7的啟動(dòng)有任何影響。
在基于EFI (Extensible Firmware Interface : 可擴(kuò)展固件接口,以后采用這種接口的PC會(huì)越來越多 )的計(jì)算機(jī)中,Boot.ini 文件則更不復(fù)存在,在基于EFI的系統(tǒng)中,啟動(dòng)選項(xiàng)被貯存在主板的存儲(chǔ)器中。此時(shí)要修改啟動(dòng)選項(xiàng),要么通過能夠讀寫NVRAM的工具如NvrBoot,要 么使用上文提到的BCDEdit。
由此可見,在Vista和Windows 7中,想要再像之前Windows XP中那樣通過一個(gè)簡單的文本編輯器來修改Boot.ini的方式來管理啟動(dòng)選項(xiàng)已經(jīng)不可能了,要對(duì)啟動(dòng)設(shè)置進(jìn)行修改,只能使用命令格式相對(duì)要復(fù)雜得多的BCDEdit。
此外,微軟也在Vista和Windows7 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規(guī)范)調(diào)用的 BCD 類,通過它可以用編程的方式修改BCD數(shù)據(jù),不過,相信對(duì)絕大多數(shù)用戶而言,這更是不可能的任務(wù)。
啟動(dòng)BCDEdit
需要注意的是,BCDEdit不是一個(gè)運(yùn)行于圖形界面下的程序,而是一個(gè)命令行工具,該文件 (Bcdedit.exe) 位于 “\Windows\System32”目錄下。
要執(zhí)行BCDEdit,首先應(yīng)進(jìn)入命令行窗口,并要將操作用戶并提升至管理員權(quán)限。在命令行窗口中,輸入“ bcdedit” 即可。
BCDEdit命令簡介
通過命令行工具Bcdedit,我們可以添加、刪除及修改BCD (Boot Configuration Data)中的對(duì)象。在BCD中,每個(gè)對(duì)象均具有唯一的 GUID (Globally Unique Identifier : 全局唯一標(biāo)識(shí)符),如系統(tǒng)中的每塊硬盤、每個(gè)分區(qū)的GUID (全局唯一標(biāo)識(shí)符)均不相同。
在BCD中,硬盤或分區(qū)的GUID可分為如下幾類:
- {legacy} :指存在上一代Windows系統(tǒng)如Windows XP的硬盤或分區(qū);
- {default} : 默認(rèn)操作系統(tǒng)所在硬盤或分區(qū);
- {current} : 當(dāng)前硬盤或分區(qū);
- {c34b751a-ff09-11d9-9e6e-0030482375e7} : 類似于這個(gè)格式的GUID指其他安裝了操作系統(tǒng)的硬盤或分區(qū)。
(注:這只是個(gè)例子,具體數(shù)字根據(jù)硬盤或分區(qū)參數(shù)會(huì)有相應(yīng)變化,但均會(huì)類似于{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}格式)。
BCDEDIT命令
- bcdedit /? : 顯示命令幫助
- bcdedit.exe /? CREATESTORE : 顯示命令參數(shù)“ CREATESTORE ”的詳細(xì)信息,——當(dāng)然,“ CREATESTORE ”也只是示例,使用中對(duì)其他任何可用參數(shù)也均可使用類似格式查看該參數(shù)的具體說明。
- bcdedit 或 bcdedit /enum all : 顯示Vista和Windows 7系統(tǒng)當(dāng)前的啟動(dòng)設(shè)置數(shù)據(jù),這時(shí)系統(tǒng)中所有安裝了操作系統(tǒng)的硬盤或分區(qū)均會(huì)顯示相應(yīng)的 GUID 標(biāo)識(shí),如 {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 。
使用BCDEdit備份與恢復(fù)啟動(dòng)選項(xiàng)
在對(duì)Vista和Windows 7的啟動(dòng)選項(xiàng)修改之前,最好先對(duì)其備份,以防萬一操作失誤或其他故障導(dǎo)致系統(tǒng)無法啟動(dòng)。
- bcdedit /export “D:\BCD Backup\Bcd Backup” : 將啟動(dòng)設(shè)置備份到D盤 “BCD Backup” 目錄下;
- bcdedit /import “D:\BCD Backup\Bcd Backup” : 恢復(fù)之前備份在D盤 “BCD Backup”目錄下啟動(dòng)選項(xiàng)。
使用BCDEdit修改啟動(dòng)菜單選項(xiàng)
作為一種良好的操作習(xí)慣,在對(duì)Vista和Windows 7的啟 動(dòng)選項(xiàng)進(jìn)行任何修改前,首先要對(duì)BCD中的啟動(dòng)選項(xiàng)進(jìn)行備份,相應(yīng)的命令上頁我們已介紹過,在此不再贅述;其次,使用“bcdedit ”或“ bcdedit /enum all ”來查看系統(tǒng)中硬盤或分區(qū)的正確 GUID 標(biāo)識(shí),并將其記錄下來。畢竟,BCDEdit只是一款命令行工具,我們操作時(shí)需手動(dòng)輸入類似“{xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxxx}”這樣的長字符串時(shí),很容易出錯(cuò),而這往往會(huì)導(dǎo)致Vista和Windows 7啟動(dòng)失敗。
下面詳細(xì)介紹使用BCDEdit修改啟動(dòng)選項(xiàng)的常用命令格式:
- bcdedit /set {legacy} Description “Windows XP Professional SP2” : 修改上一代操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,比如說我們也可將其修改為“Vista天地專用XP SP2”之類。注意,命令中的引號(hào)不可省略;
- bcdedit /set {current} description “Vista和Windows 7 Build 5270 x86″ : 修改當(dāng)前啟動(dòng)硬盤或分區(qū)上的操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容。注意,當(dāng)前分區(qū)上的操作系統(tǒng)可能為Vista和Windows 7,也可以是其他系統(tǒng),當(dāng)然,命令中的引號(hào)也不可省略;
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} description “Vista和Windows 7 Build 5270 x64” : 修改安裝于其他硬盤或分區(qū)的系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容,使用這項(xiàng)命令時(shí)一定要注意該硬盤/分區(qū)的GUID輸入正確,相應(yīng)的GUID可通過“ bcdedit ”或“ bcdedit /enum all ”命令查看。
- bcdedit /default {current} : 將當(dāng)前啟動(dòng)硬盤/分區(qū)中的操作系統(tǒng)設(shè)置為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /default {5189b25c-5558-4bf2-bca4-289b11bd29e2} : 設(shè)置指定GUID上的操作系統(tǒng)為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /default {legacy} : 設(shè)置上一代Windows 系統(tǒng)Windows XP為默認(rèn)啟動(dòng)的系統(tǒng);
- bcdedit /displayorder : 設(shè)置啟用菜單中各項(xiàng)的顯示順序,如:
bcdedit.exe /displayorder {legacy} {current}
將首先顯示W(wǎng)indows XP,然后再顯示默認(rèn)啟動(dòng)的系統(tǒng)如Vista和Windows7 - bcdedit /timeout 15 : 將默認(rèn)的啟動(dòng)菜單顯示時(shí)間30秒更改為15秒,當(dāng)然,您可以將這個(gè)時(shí)間修改為任何您希望的數(shù)值。
使用BCDEdit修復(fù)硬盤/分區(qū)結(jié)構(gòu)錯(cuò)誤
在對(duì)啟動(dòng)選項(xiàng)的修改過程中,如添加或刪除某個(gè)硬盤/分區(qū)時(shí),可能會(huì)因操作中的不慎導(dǎo)致硬盤/分區(qū)結(jié)構(gòu)的混亂,除了采用恢復(fù)修改前的備份方法外,也可以首先使用BCDEdit來嘗試一下修復(fù)。
具體方法如下:
- X:\>X:\boot\fixntfs.exe -lh -all : 這時(shí)的“ X: ”指引導(dǎo)目錄 “boot” 所在的硬盤/分區(qū);
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} device partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這里的“ X: ”的GUID須與指定值不同,同時(shí),運(yùn)行該命令后,必須接著運(yùn)行下面的osdevice命令;
- bcdedit /set {5189b25c-5558-4bf2-bca4-289b11bd29e2} osdevice partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這個(gè)命令必須與上面的device命令配對(duì)使用,同時(shí)“ X: ”的GUID須與指定值不同。
評(píng)論列表
查看所有 條評(píng)論