使用下面方法之前需要bcdedit.exe和bootsect.exe两个文件,bootsect.exe文件在vista和windows 7的安装光盘的boot目录下,而bcdedit.exe文件可以在安装了vista系统或者windows 7系统的电脑上的\windows\system32目录下获得,当然也可以使用imagex命令挂载vista或者windows 7安装光盘里source\install.wim文件,然后到windows\system32下也能找到bcdedit命令。至于imagex命令可以到微软官方下载WAIK工具包。

有3个入口(Entry),每个入口又有细分,最关键的是Identifier,在BCD中,每个入口的唯一标识就是这个Identifier(简称Id)。
共有个三个Id:
{bootmgr}
{ntldr}
{}

关于“/store”参数:
C:\>bcdedit /store c:\bcdwolf /create {ntldr} /d "XP"
说明:如果在bcdedit后面不加这个store参数,则是对系统bcd进行操作;加了则是对指定的文件bcd进行操作。

1、创建BCD数据库
将安装光盘上的boot文件夹和bootmgr文件一起复制到c盘,然后删除C:\Boot\bcd文件。
   进入bcdedit所在目录执行如下命令:
Bcdedit /createstore c:\BCD    //由于我们还没有一个文件bcd,因此我们先创建一个
bcdedit /import c:\bcd    //将c:\bcd还原到系统(即:c:\boot\),备份为/export
Bcdedit /create {bootmgr} /d "Boot Manager"   //创建{bootmgr}入口,这个是主入口,不是菜单,建立的所有菜单都在这个入口中管理
Bcdedit /set {bootmgr} device boot 
bcdedit /set {bootmgr} locale en-US    //可以不设置,默认为英文 (这一段参考了WAIK帮助文档)

2、添加Windows XP启动菜单:
bcdedit /create {ntldr} /d "1. Windows XP Professional"    //创建菜单“1. Windows XP Professional”
bcdedit /set {ntldr} path \ntldr   //设置{ntldr}入口的path值,这里指定引导程序所在路径,xp是在c:\ntldr
bcdedit /set {ntldr} device partition=c:    //设置{ntldr}入口的device值,这里实际是xp所在分区,它在c盘
bcdedit /displayorder {ntldr} -addlast   //将id为{ntldr}的菜单追加到多重菜单的最后

3、添加Windows 7启动菜单
Bcdedit /create /d "2. Windows Seven Ultimate Build 7057" -application osloader    //创建菜单
这条命令完后会返回一个GUID值,如:
The entry {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} was successfully created.
接下来{631fdc40-1b9a-11de-aa5e-0010c6ff6db9}这个GUID值就表示是Windows 7的菜单项。
Bcdedit /set {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} osdevice partition=E:    //设置{}的windows device为E盘
Bcdedit /set {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} device partition=E:    //设置{}入口的device值
Bcdedit /set {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} path \windows\system32\winload.exe   //设置{}入口的path值
Bcdedit /set {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} systemroot \windows    //设置{}的windows root为\windows
Bcdedit/displayorder {631fdc40-1b9a-11de-aa5e-0010c6ff6db9} -addlast    //将id为{}的菜单追加到多重菜单的最后

4、添加PE 1.0启动菜单
bcdedit /copy {ntldr} /d "3. Windows Preinstallation Enviroment 1.0"
//The entry {fcc0bdf0-1ba0-11de-aa5e-0010c6ff6db9} was successfully
bcdedit /set {fcc0bdf0-1ba0-11de-aa5e-0010c6ff6db9} path \LDRXPE
bcdedit /set {fcc0bdf0-1ba0-11de-aa5e-0010c6ff6db9} device partition=c:
bcdedit /displayorder {fcc0bdf0-1ba0-11de-aa5e-0010c6ff6db9} -addlast

5、设置默认的启动条目和选择时间
Bcdedit /default {631fdc40-1b9a-11de-aa5e-0010c6ff6db9}
bcdedit /timeout 7

6、修改启动参数模式
bootsect /nt60 c:

用bcdedit.exe重建bcd的更多相关文章

  1. [Solved]bcdedit.exe文件权限问题

    最近在项目开发过程中,要使用到C:\Windows\system32\bcdedit.exe 但是在使用过程中,发现了一个问题.在命令行下面使用bcdedit.exe,如果是以管理员方式运行的命令行就 ...

  2. UEFI下win10+Ubuntu双启动后完全纯净卸载Ubuntu,重建BCD

    以下内容操作具有风险,操作前请提前备份数据.建议由有丰富经验的人使用,需要掌握diskpart. 背景 使用ubuntu+win10 dual boot后,需要重置回纯净win10系统. BCD是Bo ...

  3. GRUB4DOS入门

    目 录 第1章 GRUB4DOS入门    1 1.1 用途    1 1.2 安装    1 1.2.1 修改MBR    1 1.2.2 修改PBR    3 1.2.3 DOS    4 1.2 ...

  4. bcdedit

    我的电脑装了双系统:Win2003 SP2(C盘)和Win2008 SP2(D盘),最近2003一启动就蓝屏unknown hard error,安全模式也进不去,恢复注册表等方法试过也不行,但200 ...

  5. BCDedit 研究

    bcdedit的研究 系统引导安装 2009-11-12 22:21:13 阅读13 评论0 字号:大中小 首先说明下引导: 微软在Vista之前的系统,采用的是Ntldr来进行引导系统,使用的是bo ...

  6. bcdedit的研究

    首先说明下引导: 微软在Vista之前的系统,采用的是Ntldr来进行引导系统,使用的是boot.ini文件. 在目前的Vista和win7中,采用的是新的引导方式Windows Boot Manag ...

  7. 直接用bcdedit创建bootmgr数据库和修复启动菜单

    直接用bcdedit创建bootmgr数据库和修复启动菜单 使用下面方法之前需要bcdedit和bootsect两条命令,这两条命令可以到vista或者windows 7安装光盘上获得.bootsec ...

  8. win10 bcdedit testsigning

    win10 bcdedit testsigning # 禁用系统完整性检查和禁用驱动签名以及进入测试签名驱动模式> bcdedit.exe /set nointegritychecks on & ...

  9. bcdedit 替代easybcd 编辑grub

    bcdedit这个命令是win7下,继续安装xubuntu时遇到的.当时xubuntu的语言设置为en-us,时区改为HK,可是仍有很多不太适应的地方.于是,删了xubuntu,重装它.同时,grub ...

随机推荐

  1. ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

    下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...

  2. 【Unicode编码表】UniCode编码表+转化器

    UniCode编码表[转载:https://www.cnblogs.com/csguo/p/7401874.html] Unicode编码则是采用双字节16位来进行编号,可编65536字符,基本上包含 ...

  3. CloudStack 4.0.2 vRouter导致重启后状态不正常

    最近总玩CloudStack + KVM,发现在重启CloudStack服务后,host(kvm)的状态老是为alert.日志里出现如下错误提示: ERROR [agent.manager.Agent ...

  4. Python的__getattribute__ vs __getattr__的妙用

    这里的属性即包括属性变量,也包括属性方法.即类的变量和方法. 当访问某个实例属性时, getattribute会被无条件调用,如未实现自己的getattr方法,会抛出AttributeError提示找 ...

  5. 一个Loading 遮罩效果

    1.需要两个DIV,一个用来遮罩,另一个用来显示Loading图片和文字(初始时它们是隐藏的) .gdiv_over { display: none; position: absolute; top: ...

  6. IOS UITableView删除功能

    UITbableView作为列表展示信息,除了展示的功能,有时还会用到删除,比如购物车等.删除功能可以直接使用系统自带的删除功能,当横向轻扫cell时,右侧出现红色的删除按钮,点击删除当前cell. ...

  7. 解决 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile)

    在项目构建的时候遇到了这样的问题:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile ...

  8. 小课堂week17 编程范式巡礼第二季 并发那些事

    编程范式巡礼第二季 并发那些事 继续上周的编程范式话题,今天想聊一下并发范式. 并发也算一种范式? 真正的并发式编程,绝不只是调用线程API或使用synchronized.lock之类的关键字那么简单 ...

  9. RHEL7.0 配置网络IP的三种方法

    导读 RHEL7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式. en代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编 ...

  10. 转:Mac OS X下Sublime Text (V2.0.1)破解

    Mac OS X下Sublime Text (V2.0.1)破解 Mac OS X下Sublime Text (V2.0.1)破解 (2013-03-07 14:02:54) 转载▼     正版的买 ...