bcdedit简介
bcdedit.exe是vista/win7系統(tǒng)自帶的一個命令行工具,用來定制windows boot manager,它位于v:\windows\system32目錄下。bcdedit.exe的功能強(qiáng)大,參數(shù)非常多,VistaBootPro和Easybcd這類工具就是圖形化的bcdedit,它們實(shí)現(xiàn)的功能bcdedit都可以實(shí)現(xiàn)。在一些情況下,上述工具無法達(dá)到目的,而bcdedit.exe卻能夠得心應(yīng)手。因此有必要對bcdedit.exe這個系統(tǒng)自帶的命令行工具進(jìn)行了解。bcdedit.exe的參數(shù)非常多,幫助文檔有很復(fù)雜,很多人因此對它棄而不用。但實(shí)際上大部分人只需掌握它的很少幾個用法即可。
下面我用一個實(shí)例來講解bcdedit.exe的常用功能。
一個秘密:bcdedit不但能對系統(tǒng)bcd(boot configuration data)進(jìn)行操作,它也能對文件bcd進(jìn)行操作。作為新手,你不應(yīng)該去貿(mào)然改動你的系統(tǒng)bcd(這很可能導(dǎo)致你丟失引導(dǎo)菜單甚至再無法啟動計(jì)算機(jī))。因此,下面的實(shí)例中我只對一個文件bcd進(jìn)行操作,全部完成后再將該文件bcd導(dǎo)入到系統(tǒng)bcd中。對文件bcd和系統(tǒng)bcd的操作方法是完全一致的(實(shí)際上系統(tǒng)bcd也是一個文件,大家用bcdedit查看c:\boot\bcd的內(nèi)容就知道了)
操作環(huán)境:C盤裝xp,D盤裝vista,之后c盤的xp又被重裝,因此原啟動菜單丟失,現(xiàn)在開機(jī)只能進(jìn)xp了。為了方便,我將v:\windows\system32\bcdedit.exe復(fù)制到了c:\下,cmd窗口改變當(dāng)前路徑到c:\。預(yù)料的bcd信息應(yīng)該是這樣的
Windows Boot Manager
--------------------
Identifier:? ?? ?? ? {bootmgr} //這個不是菜單,而是主入口,一個BCD有且只有一個{bootmgr}
Type:? ?? ?? ?? ?? ? 10100002
Device:? ?? ?? ?? ?? ???partition=C: //這個說明BOOT MANAGER的BCD信息在C盤?
Description:? ?? ?? ? Wolf Boot Manager
Display order:? ?? ? {ntldr}? ?//菜單項(xiàng)排列順序,第一個菜單項(xiàng)
? ?? ?? ?? ?? ?? ?? ?{882e394a-f543-11db-8ee8-00105ccdeb8f} //第二個菜單項(xiàng)
Windows Legacy OS Loader
------------------------
Identifier:? ?? ?? ? {ntldr}? ?//XP它用NTLDR這個程序進(jìn)行引導(dǎo)
Type:? ?? ?? ?? ?? ? 10300006
Device:? ?? ?? ?? ?? ???partition=C: //XP在C盤
Path:? ?? ?? ?? ?? ? \ntldr? ?//引導(dǎo)程序是\ntldr
Description:? ?? ?? ? Wolf XP? ?//該菜單顯示的文字
Windows Boot Loader
-------------------
Identifier:? ?? ?? ? {882e394a-f543-11db-8ee8-00105ccdeb8f} //這串?dāng)?shù)字是計(jì)算機(jī)生成的,是唯一的
Type:? ?? ?? ?? ?? ? 10200003
Device:? ?? ?? ?? ?? ???partition=D: //VISTA在D盤
Path:? ?? ?? ?? ?? ? \windows\system32\winload.exe //VISTA引導(dǎo)程序是\windows\system32\winload.exe
Description:? ?? ?? ? Wolf Vista //該菜單顯示的文字
Windows device:? ?? ? partition=D:
Windows root:? ?? ?? ???\windows
簡單講解,上面只有3個入口(Entry),每個入口又有細(xì)分,最關(guān)鍵的是Identifier,很多人看不明白
在BCD中,每個入口的唯一標(biāo)識就是這個Identifier(簡稱Id)。
上面有個三個Id:
{bootmgr}
{ntldr}
{882e394a-f543-11db-8ee8-00105ccdeb8f}
我們要修改已經(jīng)生成的入口,必須指定其Id。修改都是針對具體的Id進(jìn)行的,后面我們會看到
為什么上面3個Id中,前兩個不像最后一個也由一大串?dāng)?shù)字組成呢?這也是新手最容易誤解的原因。
我只能告訴你{bootmgr}和{ntldr}其實(shí)是保留的Id,其中{bootmgr}是一個合理的BCD中必須有的ID,{ntldr}這個ID則用來存放XP這一類的老系統(tǒng)的引導(dǎo)菜單信息。
下面我們一步一步來生成上面的bcd信息
由于我們還沒有一個文件bcd,因此我們先創(chuàng)建一個,命令如下
bcdedit /createstore bcdwolf
該命令創(chuàng)建一個空的bcd文件c:\bcdwolf;有了這個空bcd文件,我們就對它進(jìn)行操作
C:\>bcdedit /store c:\bcdwolf /create {ntldr} /d "Wolf XP"
說明:如果在bcdedit后面不加這個store參數(shù),則是對系統(tǒng)bcd進(jìn)行操作;加了則是對指定的文件bcd進(jìn)行操作。
上述命令在c:\bcdwolf文件的BCD信息中創(chuàng)建菜單Wolf XP
/store參數(shù)指對c:\bcdwolf進(jìn)行操作,而不是對系統(tǒng)bcd
/create參數(shù)指創(chuàng)建一個新菜單
{ntldr}是固定ID,凡在vista之前的操作系統(tǒng)菜單都用這個Id,如果你需要創(chuàng)建一個能引導(dǎo)XP的菜單項(xiàng),就一定請用這個ID,不能指定為其他的或者像VISTA菜單那樣讓計(jì)算機(jī)為你生成隨機(jī)ID
/d參數(shù)是指定該菜單顯示的文字
C:\>bcdedit /store c:\bcdwolf /create /d "Wolf Vista" /application osloader
The entry {882e394a-f543-11db-8ee8-00105ccdeb8f} was successfully created.
創(chuàng)建菜單Wolf Vista
由于是vista系統(tǒng)的菜單,參數(shù)改變?yōu)?application osloader
Vista和Vista之前的系統(tǒng),菜單創(chuàng)建方式是不同的
C:\>bcdedit /store c:\bcdwolf /create {bootmgr} /d "Wolf Boot Manager"
The entry {bootmgr} was successfully created.
創(chuàng)建{bootmgr}入口,這個是主入口,不是菜單,建立的所有菜單都在這個入口中管理
C:\>bcdedit /store c:\bcdwolf /enum all
顯示我們創(chuàng)建的c:\bcdwolf的內(nèi)容
Windows Boot Manager
--------------------
Identifier:? ?? ?? ? {bootmgr}
Type:? ?? ?? ?? ?? ? 10100002
Description:? ?? ?? ? Wolf Boot Manager
Windows Boot Loader
-------------------
Identifier:? ?? ?? ? {882e394a-f543-11db-8ee8-00105ccdeb8f}
Type:? ?? ?? ?? ?? ? 10200003
Description:? ?? ?? ? Wolf Vista
Windows Legacy OS Loader
------------------------
Identifier:? ?? ?? ? {ntldr}
Type:? ?? ?? ?? ?? ? 10300006
Description:? ?? ?? ? Wolf XP
設(shè)置{bootmgr}入口的device值
C:\>bcdedit /store c:\bcdwolf /set {bootmgr} device partition=c:
操作成功完成。
設(shè)置{ntldr}入口的device值,這里實(shí)際是xp所在分區(qū),它在c盤
C:\>bcdedit /store c:\bcdwolf /set {ntldr} device partition=c:
操作成功完成。
設(shè)置{ntldr}入口的path值,這里指定引導(dǎo)程序所在路徑,xp是在c:\ntldr
C:\>bcdedit /store c:\bcdwolf /set {ntldr} path \ntldr
操作成功完成。
設(shè)置{882e394a-f543-11db-8ee8-00105ccdeb8f}入口的device值
說明:{882e394a-f543-11db-8ee8-00105ccdeb8f}是菜單“Wolf Vista”的全局Id,這個Id是自動生成的,vista在d盤
C:\>bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} device partition=d:
操作成功完成。
設(shè)置{882e394a-f543-11db-8ee8-00105ccdeb8f}入口的path值,應(yīng)該在d:\windows\system32\winload.exe
C:\>bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} path \windows\system32\winload.exe
操作成功完成。
將id為{ntldr}的菜單追加到多重菜單的最后
C:\>bcdedit /store c:\bcdwolf /displayorder {ntldr} /addlast
操作成功完成。
將id為{882e394a-f543-11db-8ee8-00105ccdeb8f}的菜單(即Wolf Vista)追加到多重菜單的最后
C:\>bcdedit /store c:\bcdwolf /displayorder {882e394a-f543-11db-8ee8-00105ccdeb8f} /addlast
操作成功完成。
設(shè)置{882e394a-f543-11db-8ee8-00105ccdeb8f}的windows device為d盤
C:\>bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} osdevice partition=d:
操作成功完成。
設(shè)置{882e394a-f543-11db-8ee8-00105ccdeb8f}的windows root為\windows
C:\>bcdedit /store bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} systemroot \windows
操作成功完成。
查看結(jié)果
C:\>bcdedit /store bcdwolf
Windows Boot Manager
--------------------
Identifier:? ?? ?? ? {bootmgr}
Type:? ?? ?? ?? ?? ? 10100002
Device:? ?? ?? ?? ?? ???partition=C:
Description:? ?? ?? ? Wolf Boot Manager
Display order:? ?? ? {ntldr}
? ?? ?? ?? ?? ?? ?? ?{882e394a-f543-11db-8ee8-00105ccdeb8f}
Windows Legacy OS Loader
------------------------
Identifier:? ?? ?? ? {ntldr}
Type:? ?? ?? ?? ?? ? 10300006
Device:? ?? ?? ?? ?? ???partition=C:
Path:? ?? ?? ?? ?? ? \ntldr
Description:? ?? ?? ? Wolf XP
Windows Boot Loader
-------------------
Identifier:? ?? ?? ? {882e394a-f543-11db-8ee8-00105ccdeb8f}
Type:? ?? ?? ?? ?? ? 10200003
Device:? ?? ?? ?? ?? ???partition=D:
Path:? ?? ?? ?? ?? ? \windows\system32\winload.exe
Description:? ?? ?? ? Wolf Vista
Windows device:? ?? ? partition=D:
Windows root:? ?? ?? ???\windows
再增加一點(diǎn)內(nèi)容,設(shè)置等待時(shí)間為30秒
C:\>bcdedit /store bcdwolf /timeout 30
操作成功完成。
將{882e394a-f543-11db-8ee8-00105ccdeb8f}設(shè)置為缺省菜單
C:\>bcdedit /store bcdwolf /default {882e394a-f543-11db-8ee8-00105ccdeb8f}
操作成功完成。
最后來看看
C:\>bcdedit /store bcdwolf
Windows Boot Manager
--------------------
Identifier:? ?? ?? ? {bootmgr}
Type:? ?? ?? ?? ?? ? 10100002
Device:? ?? ?? ?? ?? ???partition=C:
Description:? ?? ?? ? Wolf Boot Manager
Default:? ?? ?? ?? ? {default}
Display order:? ?? ? {ntldr}
? ?? ?? ?? ?? ?? ?? ?{default}
Timeout:? ?? ?? ?? ? 30
Windows Legacy OS Loader
------------------------
Identifier:? ?? ?? ? {ntldr}
Type:? ?? ?? ?? ?? ? 10300006
Device:? ?? ?? ?? ?? ???partition=C:
Path:? ?? ?? ?? ?? ? \ntldr
Description:? ?? ?? ? Wolf XP
Windows Boot Loader
-------------------
Identifier:? ?? ?? ? {default}
Type:? ?? ?? ?? ?? ? 10200003
Device:? ?? ?? ?? ?? ???partition=D:
Path:? ?? ?? ?? ?? ? \windows\system32\winload.exe
Description:? ?? ?? ? Wolf Vista
Windows device:? ?? ? partition=D:
Windows root:? ?? ?? ???\windows
=======================================
你可以將文件BCD導(dǎo)入系統(tǒng)BCD
bcdedit /import c:\bcdwolf
你也可以備份系統(tǒng)BCD到文件
bcdedit /export e:\bcdbak
========================
整個過程是這樣的:
先用/create 創(chuàng)建3個入口
再用/set 設(shè)置每個入口下面具體的值,比如device, path等等
最后用/displayorder 將建好的每個入口(菜單項(xiàng))一個一個加入到引導(dǎo)菜單中
其他還可以用/timeout 設(shè)置等待時(shí)間
以及用/default 設(shè)置缺省菜單
上面操作中的“入口”,實(shí)際都是用花括號中的Id來表示的
==================================
設(shè)置好系統(tǒng)BCD之后,重啟計(jì)算機(jī),并不能保證成功進(jìn)行多重引導(dǎo)。因?yàn)锽CD要起作用還必須依賴于C:\BOOT文件夾及C:\BOOTMGR這個文件。其中C:\BOOTMGR是真正的開機(jī)引導(dǎo)程序,而C:\BOOT文件夾中有一個名為BCD的文件(大家可以用bcdedit /store c:\boot\bcd /enum all查看內(nèi)容),以及一個FONT子文件夾,里面含有字體文件,估計(jì)是用于開機(jī)引導(dǎo)菜單的顯示。
用微信??“掃一掃”
將文章分享到朋友圈。
用易信??“掃一掃”
將文章分享到朋友圈。
喜歡 推薦 轉(zhuǎn)載歷史上的今天
最近讀者
熱度
關(guān)閉 玩LOFTER,免費(fèi)沖印20張照片,人人有獎!? ? ? ? ? 我要搶>評論
this.p={ m:2,b:2,loftPermalink:'',id:'fks_087071093095087075081083<wbr>087069072087089064081087<wbr>095064084094',blogTitle:'bcdedit簡介',blogAbstract:' bcdedit.exe是vista/win7系統(tǒng)自帶的一個命令行工具,用來定制windows boot manager,它位于v:\\windows\\system32目錄下。bcdedit.exe的功能強(qiáng)大,參數(shù)非常多,VistaBootPro和Easybcd這類工具就是圖形化的bcdedit,它們實(shí)現(xiàn)的功能bcdedit都可以實(shí)現(xiàn)。在一些情況下,上述工具無法達(dá)到目的,而bcdedit.exe卻能夠得心應(yīng)手。因此有必要對bcdedit.exe這個系統(tǒng)自帶的命令行工具進(jìn)行了解。bcdedit.exe的參數(shù)非常多,幫助文檔有很復(fù)雜,很多人因此對它棄而不用。但實(shí)際上大部分人只需掌握它的很少幾個用法即可。
下面我用一個實(shí)例來講解bcdedit.exe的常用功能。
一個秘密:bcdedit不但能對系統(tǒng)bcd(boot configuration data)進(jìn)行操作
總結(jié)
- 上一篇: 暗黑破坏神3 夺魂之镰曝光“威斯特玛”城
- 下一篇: 战神笔记本电脑自带access吗_战神G