创建和删除win7/vista下的启动引导项 - BCD编辑器简介

注:本文转自:   http://www.lucky8k.com/thread-76961-1-1.html ,感谢原作者的辛苦劳动成果。

 

        我是在自己的win7家庭版下试用BCD编辑器的,vista我没有用过。但是,从网上的文章看,vista的BCD引导器和win7是基本一样的。所以,希望本文也能给使用vista的网友提供一些帮助。

1. 什么是BCD,什么是BCD编辑器
BCD是Boot Configuration Date的英文缩写,直译就是引导配置数据,微软从Windows Vista开始使用这个引导系统。系统的引导数据就存储在BCD中。
而BCD编辑器是一个exe的程序 - bcdedit.exe,就放在c:/windows/system32/目录下面。它的作用是编辑修改引导配置数据,是个高级命令行工具。我们在win7上引导veket就要使用这个工具把veket引导信息输入到BCD里去。

2.BCD编辑器的简单使用

(1)查看系统中现存引导项
在系统菜单的“附件”中找到“命令提示符”一项,把鼠标光标移上去,点鼠标右键开右键菜单,选择“以管理员身份运行”。一个命令行终端就被打开了,通常我们称之为DOS窗口。
此时,命令行提示符是这样的:
c:/windows/system32>
表示目前我们在system32目录下,不要改动,就在这个目录下运行bcdedit.exe,换个目录可能就不能运行了。
键入:
c:/windows/system32>bcdedit
这个命令是查看目前系统中存在的引导项。如果你只有一个win7系统,那么会出现两个项目:
 
Windows启动管理器和Windows启动加载器。工作原理是Windows启动管理器调用启动加载器,然后启动加载器用winload.exe引导win7。

如果,你已经成功地添加了其他系统的启动项,在这里都会有显示。例如,我添加了veket的启动项,那么在前面两项的后面会紧跟:

上图中的实模式启动扇区下就是veket的启动项。
一共有4行。
第一行 标识符:后面花括弧里的数字就是veket启动项的字符串标识符。
第二行 device:partition=c: 表示开机后从c盘找引导内容
第三行 path: /grldr.mbr表示引导时从c盘的根目录找grldr.mbr文件来引导veket。
第四行 description “Grub4Dos”,这个是在开机时看到的引导项的文字,这个在设置引导项时是可以自己写的,你改成veket也行。

bcdedit有很多功能,有兴趣的同学可以在命令行键入“help bcdedit”自己学习,写得很清楚,如果是中文win7的话,里面的说明文字也是中文的。
对于bcdedit所使用的各种参数的具体选项,可以用打类似这样的指令来获得帮助信息:
bcdedit/displayorder /?
这条是显示/displayorder这个参数具体的选项,同样是中文的,很容易懂。

(2)备份和恢复引导数据
写本文的目的是引导veket系统,所以,我也只介绍备份创建删除这些用得着的操作。
备份BCD还是需要打开命令行终端(“命令提示符”),选择“以管理员身份运行”。
备份BCD(win7的引导数据库)只有一条指令:
bcdedit /export "输出路径/文件名"
后面的输出路径和文件名你可以自己写,随便指定一个你认为好找的目录,文件名也可以自己起。
如果需要恢复以前的BCD,
i)在win7下,可以输入如下指令:
bcdedit /import "输出目录/文件名"
“输出目录/文件名”是你放备份BCD的目录和文件名。
ii)如果在veket下,那就比较简单。直接把你备份的BCD文件复制到c:/boot/下面,改名为“BCD”。原来的BCD文件你删除也好,移走也行。

(3)创建引导项
创建引导项要用到三个参数:
/create : 这个参数是用来在存储中新建一个项
/set :这个参数用来设置存储中的项的选项值(有点拗口哈)。
/displayorder :用来设置启动时显示的多重引导菜单的上下顺序。

具体到指令过程就是:

bcdedit /create /d "Grub4Dos" /application bootsector
创建一个新的启动项,菜单显示为引号中的文字。
/application 是/create选项的子选项,表示新创建的项是应用程序项,而应用程序的类型是后面的bootsector。具体还有哪些选项,可以打“bcdedit /create /?” 来查看。
指令输入以后,项就被创建了,系统会告诉你这个新创建的项的字符串标识符,就是{8a783f2d-c175-11de-bd5a-894479f52fd1}这种。就是我在(1)里面给出的总共4行里面的第一行,标识符。

接下来就要给这个新创建的项赋予选项值。
bcdedit /set {id} device partition=C:
bcdedit /set {id} path /grldr.mbr

这两行就是我在(1)里说的4行里面的中间两行。其内容是用这两条指令输入进BCD里面去的。{id}里的id就是字符串标识符。

最后,决定开机显示菜单的顺序:
bcdedit /displayorder {id} /addlast
这条指令把我设置的启动项放在现有启动项的最后。
如果用“/addfirst”,那么这个“Grub4Dos”的菜单项就会放在现有启动项的最前面。如果有的同学希望开机默认进入veket而不是win7,就可以打addfirst。
如果选项打“/remove”,如果你已经输入过上面那条指令,指定了显示顺序,那么再打一次指令用remove选项,该启动项就不会出现在开机菜单里。如果你根本就没有打过指定过顺序的指令,那么打remove是没有用的。

(4)删除启动项
在摸索bcdedit的过程中,我无数次地创建启动项,尝试参数,胡乱玩了一通。我这么做是有恃无恐的,因为删除启动项非常容易。
首先,打一个“bcdedit”看一下现存的启动项。找到我要删除那一项的标识符,例如,我要删除“Grub4Dos”这项,从上面的图看,标识符是
{8a783f41-c175-11de-bd5a-894479f52fd1}
把这串东西复制粘贴到写字板,编辑好指令,然后在终端输入:
bcdedit /delete {8a783f41-c175-11de-bd5a-894479f52fd1}
这个启动项就彻底删除了。什么都不会剩下。
注意:删除启动项一定要小心再小心!!标识符一定要看仔细,确认是你需要删除的启动项,千万不要删掉有用的启动项,如果你稀里糊涂把win7的启动项删除了,那就麻烦大了。

总体来说,创建和删除BCD启动项是比较简单的,不需要太多专业知识,只要细心一点,应该都能做成。

你可能感兴趣的:(WinSystem)