Windows 7,中文名稱視窗7,是由微軟公司(Microsoft)開發(fā)的操作系統(tǒng),內(nèi)核版本號(hào)為Windows NT 6.1。Windows 7可供家庭及商業(yè)工作環(huán)境:筆記本電腦 、平板電腦 、多媒體中心等使用。Windows 7可供選擇的版本有:入門版(Starter)、家庭普通版(Home Basic)、家庭高級(jí)版(Home Premium)、專業(yè)版(Professional)、企業(yè)版(Enterprise)(非零售)、旗艦版(Ultimate)。 最近由于工作測(cè)試需要,在一臺(tái)電腦上安裝了多操作系統(tǒng)(XP,2000,2003,VISTA,WIN7),但是發(fā)現(xiàn)系統(tǒng)之家win7純凈版只會(huì)顯示“之前版本的系統(tǒng)”等啟動(dòng)選項(xiàng),需要修改以方便進(jìn)入需要的系統(tǒng)。但是發(fā)現(xiàn)win7下無法像XP下直接修改C:/boot.ini即可,需要在管理員權(quán)限下使用bcdedit命令操作。記錄如下:
Bcdedit簡(jiǎn)介:在NT60系列操作系統(tǒng)(Windows 7/Vista/2008)中的一個(gè)命令行工具,用于建立和重新配置bootloader,后者無須再使用boot.ini文件。也就是說,使用BCDEdit這個(gè)工具,能夠修改NT60 系列系統(tǒng)的啟動(dòng)菜單
在之前基于NT50系列(Windows XP/2000/2003)的Windows系統(tǒng)中,Windows使用Ntldr作為Boot Loader來啟動(dòng)系統(tǒng),但在新的NT60系列系統(tǒng)中,微軟引入了一種全新的boot loader架構(gòu),Windows Boot Manager (Bootmgr.exe)。與Ntldr嚴(yán)重地依賴于硬件不同的是,NT60中的新架構(gòu)可以實(shí)現(xiàn)完整的硬件獨(dú)立性,且能夠與多種操作系統(tǒng)無縫結(jié)合,讓NT60的啟動(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è)置。
——所謂boot loader,在指在內(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)。Windows NT60 (Windows 7/Vista/2008)與早期NT52 系列系統(tǒng)(Windows XP/2000/2003)啟動(dòng)的對(duì)比 在傳統(tǒng)的基于BIOS的計(jì)算機(jī)中,如果只安裝NT60 系列操作系統(tǒng)(Windows 7/Vista/2008),您將會(huì)發(fā)現(xiàn)Boot.ini 文件已經(jīng)徹底從系統(tǒng)中消失;如果系統(tǒng)中安裝了NT60 和之前的Windows 系統(tǒng),如NT52 系列操作系統(tǒng) (Windows XP/2000/2003),雖然仍可找到Boot.ini 文件,不過,這個(gè)文件只作用于那些系統(tǒng),而不會(huì)對(duì)NT60 的啟動(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。
由此可見,在NT60中,想要再像之前NT52 中那樣通過一個(gè)簡(jiǎn)單的文本編輯器來修改Boot.ini(或用NT52自帶工具Bootcfg)的方式來管理啟動(dòng)選項(xiàng)已經(jīng)不可能了,要對(duì)啟動(dòng)設(shè)置進(jìn)行修改,只能使用命令格式相對(duì)要復(fù)雜得多的BCDEdit。
此外,微軟也在NT60 中提供了可通過WMI (Windows Management Instrumentation : Windows管理規(guī)范)調(diào)用的BCD 類,通過它可以用編程的方式修改BCD數(shù)據(jù)。不過,相信對(duì)絕大多數(shù)根本不會(huì)接觸編程的用戶而言,這更是不可能的任務(wù)。
BCDEdit 使用前注意
1.工具性質(zhì)
需要注意的是,BCDEdit不是一個(gè)運(yùn)行于圖形界面下的程序,而是一個(gè)命令行工具,該文件(Bcdedit.exe) 位于 “\Windows\System 32”目錄下。
2.啟動(dòng)
要執(zhí)行BCDEdit,首先應(yīng)進(jìn)入命令行窗口,并要將操作用戶并提升至管理員權(quán)限。另外,該工具依賴于參數(shù),如果不帶參數(shù),則不能正常使用。
在命令行窗口中,轉(zhuǎn)到系統(tǒng)目錄如 “C:/windows/system32”下,然后輸入“bcdedit <參數(shù)>” 即可。也可直接在任意目錄運(yùn)行,因?yàn)镾ystem32目錄本身在環(huán)境變量“Path”的范圍內(nèi)。
3.BCDEdit命令核心
(1)幫助
bcdedit /? : 顯示全部的命令幫助(都只是概述)。
bcdedit.exe /? <命令> : 顯示指定命令參數(shù)的詳細(xì)信息(無需帶斜杠)。使用中對(duì)其他任何可用參數(shù)也均可使用本命令格式查看該參數(shù)的具體說明。
(2)Enum
通過命令行工具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可分為如下幾類:
{ntldr}: 指存在上代NT50系列操作系統(tǒng)(Windows XP/2000/2003)的硬盤或分區(qū);
{default}: 默認(rèn)所在硬盤或分區(qū);
{current}: 當(dāng)前硬盤或分區(qū);
{<GUID>}: 類似于這個(gè)格式的GUID指其他安裝了操作系統(tǒng)的硬盤或分區(qū)。
(注:相應(yīng)的GUID可通過“bcdedit ”或“bcdedit /enum all ”命令查看。這樣會(huì)顯示BCD當(dāng)前的啟動(dòng)設(shè)置數(shù)據(jù),包含了所有在BCD記錄中的操作系統(tǒng),均能顯示其GUID,用戶可以此作更改啟動(dòng)數(shù)據(jù)的參考。)
(3)保險(xiǎn)措施(使用BCDEdit備份與恢復(fù)啟動(dòng)選項(xiàng))
在對(duì)Windows NT60的啟動(dòng)選項(xiàng)修改之前,最好先對(duì)其備份,以防萬一操作失誤或其他故障導(dǎo)致系統(tǒng)無法啟動(dòng)!
bcdedit /export <目錄> : 將啟動(dòng)設(shè)置備份到指定的目錄下;
bcdedit /import <目錄> : 恢復(fù)之前備份在指定目錄下啟動(dòng)選項(xiàng)。
注:當(dāng)需要還原備份的啟動(dòng)選項(xiàng)時(shí),應(yīng)仔細(xì)檢查備份的啟動(dòng)選項(xiàng)是否對(duì)應(yīng)于自己所需要的,否則重新設(shè)置會(huì)比較麻煩。
使用BCDEdit修改啟動(dòng)菜單選項(xiàng)
作為一種良好的操作習(xí)慣,在對(duì)Windows Vista的啟動(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)輸入類似“”這樣的長字符串時(shí),很容易出錯(cuò),而這往往會(huì)導(dǎo)致Windows Vista啟動(dòng)失敗。
下面詳細(xì)介紹使用BCDEdit修改啟動(dòng)選項(xiàng)的常用命令格式:
bcdedit /set {ntldr} Description “Windows XP Professional SP2”: 修改上一代在啟動(dòng)菜單中的顯示內(nèi)容,比如說我們也可將其修改為“Vista天地de專用XP SP2”之類。注意,命令中的引號(hào)不可省略;操作系統(tǒng)
bcdedit /set {current} description “Windows Vista Build 5270 x86″: 修改當(dāng)前啟動(dòng)硬盤或分區(qū)上的操作系統(tǒng)在啟動(dòng)菜單中的顯示內(nèi)容。注意,當(dāng)前分區(qū)上的操作系統(tǒng)可能為Windows Vista,也可以是其他系統(tǒng),當(dāng)然,命令中的引號(hào)也不可省略;
bcdedit /set {<GUID>} description “Windows Vista 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 {<GUID>} :設(shè)置指定GUID上的操作系統(tǒng)為默認(rèn)啟動(dòng)的系統(tǒng);
bcdedit /default {ntldr} :設(shè)置上一代Windows 系統(tǒng)Windows XP為默認(rèn)啟動(dòng)的系統(tǒng);
bcdedit /displayorder : 設(shè)置啟用菜單中各項(xiàng)的顯示順序,如:
bcdedit.exe /displayorder {ntldr} {current} :將首先顯示W(wǎng)indows XP,然后再顯示默認(rèn)啟動(dòng)的系統(tǒng)如Windows Vista;
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 device partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這里的“X: ”的GUID須與指定值不同,同時(shí),運(yùn)行該命令后,必須接著運(yùn)行下面的osdevice命令;
bcdedit /set osdevice partition=X: : 將指定GUID的分區(qū)設(shè)為啟動(dòng)分區(qū)。注意,這個(gè)命令必須與上面的device命令配對(duì)使用,同時(shí)“X: ”的GUID須與指定值不同。
Bcdedit命令詳解,自定義Vista啟動(dòng)管理項(xiàng)
Bcdedit 位于X:\Windows\system32\ "X:"為安裝Vista的盤符。
儲(chǔ)存操作指令
====================
/createstore 創(chuàng)建一個(gè)新的空白啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /createstore C:\Data\BCD 創(chuàng)建BCD啟動(dòng)配置數(shù)據(jù)文件儲(chǔ)存到“C:\DATA\”文件夾。
/export 備份啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /export "C:\Data\BCD Backup" 備份BCD啟動(dòng)配置文件到“C:\Data\”文件夾,并以“BCD Backup”命名。
/import 還原啟動(dòng)配置數(shù)據(jù)文件。
bcdedit /import "C:\Data\BCD Backup" 從“C:\Data\”文件夾恢復(fù)BCD啟動(dòng)配置文件。
儲(chǔ)存項(xiàng)目操作指令
====================
/copy 項(xiàng)目拷貝
操作系統(tǒng)啟動(dòng)項(xiàng)目的拷貝:
bcdedit /copy /d "Copy of entry"
/create 新建項(xiàng)目
創(chuàng)建操作系統(tǒng)載入程序項(xiàng)目的NTLDR(Ntldr):
bcdedit /create /d "Earlier Windows OS Loader"
創(chuàng)建存儲(chǔ)器磁碟另外的選擇項(xiàng)項(xiàng)目:
bcdedit /create /d "Ramdisk options"
創(chuàng)建一個(gè)新的操作系統(tǒng)啟動(dòng)項(xiàng)目:
bcdedit /create /d "Windows Vista" /application osloader
創(chuàng)建一個(gè)新的調(diào)試器:
bcdedit /create /d "Debugger Settings"
/delete 刪除項(xiàng)目
刪除指定的操作系統(tǒng)項(xiàng)目:
bcdedit /delete
刪除指定的操作系統(tǒng)項(xiàng)目但啟動(dòng)時(shí)不顯示項(xiàng)目(徹底刪除):
bcdedit /delete /cleanup
刪除指定的操作系統(tǒng)項(xiàng)目但啟動(dòng)時(shí)顯示項(xiàng)目:
bcdedit /delete /nocleanup
刪除操作系統(tǒng)載入程序項(xiàng)目的NTLDR:
bcdedit /delete /f
項(xiàng)目選擇操作指令
====================
/deletevalue 刪除項(xiàng)目選擇項(xiàng)。
刪除啟動(dòng)管理的bootmgr選擇項(xiàng)項(xiàng)目:
bcdedit /deletevalue bootsequence
刪除(WinPE)操作系統(tǒng)的數(shù)值開機(jī)項(xiàng)目:
bcdedit /deletevalue winpe
刪除來自指定的操作的Windows PE 數(shù)值系統(tǒng)開機(jī)項(xiàng)目:
bcdedit /deletevalue winpe
/set 設(shè)定項(xiàng)目選擇項(xiàng)數(shù)值。
設(shè)定操作系統(tǒng)“cbd971bf-b7b8-4885-951a-fa03044f5d71”引導(dǎo)分區(qū)“C”:
bcdedit /set device partition=C:
指定的操作系統(tǒng)引導(dǎo)文件“windows\ system 32\ winload.exe”:
bcdedit /set path \windows\system32\winload.exe
設(shè)定“NX”為“OptIn”:
bcdedit /set nx optin
更改系統(tǒng)名稱
默認(rèn)XP系統(tǒng)名稱在Vista啟動(dòng)管理器中是"earlier version of Windows",更改:
bcdedit /set Description "Windows XP Professional SP2"
默認(rèn)Vista系統(tǒng)名稱在Vista啟動(dòng)管理器中是"Microsoft Windows",更改:
bcdedit /set Description "Windows Vista 5456"
輸出控制指令
====================
/enum 在儲(chǔ)存中的列表項(xiàng)目。
列出所有的操作系統(tǒng)載入程序啟動(dòng)項(xiàng)目:
bcdedit /enum OSLOADER
列出所有的啟動(dòng)管理項(xiàng)目:
bcdedit /enum BOOTMGR
列出默認(rèn)的啟動(dòng)項(xiàng)目:
bcdedit /enum
列出指定的操作系統(tǒng)啟動(dòng)項(xiàng)目:
bcdedit /enum
/v 列出所有活動(dòng)的項(xiàng)目
bcdedit /enum ACTIVE /v
啟動(dòng)管理控制指令
====================
/bootsequence 設(shè)定啟動(dòng)列表順序。
設(shè)定二個(gè)操作系統(tǒng)項(xiàng)目和啟動(dòng)順序:
bcdedit /bootsequence {cbd971bf-b7b8-4885-951a- fa03044f5d71}
加入操作系統(tǒng)項(xiàng)目為啟動(dòng)列表最后項(xiàng):
bcdedit /bootsequence /addlast
/default 設(shè)定默認(rèn)啟動(dòng)項(xiàng)目。
設(shè)定默認(rèn)啟動(dòng)項(xiàng)目:
bcdedit /default
設(shè)定默認(rèn)啟動(dòng)操作系統(tǒng)程序?yàn)镹TLDR:
bcdedit /default
/displayorder 設(shè)定哪一個(gè)系統(tǒng)啟動(dòng)顯示多啟動(dòng)畫面。
設(shè)定二個(gè)操作系統(tǒng)項(xiàng)目和在啟動(dòng)管理顯示命令中被建立操作系統(tǒng)載入的程序NTLDR:
bcdedit /displayorder
把指定的操作系統(tǒng)項(xiàng)目加入啟動(dòng)管理顯示命令結(jié)束:
bcdedit /displayorder /addlast
/timeout 設(shè)定啟動(dòng)暫停數(shù)值。
/toolsdisplayorder 設(shè)定命令在哪一個(gè)啟動(dòng)管理顯示工具畫面。
設(shè)定二個(gè)工具項(xiàng)目和內(nèi)存診斷在那啟動(dòng)管理工具顯示命令:
bcdedit /toolsdisplayorder
把指定的工具項(xiàng)目加入啟動(dòng)的結(jié)束管理工具顯示命令:
bcdedit /toolsdisplayorder /addlast
為一個(gè)啟動(dòng)應(yīng)用程序控制緊急處理服務(wù)的指令
====================
/bootems
開啟啟動(dòng)管理緊急處理服務(wù):
bcdedit /bootems ON
/ems
為目前的操作系統(tǒng)啟動(dòng)項(xiàng)目EMS 開啟:
bcdedit /ems ON
/emssettings 設(shè)定緊急處理服務(wù)參數(shù)。
設(shè)定EMS 參數(shù)使用基本輸出入系統(tǒng)設(shè)定:
bcdedit /emssettings BIOS
windows 7 的設(shè)計(jì)主要圍繞五個(gè)重點(diǎn)——針對(duì)筆記本電腦的特有設(shè)計(jì);基于應(yīng)用服務(wù)的設(shè)計(jì);用戶的個(gè)性化;視聽娛樂的優(yōu)化;用戶易用性的新引擎。 跳躍列表,系統(tǒng)故障快速修復(fù)等,這些新功能令Windows 7成為最易用的Windows。
|