BCDEdit 启动项编辑器4 zz

http://bbs.wuyou.net/viewthread.php?tid=158454&pid=1867618&page=1&extra= 
 
 
9
写得很乱,大家凑合看了 
补充:今天才发现BCDEDIT不是纯DOS 命令。你必须在XP或者VISTA 中才能使用这个
命令。 
========================== 
bcdedit.exe 是vista 系统自带的一个命令行工具,用来定制 windows boot manager ,它位于
v:\windows\system32 目录下。bcdedit.exe 的功能强大,参数非常多,VistaBootPro和Easybcd
这类工具就是图形化的bcdedit ,它们实现的功能 bcdedit 都可以实现。在一些情况下,上述
工具无法达到目的,而bcdedit.exe 却能够得心应手。因此有必要对 bcdedit.exe 这个系统自
带的命令行工具进行了解。bcdedit.exe 的参数非常多,帮助文档有很复杂,很多人因此对它
弃而不用。但实际上大部分人只需掌握它的很少几个用法即可。 
下面我用一个实例来讲解bcdedit.exe 的常用功能。 
一个秘密:bcdedit 不但能对系统 bcd(boot configuration data)进行操作,它也能对文件 bcd 进
行操作。作为新手,你不应该去贸然改动你的系统bcd( 这很可能导致你丢失引导菜单甚至再
无法启动计算机)。因此,下面的实例中我只对一个文件bcd 进行操作,全部完成后再将该
文件bcd 导入到系统 bcd 中。对文件 bcd 和系统 bcd 的操作方法是完全一致的(实际上系统
bcd 也是一个文件,大家用 bcdedit 查看 c:\boot\bcd 的内容就知道了) 
操作环境:C 盘装xp ,D 盘装vista ,之后 c 盘的 xp 又被重装,因此原启动菜单丢失,现在
开机只能进xp 了。为了方便,我将 v:\windows\system32\bcdedit.exe 复制到了 c:\下,cmd 窗
口改变当前路径到c:\。预料的 bcd 信息应该是这样的 
Windows Boot Manager 
-------------------- 
Identifier:              {bootmgr} // 这个不是菜单,而是主入口,一个 BCD有且只有一个{bootmgr} 
Type:                      10100002 
Device:                      partition=C: //这个说明 BOOT MANAGER的BCD信息在 C 盘? 
Description:              Wolf Boot Manager 
Display order:       {ntldr}   //菜单项排列顺序,第一个菜单项 
                            {882e394a-f543-11db-8ee8-00105ccdeb8f} // 第二个菜单项 
Windows Legacy OS Loader 
------------------------ 
Identifier:              {ntldr}    //XP 它用NTLDR这个程序进行引导 
Type:                      10300006 
Device:                      partition=C: //XP 在C 盘 
Path:                      \ntldr    //引导程序是\ntldr 
Description:              Wolf XP    //该菜单显示的文字 
Windows Boot Loader 
------------------- 
Identifier:              {882e394a-f543-11db-8ee8-00105ccdeb8f} // 这串数字是计算机生成的,是唯
一的 
Type:                      10200003 
Device:                      partition=D: //VISTA在D 盘 
Path:                      \windows\system32\winload.exe  //VISTA 引导程序是
\windows\system32\winload.exe 
Description:              Wolf Vista //该菜单显示的文字 
Windows device:       partition=D:  
 
10
Windows root:              \windows 
简单讲解,上面只有 3 个入口(Entry) ,每个入口又有细分,最关键的是 Identifier ,很多人看
不明白 
在BCD中,每个入口的唯一标识就是这个 Identifier (简称Id )。 
上面有个三个Id : 
{bootmgr} 
{ntldr} 
{882e394a-f543-11db-8ee8-00105ccdeb8f} 
我们要修改已经生成的入口,必须指定其Id 。修改都是针对具体的 Id 进行的,后面我们会
看到 
为什么上面3 个Id 中,前两个不像最后一个也由一大串数字组成呢?这也是新手最容易误
解的原因。 
我只能告诉你{bootmgr}和{ntldr} 其实是保留的 Id ,其中{bootmgr}是一个合理的BCD中必
须有的ID,{ntldr} 这个ID则用来存放XP这一类的老系统的引导菜单信息。 
下面我们一步一步来生成上面的bcd 信息 
由于我们还没有一个文件bcd,因此我们先创建一个,命令如下 
bcdedit /createstore bcdwolf 
该命令创建一个空的bcd 文件c:\bcdwolf; 有了这个空 bcd 文件,我们就对它进行操作 
C:\>bcdedit /store c:\bcdwolf /create {ntldr} /d "Wolf XP" 
说明:如果在 bcdedit 后面不加这个 store 参数,则是对系统 bcd 进行操作;加了则是对指定
的文件bcd 进行操作。 
上述命令在c:\bcdwolf 文件的 BCD信息中创建菜单 Wo lf XP 
/store 参数指对 c:\bcdwolf 进行操作,而不是对系统bcd 
/create 参数指创建一个新菜单 
{ntldr} 是固定 ID,凡在 vista 之前的操作系统菜单都用这个 Id ,如果你需要创建一个能引导
XP的菜单项,就一定请用这个ID,不能指定为其他的或者像VISTA 菜单那样让计算机为
你生成随机ID 
/d 参数是指定该菜单显示的文字 
C:\>bcdedit /store c:\bcdwolf /create /d "Wolf Vista" /application osloader 
The entry {882e394a-f543-11db-8ee8-001 05ccdeb8f} was successfully created. 
创建菜单Wolf Vista 
由于是vista 系统的菜单,参数改变为/application osloader 
Vista和Vista之前的系统,菜单创建方式是不同的 
C:\>bcdedit /store c:\bcdwolf /create {bootmgr} /d "Wolf Boot Manager" 
The entry {bootmgr} was successfully created. 
创建{bootmgr}入口,这个是主入口,不是菜单,建立的所有菜单都在这个入口中管理 
C:\>bcdedit /store c:\bcdwolf /enum all 
显示我们创建的c:\bcdwolf 的内容 
Windows Boot Manager 
-------------------- 
Identifier:              {bootmgr} 
Type:                      10100002 
Description:              Wolf Boot Manager 
Windows Boot Loader 
 
11
------------------- 
Identifier:              {882e394a-f543-11db-8ee8-00105ccdeb8f} 
Type:                      10200003 
Description:              Wolf Vista 
Windows Legacy OS Loader 
------------------------ 
Identifier:              {ntldr} 
Type:                      10300006 
Description:              Wolf XP 
设置{bootmgr}入口的device 值 
C:\>bcdedit /store c:\bcdwolf /set {bootmgr} device partition=c: 
操作成功完成。 
设置{ntldr} 入口的 device 值, 这里实际是xp 所在分区,它在 c 盘 
C:\>bcdedit /store c:\bcdwolf /set {ntldr} device partition=c: 
操作成功完成。 
设置{ntldr} 入口的 path 值,这里指定引导程序所在路径,xp是在 c:\ntldr 
C:\>bcdedit /store c:\bcdwolf /set {ntldr} path \ntldr 
操作成功完成。 
设置{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: 
操作成功完成。 
设置{882e394a-f543-11db-8ee8-00105ccdeb8f} 入口的 path 值,应该在
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} 的菜单(即Wo lf Vista)追加到多重菜单的最
后 
C:\>bcdedit /store c:\bcdwolf /displayorder {882e394a-f543-11db-8ee8-00105ccdeb8f} /addlast 
操作成功完成。 
设置{882e394a-f543-11db-8ee8-00105ccdeb8f} 的windows device为d 盘 
C:\>bcdedit /store c:\bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} osdevice 
partition=d: 
操作成功完成。 
设置{882e394a-f543-11db-8ee8-00105ccdeb8f} 的windows root 为\windows 
C:\>bcdedit /store bcdwolf /set {882e394a-f543-11db-8ee8-00105ccdeb8f} systemroot \windows 
操作成功完成。 
查看结果 
C:\>bcdedit /store bcdwolf 
 
12
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 
再增加一点内容,设置等待时间为30 秒 
C:\>bcdedit /store bcdwolf /timeout 30 
操作成功完成。 
将{882e394a-f543-11db-8ee8-00105ccdeb8f} 设置为缺省菜单 
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 
------------------------ 
 
13
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导入系统 BCD 
bcdedit /import c:\bcdwolf 
你也可以备份系统BCD到文件 
bcdedit /export e:\bcdbak 
======================== 
整个过程是这样的: 
先用/create  创建3 个入口 
再用/set  设置每个入口下面具体的值,比如 device, path 等等 
最后用/displayorder  将建好的每个入口(菜单项)一个一个加入到引导菜单中 
其他还可以用/timeout  设置等待时间 
以及用/default  设置缺省菜单 
上面操作中的“入口” ,实际都是用花括号中的Id 来表示的 
================================== 
设置好系统BCD之后,重启计算机,并不能保证成功进行多重引导。因为BCD要起作用
还必须依赖于C:\BOOT 文件夹及C:\BOOTMGR这个文件。其中C:\BOOTMGR是真正的开
机引导程序,而C:\BOOT 文件夹中有一个名为BCD的文件(大家可以用bcdedit /store 
c:\boot\bcd /enum all 查看内容),以及一个FONT 子文件夹,里面含有字体文件,估计是用
于开机引导菜单的显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值