日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Windows Server 2008 R2 之十九Bcdedit的使用

 知識(shí)藏園 2013-05-25


           從Windows Vista開(kāi)始,無(wú)論是早期的從純 DOS 模式下引導(dǎo)還是現(xiàn)在 Windows 2000/XP/Server 2003
采用的 NTLDR + NTDETECT.COM 的引導(dǎo)方式,均被拋棄了。一種被稱(chēng)為 Boot Manager 的組件取代了NTLDR + NTDETECT.COM 的引導(dǎo)方式, 成為 Microsoft在 Windows Vista 里面采用的 Windows 引導(dǎo)方式。在Windows Vista里面,當(dāng)你啟動(dòng)計(jì)算機(jī)的時(shí)候,首先是 BIOS 開(kāi)始運(yùn)行,BIOS 從啟動(dòng)設(shè)備里面讀取主引導(dǎo)扇區(qū)(MBR)的記錄,然后把控制交給儲(chǔ)存在 MBR里面的啟動(dòng)代碼,接著 Boot Manager啟動(dòng)并從Boot Configuration Data (BCD)數(shù)據(jù)庫(kù)里面讀取啟動(dòng)項(xiàng)目信息并把這些信息顯示在屏幕上面,并等待用戶(hù)選擇。當(dāng)用戶(hù)選擇了一個(gè)啟動(dòng)項(xiàng)目以后,Boot Manager 根據(jù)用戶(hù)的選擇,從 BCD數(shù)據(jù)庫(kù)里面獲取相關(guān)的啟動(dòng)參數(shù)和配置信息,然后開(kāi)始系統(tǒng)的引導(dǎo)過(guò)程。對(duì)于安裝了 Windows Vista 的機(jī)器,Microsoft 將修改被激活的主分區(qū)的啟動(dòng)扇區(qū)(Windows  安裝程序?qū)⒃诖疟P(pán)的第一個(gè)扇區(qū)里面寫(xiě)入 MBR 內(nèi)容) ,使用新的啟動(dòng)扇區(qū)內(nèi)容替代原有的啟動(dòng)扇區(qū)的內(nèi)容。經(jīng)典的錯(cuò)誤提示信息: “NTLDR is missing”將被“Bootmgr is missing”所取代。
    對(duì)于VISTA和Windows 2008,默認(rèn)情況下BCD數(shù)據(jù)庫(kù)在放在c:\boot\bcd中;但在windows 7和Windows 2008 r2中系統(tǒng)分區(qū)被隱藏起來(lái)(安裝時(shí)系統(tǒng)會(huì)劃分200M的系統(tǒng)分區(qū),用來(lái)存放引導(dǎo)文件),需通過(guò)“磁盤(pán)管理”(Diskmgmt.msc),對(duì)系統(tǒng)分區(qū)執(zhí)行“更改驅(qū)動(dòng)器號(hào)和路徑”,分配盤(pán)符,才能訪問(wèn)。
一、BCD數(shù)據(jù)庫(kù)文件的內(nèi)容
    BCD 文件,本質(zhì)上就是一個(gè)注冊(cè)表的 hive 文件,因此可以使用注冊(cè)表編輯器直接對(duì)它進(jìn)行修改。
   
    關(guān)于 BCD文件,我們需要關(guān)注的內(nèi)容只有 Objects 下的內(nèi)容,在 Objects下,有很多以 CLSID命名的
子鍵,每一個(gè)子鍵均有其特殊的含義。
    展開(kāi)每一個(gè) CLSID 鍵,一般都會(huì)有 2 個(gè)字鍵:Description 和 Elements。在 Elements 鍵下方,會(huì)有樹(shù)木不等的子鍵存在,每一個(gè)子鍵都代表不同的含義。有一些是顯示的內(nèi)容,有一些是指向一些特殊的程序或目錄用于 Windows Vista  的啟動(dòng),剩下的一些和 Windows Vista  的啟動(dòng)參數(shù)有關(guān)。
  例如: 
    12000004 鍵下的 Element 字符串內(nèi)容就是用于設(shè)定在 Boot Manager  的啟動(dòng)菜單上顯示內(nèi)容的。
    12000005  鍵用于指定 Boot Manager的語(yǔ)言。如果安裝了的簡(jiǎn)體中文版本,那么這里的內(nèi)容一定是 zh-CN,如果你想使用英文版的 Boot Manager,那么只需要修改為 en-US 即可。不過(guò)前提是需要在 \Boot  目錄下有一個(gè) en-US 的目錄,而且里面有相應(yīng)的 en-US語(yǔ)言的資源文件。
    42000002 鍵用于指定 Windows的引導(dǎo)程序。在 Windows 里面,引導(dǎo)程序已經(jīng)改為Winload.exe。
    22000002節(jié)點(diǎn)用于指定 Windows安裝以后的系統(tǒng)目錄的名字,默認(rèn)是 Windows 目錄。
如果休眠模式,那么 22000002 節(jié)點(diǎn)用于指向休眠文件的文件名,默認(rèn)是 hiberfil.sys 文件。 
    42000002 節(jié)點(diǎn)用于設(shè)置從休眠模式喚醒時(shí)由哪個(gè)程序完成休眠狀態(tài)/正常狀態(tài)的轉(zhuǎn)化。在Windows     如果安裝了早期的采用 NTLDR 引導(dǎo)的操作系統(tǒng),如 Windows 2000/XP/Server 2003,那么 Boot Manager將出現(xiàn)一個(gè)叫做{466f5a88-0af2-4f76-9038-095b170dc21c}的 CLSID,這個(gè) CLSID用于代表采用NTLDR啟動(dòng)模式的操作系統(tǒng)的引導(dǎo)程序的名字。 當(dāng)用戶(hù)從 Boot Manager里面選擇 Earlier version of Windows 菜單項(xiàng)目以后,Boot Manager 將根據(jù) 12000002 節(jié)點(diǎn)指向的內(nèi)容調(diào)用早期Windows 操作系統(tǒng)的引導(dǎo)程序,默認(rèn)為 NTLDR。
    {9dea862c-5cdd-4e70-acc1-f32b344d4795}是一個(gè)專(zhuān)用于代表 Windows Boot Manager 的CLSID。
在{9dea862c-5cdd-4e70-acc1-f32b344d4795}鍵下面,有一個(gè)叫做 24000001 的子鍵,這個(gè)鍵用于指定將要顯示在 Windows Boot Manager 上的操作系統(tǒng)啟動(dòng)菜單的 CLISD 編號(hào)。24000001 子鍵的Element 鍵是一個(gè) REG_MULTI_SZ 類(lèi)型的注冊(cè)表鍵值,這表示可以寫(xiě)入多個(gè)內(nèi)容。
{b2721d73-1db4-4c62-bf78-c548a880142d}是Windows 內(nèi)存診斷項(xiàng)目的注冊(cè)表鍵值
注意要用修改注冊(cè)表鍵值,必須首先修改權(quán)限。
二、編輯BCD數(shù)據(jù)庫(kù)的方法
1、使用系統(tǒng)屬性里面高級(jí)選項(xiàng)進(jìn)行修改
2、bcdedit.exe進(jìn)行修改
3、msconfig.exe
4、使用第三方工具進(jìn)行修改(如VistaBootPRO)
三、Bcdedit.exe的操作方法
相比對(duì)其它的幾種方法,利用Bcdedit.exe來(lái)編輯管理BCD數(shù)據(jù)庫(kù)功能更加強(qiáng),更靈活,同時(shí)也操作起來(lái)也更為復(fù)雜。在以前的博文使用 Windows VHD啟動(dòng)計(jì)算機(jī)在VHD文件上安裝Windows 7或Windows 2008 R2也曾介紹過(guò)這個(gè)命令行工具。
1、顯示BCD數(shù)據(jù)庫(kù)的內(nèi)容
Bcdedit
或Bcdedit /v,完整顯示數(shù)據(jù)庫(kù)的內(nèi)容,此時(shí)數(shù)據(jù)庫(kù)有些參數(shù)的值顯示為該值的GUID。在上圖啟動(dòng)管理器inhert為gobalsettings,用Bcdedit /v顯示時(shí),它的值變成了它的GUID。
注意,當(dāng)在數(shù)據(jù)庫(kù)增加一啟動(dòng)菜單項(xiàng),系統(tǒng)會(huì)隨機(jī)產(chǎn)生一個(gè)GUID。但系統(tǒng)中有些GUID是固定的。如下
標(biāo)識(shí)
 ID
GUID
Windows Boot Manager
{bootmgr}
9dea862c-5cdd-4e70-acc1f32b344d4795
Firmware Boot Manager
{fwbootmgr}
a5a30fa2-3d06-4e9f-b5f4a01df9d1fcba
Windows Memory Tester
{memdiag}
b2721d73-1db4-4c62-bf78c548a880142d
Windows Resume Application
No alias
147aa509-0358-4473-b83bd950dda00615
Legacy Windows Loader
{ntldr}
466f5a88-0af2-4f769038095b170dc21c
Current boot entry
{current}
fa926493-6f1c-4193-a41458f0b2456d1e
 
BCDEdit ID
GUID
Description
{badmemory}
5189b25c-5558-4bf2-bca4-289b11bd29e2
Global RAM defect list that can be inherited by any boot application.
{bootloadersettings}
6efb52bf-1766-41db-a6b3-0ee5eff72bd7
Global settings that should be inherited by all Windows boot loader applications.
{dbgsettings}
4636856e-540f-4170-a130-a84776f4c654
Global debugger settings that can be inherited by any boot application.
{emssettings}
0ce4991b-e6b3-4b16-b23c-5e0d9250e5d9
Global Emergency Management Services settings that can be inherited by any boot application.
{globalsettings}
7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e
Global settings that should be inherited by all boot applications.
{resumeloadersettings}
1afa9c49-16ab-4a5c-901b-212802da9460
Global settings that should be inherited by all resume applications.
 
2、/export /import
導(dǎo)出/導(dǎo)入BCD數(shù)據(jù)庫(kù)
可以利用導(dǎo)出/導(dǎo)入對(duì)BCD數(shù)據(jù)庫(kù)進(jìn)行備份和還原。
Bcdedit /export c:\bcd.bak(導(dǎo)出BCD數(shù)據(jù)庫(kù)的內(nèi)容到c:\bcd.bak文件中)
Bcdedit /import c:\bcd.bak(導(dǎo)入c:\bcd.bak文件的內(nèi)容到Bcd數(shù)據(jù)庫(kù)中)
3、/createstore
新建空的啟動(dòng)配置數(shù)據(jù)存儲(chǔ)
bcdedit /createstore <filename>
創(chuàng)建的存儲(chǔ)不是系統(tǒng)存儲(chǔ)。
Bcdedit /createstore C:\DATA\BCD
4、/store
指定要使用的存儲(chǔ)。
bcdedit /store <filename>
此選項(xiàng)不能與 /createstore、/import 和 /export 命令一起使用。
示例:
bcdedit /store c:\RemoteInstall\Boot\x86\default.bcd /set {bootmgr} timeout 10
將c:\RemoteInstall\Boot\x86\default.bcd存儲(chǔ)中啟動(dòng)管理器選擇默認(rèn)項(xiàng)以前等待的時(shí)間設(shè)置10秒
5、/copy
創(chuàng)建指定啟動(dòng)項(xiàng)的副本
bcdedit /copy {current} /d "copy of current"
已將該項(xiàng)成功復(fù)制到 {fbc1dbf9-8bfe-11de-bb65-000c297cc8af}。
6、/delete
刪除啟動(dòng)配置數(shù)據(jù)存儲(chǔ)中的項(xiàng)。
bcdedit [/store <filename>] /delete <id> [/f] [/cleanup | /nocleanup]
    <filename>      指定要使用的存儲(chǔ)。如果未指定此選項(xiàng),則使用系統(tǒng)存儲(chǔ)。
    <id>            指定要?jiǎng)h除的啟動(dòng)項(xiàng)的標(biāo)識(shí)符。
    /f              刪除指定的項(xiàng)。如果沒(méi)有此選項(xiàng),則 Bcdedit 將無(wú)法刪除任何具有已知標(biāo)識(shí)符的項(xiàng)。
    /cleanup        刪除指定的項(xiàng),并從顯示順序中刪除該項(xiàng)。并將從存儲(chǔ)中刪除任何其他涉及到所刪除項(xiàng)的項(xiàng)目。刪除 OS 加載器項(xiàng)時(shí),如果任何其他 OS 加載器沒(méi)有引用該項(xiàng),還將刪除從休眠中恢復(fù)的關(guān)聯(lián)項(xiàng)。如果未指定 /nocleanup,則認(rèn)為使用此選項(xiàng)。
    /nocleanup      刪除指定的項(xiàng),但不從顯示順序中刪除該項(xiàng)。
示例:
  下列命令刪除存儲(chǔ)中指定的操作系統(tǒng)項(xiàng),并從顯示順序中刪除該項(xiàng):
    bcdedit /delete {fbc1dbf9-8bfe-11de-bb65-000c297cc8af}
  下列命令刪除存儲(chǔ)中指定的操作系統(tǒng)項(xiàng),并從顯示順序中刪除該項(xiàng):
    bcdedit /delete {fbc1dbf9-8bfe-11de-bb65-000c297cc8af} /cleanup
  下列命令刪除存儲(chǔ)中指定的操作系統(tǒng)項(xiàng),但不從顯示順序中刪除該項(xiàng):
    bcdedit /delete {fbc1dbf9-8bfe-11de-bb65-000c297cc8af} /nocleanup
  下列命令刪除存儲(chǔ)中基于 NTLDR 的 OS 加載器項(xiàng):
    bcdedit /delete {ntldr} /f
7、/set
設(shè)置引導(dǎo)配置數(shù)據(jù)存儲(chǔ)中的項(xiàng)選項(xiàng)值。
   Bcdedit /set
   下列命令將應(yīng)用程序設(shè)備設(shè)置到 C: 分區(qū):
    bcdedit /set {default} device partition=C:
   下列命令將操作系統(tǒng)設(shè)備設(shè)置到 VHD 文件(C:\vdisks\vdisk01.vhd)
    bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} osdevice vhd=[C:]\vdisks\disk01.vhd
   下列命令將應(yīng)用程序路徑設(shè)置到 \windows\system32\winload.exe
    bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path   \windows\system32\winload.exe
   下列命令將 NX 策略設(shè)置到 OptIn。
    bcdedit /set nx optin
   下列命令設(shè)置成以VGA啟動(dòng)
    bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} vga yes
   下列命令將{ntldr}啟動(dòng)描述設(shè)置為"啟動(dòng)Windows XP"
   bcdedit /set {ntldr} description "啟動(dòng)Windows XP"
 8、/deletue
   從啟動(dòng)配置數(shù)據(jù)存儲(chǔ)的項(xiàng)中刪除數(shù)據(jù)元素
   bcdedit /deletue {cbd971bf-b7b8-4885-951a-fa03044f5d71} vga
9、顯示W(wǎng)indows 7和Windows 2008 r2隱藏的BCD項(xiàng)目()
   用BCDedit顯示BCD數(shù)據(jù)庫(kù)的內(nèi)容,復(fù)制recoverysequence的GUID:{05ef5750-78da-11de-9f1a-fc76848d1136}(如前圖)
   接著輸入以下命令bcdedit /displayorder {05ef5750-78da-11de-9f1a-fc76848d1136} /addfirst
然后輸入bcdedit /v會(huì)發(fā)現(xiàn)顯示內(nèi)容多了一項(xiàng)。重啟Windows 7時(shí)就會(huì)在開(kāi)機(jī)菜單中出現(xiàn)Ramdisk Options選項(xiàng),這是Windows7集成的Windows Recovery Environment,該選項(xiàng)在系統(tǒng)修復(fù)/恢復(fù)是非常有用。
由于上圖中的啟動(dòng)項(xiàng)目其實(shí)是調(diào)用C:\Recovery\05ef5750-78da-11de-9f1a-fc76848d11
36\Winre.wim文件,所以我們可以用一個(gè)更為強(qiáng)大系統(tǒng)恢復(fù)文件替換這個(gè)文件(如DaRT6.0,Diagnostics and Recovery Toolset的使用這一篇博文中介紹了DaRT6.0光盤(pán)的生成方法,我們可以將這個(gè)ISO文件中的sources\boot.wim復(fù)制為C:\Recovery\05ef5750-78da-11de-9f1a-fc76848d11
36\Winre.wim。),這樣Windows Recovery Environment的功能會(huì)更為強(qiáng)大?。?!
10、使用truncatememory排除損壞的內(nèi)存單元
bcdedit /set {fbc1dbf9-8bfe-11de-bb65-000c297cc8af} truncatememory 536870912
設(shè)置{fbc1dbf9-8bfe-11de-bb65-000c297cc8af}以小于536870912內(nèi)存來(lái)啟動(dòng)系統(tǒng)。這樣可以用來(lái)測(cè)試內(nèi)存出現(xiàn)故障的范圍,同時(shí)可以用來(lái)進(jìn)午軟件測(cè)試。
11、快速添加系統(tǒng)菜單
  在一個(gè)多系統(tǒng)的環(huán)境,往往由于一些原因,會(huì)造成造成系統(tǒng)啟動(dòng)選擇菜單不全或者有誤,此時(shí)我們需要手動(dòng)添加系統(tǒng)菜單項(xiàng)。 
假設(shè)Windows XP系統(tǒng)安裝在C盤(pán)
  bcdedit /create {ntldr} /d "Microsoft Windows XP"
  bcdedit /set {ntldr} device partition=C:
  bcdedit /set {ntldr} path \ntldr
  bcdedit /displayorder {ntldr} /addfirst
 假設(shè)Windows 7安裝在C盤(pán)
  set id={cbd971bf-b7b8-4885-951a-fa03044f5d71}
  bcdedit /create %id% /d "Windows 7" /application osloader
  bcdedit /set %id% locale zh-cn
  bcdedit /set %id% device partition=C:
  bcdedit /set %id% osdevice partition=C:
  bcdedit /set %id% path \Windows\system32\winload.exe
  bcdedit /set %id% inherit {bootloadersettings}
  bcdedit /set %id% systemroot \windows
  bcdedit /set %id% nx OptOut
  bcdedit /displayorder %id% /addfirst

本文出自 “從心開(kāi)始” 博客,請(qǐng)務(wù)必保留此出處http://ycrsjxy.blog.51cto.com/618627/202948

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多