使用windows 7 bcdedit.exe(启动管理器)创建BCD文件教程

bcdedit 信息解读、创建编辑系统BCD实战

(1)简单查看一下自己的系统BCD信息我们就可以发现,列出的bcd信息类似是这样的,后面的//注释是简单的说明:

Windows Boot Manager
——————–
Identifier: {bootmgr} //这个不是菜单,而是主入口,一个BCD有且只有一个{bootmgr}
Type: 10100002
Device: partition=C: //这个说明BOOT MANAGER的BCD信息在C盘?
Description: Wolf Boot Manager
Display order: {ntldr} //第一个菜单项 (菜单项排列顺序)
{b685c03f-874e-11de-8e16-b72c70d5bf2f} //第二个菜单项
Windows Legacy OS Loader
————————
Identifier: {ntldr} //XP它用NTLDR这个程序进行引导
Type: 10300006
Device: partition=C: //XP在安装在C盘
Path: \ntldr //XP引导程序是\ntldr
Description: Jackq XP //该该启动选择菜单显示的文字
Windows Boot Loader
——————-
Identifier: {b685c03f-874e-11de-8e16-b72c70d5bf2f} //花括号中的数字是计算机随机生成的,是唯一的
Type: 10200003
Device: partition=D: //VISTA在安装在D盘
Path: \windows\system32\winload.exe //VISTA引导程序是\windows\system32\winload.exe
Description: Jackq Vista //该启动选择菜单显示的文字
Windows device: partition=D:
Windows root: \windows

每个BCD选择菜单的唯一标识就是一个用{}括起来的字符串, 即Identifier(简称Id)。
可以看到类似上面这样的标识符:
{bootmgr}
{ntldr}
{current}
{b685c03f-874e-11de-8e16-b72c70d5bf2f}

为什么上面4个Id中,前两个不像最后一个也由一大串数字组成呢?这也是新手最容易误解的原因。
{bootmgr}和{ntldr}其实是系统保留的Id,其中{bootmgr}是一个标准的BCD中必须有的ID,{ntldr}这个ID则用来存放windows XP这一类比较旧的操作系统的引导菜单信息。作为新手,如果你对bcdedit不时很了解,你不应该去贸然改动你的系统bcd(这很可能导致你丢失引导菜单甚至再无法启动计算机)。建议改动系统BCD之前最好先备份一份,这不但是个好习惯,也会在最糟糕的情况下减少您的损失,确保万一。

(2)因此,下面的实例中我只对一个bcd文件进行操作,全部完成后将该文件bcd还原(导入)到当前操作系统bcd中。

对文件bcd和系统bcd的操作方法是完全一致的(唯一不同的是使用 /store 参数来指对文件bcd进行操作,而不会改变当前系统bcd信息)。创建BCD文件的思路是这样的:先用/create 参数创建3个入口 (下面操作中的“入口”,实际都是用{}花括号中的Id来表示的),再用/set 设置每个入口下面具体的值,比如device, path等等,最后用/displayorder 将建好的每个入口(菜单项)一个一个加入到引导菜单中,其他还可以用/timeout 设置等待时间以及用/default 参数设置缺省菜单。

1)首先我们先创建一个新的bcd文件,命令如下
bcdedit /createstore E:\newbcd
该命令创建一个空的bcd文件E:\newbcd,

2)bcdedit /store E:\newbcd /create {ntldr} /d “Windows XP sp3″
说明:如果在bcdedit后面不加这个store参数,则是对系统bcd进行操作;加了则是对指定的文件bcd进行操作。
上述命令在E:\newbcd文件的BCD信息中创建菜单Windows XP sp3

3)使用/create参数指创建一个新菜单
{ntldr}是固定ID,凡在vista之前的操作系统菜单都用这个Id,如果你需要创建一个能引导XP的菜单项,就一定请用这个ID,不能指定为其他的或者像VISTA菜单那样让计算机为你生成随机ID
/d参数是指定该菜单显示的文字

4)bcdedit /store E:\newbcd /create /d “Windows Vista” /application osloader
项 {c91b3c76-2c13-11df-9104-005056c00008} 成功创建。
创建菜单Windows Vista,由于是Windows Vista系统的菜单,参数改变为/application osloader
Vista和Vista之前的系统,菜单创建方式是不同的

5)bcdedit /store E:\newbcd /create {bootmgr} /d “Jcckq Boot Manager”
项 {bootmgr} 成功创建。
创建{bootmgr}入口,这个是主入口,不是菜单,建立的所有菜单都在这个入口中管理

6)bcdedit /store E:\newbcd /enum all
显示我们创建的E:\newbcd的内容

Windows 启动管理器
——————–
标识符 {bootmgr}
description Jcckq Boot Manager
Windows 启动加载器
——————-
标识符 {c91b3c76-2c13-11df-9104-005056c00008}
description Windows Vista
Windows 旧 OS 加载器
————————
标识符 {ntldr}
description Windows XP sp3

7)设置{bootmgr}入口的device值
bcdedit /store E:\newbcd /set {bootmgr} device partition=c:
操作成功完成。

8)设置{ntldr}入口的device值,这里实际是xp所在分区,它在c盘
bcdedit /store E:\newbcd /set {ntldr} device partition=c:
操作成功完成。

9)设置{ntldr}入口的path值,这里指定引导程序所在路径,xp是在c:\ntldr
bcdedit /store E:\newbcd /set {ntldr} path \ntldr
操作成功完成。

10)设置{c91b3c76-2c13-11df-9104-005056c00008}入口的device值
说明:{c91b3c76-2c13-11df-9104-005056c00008}是菜单“Windows Vista”的全局Id,这个Id是自动生成的,vista在d盘
bcdedit /store E:\newbcd /set {c91b3c76-2c13-11df-9104-005056c00008} device partition=d:
操作成功完成。

11)设置{c91b3c76-2c13-11df-9104-005056c00008}入口的path值,应该在d:\windows\system32\winload.exe
bcdedit /store E:\newbcd /set {c91b3c76-2c13-11df-9104-005056c00008} path \windows\system32\winload.exe
操作成功完成。

12)将id为{ntldr}的菜单追加到多重系统启动菜单的最后
bcdedit /store E:\newbcd /displayorder {ntldr} /addlast
操作成功完成。

13)将id为{c91b3c76-2c13-11df-9104-005056c00008}的菜单(Windows Vista)追加到多重菜单的最后
bcdedit /store E:\newbcd /displayorder {c91b3c76-2c13-11df-9104-005056c00008} /addlast
操作成功完成。

14)设置{c91b3c76-2c13-11df-9104-005056c00008}的windows device为d盘
bcdedit /store E:\newbcd /set {c91b3c76-2c13-11df-9104-005056c00008} osdevice partition=d:
操作成功完成。

15)设置{882e394a-f543-11db-8ee8-00105ccdeb8f}的windows root为\windows
bcdedit /store E:\newbcd /set {c91b3c76-2c13-11df-9104-005056c00008} systemroot \windows
操作成功完成。

16)设置等待时间为30秒
bcdedit /store E:\newbcd /timeout 30
操作成功完成。

17)将{c91b3c76-2c13-11df-9104-005056c00008}设置为缺省菜单
bcdedit /store E:\newbcd /default {c91b3c76-2c13-11df-9104-005056c00008}
操作成功完成。

18)查看最后结果
bcdedit /store E:\newbcd

Windows 启动管理器
——————–
标识符 {bootmgr}
device partition=C:
description Jcckq Boot Manager
default {default}
displayorder {ntldr}
{default}
timeout 30
Windows 旧 OS 加载器
————————
标识符 {ntldr}
device partition=C:
path \ntldr
description Windows XP sp3
Windows 启动加载器
——————-
标识符 {default}
device partition=D:
path \windows\system32\winload.exe
description Windows Vista
osdevice partition=D:
systemroot \windows

——————————————————————————————
PS:
1.要修改已经生成的入口,必须指定其Id。修改都是针对具体的Id进行的,制作BCD文件中途可随时查看删除制作的BCD文件。
2.制作好好BCD文件之后,/import 还原启动配置数据文件重启计算机就能应用新的bcd文件了 。
3.VistaBootPro和Easybcd这类工具就是图形化的bcdedit,它们实现的功能bcdedit都可以实现。在一些情况下,上述工具无法达到目的,而bcdedit.exe却能够得心应手。因此有必要对bcdedit.exe这个系统自带的命令行工具进行了解。
4.如果要了解bcdedit的一些基本语法,可以参见windows 7 bcdedit.exe(启动管理器)知识和常用语法讲解

声明: 本站遵循 知识共享署名-非商业协议CC2.5 共享协议. 转载请注明转自 杰趣网志
保存本页为PDF文档

有 1 条评论 您有什么意见?

  1. 智达互联(http://www.zhida265.com)是国内著名的虚拟主机和域名注册提供商,免费试用,
    免费终身服务,免费数据库,稳定、安全、高速的虚拟主机!经5年经营,拥有1万余家客户,
    名列全国10强。独创的第6代虚拟主机管理系统,拥有在线数据恢复、Isapi自定义,
    木马查杀等30余项领先功能.千M硬件防火墙,为您保驾护航!
    双线虚拟主机确保南北畅通无阻!

欢迎您在本站发表您的意见或见解!求提高!