使用下面方法之前需要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. Use an LM317 as 0 to 3V adjustable regulator

    Most engineers know that they can use an inexpensive, three-terminal adjustable regulator, such as F ...

  2. MySQL 自动添加DateTime

    数据库表里有个AddDate字段,DateTime类型,不能为空,添加记录时自动添加当前时间. 以前用MSSQL 在默认值写个 getdate()  就OK! MySQL写这个报错啊,迷糊! 查了一下 ...

  3. windows系统上安装与使用Android NDK r8d(二)

    四.    在eclipse中集成c/c++开发环境    1. 装Eclipse的C/C++环境插件:CDT,这里选择在线安装.          首先登录http://www.eclipse.or ...

  4. MySQL 一个库中表数量是否有限制?

    在网上找了一下,有说几乎没有限制的,也有说表多了肯定会影响性能的,综合起来应该讲: 1)一个库中表数是有限制的, 按照 UNSIGNED 类型,最多42亿多一点,正常应用根本达不到.   2)文件系统 ...

  5. java并发集合知识点(二)

    我们平时写程序需要经常用到集合类,比如ArrayList.HashMap等,但是这些集合不能够实现并发运行机制,这样在服务器上运行时就会非常的消耗资源和浪费时间,并且对这些集合进行迭代的过程中不能进行 ...

  6. c#面试3(选择题)

    1.下列有关基本类的大小不正确的是 A.int类型是4个字节 B.bool类型是1个字节 C.long类型是8个字节 D.char类型是一个字节 3.有关数组说法不正确的是 A.数组的内存是分配在栈中 ...

  7. 加载大量的xml数据 使用压缩方法解决(当然较小时也可以压缩)

    如果你的应该程序必须在运行期间加载一个外部大且冗长的XML文件时,这个方案可能是有用的,通过将XML保存为二进制,你可以压缩数据得到一个较小的文件,当然,你可以得到的压缩的数量取决于数据的复杂性,但它 ...

  8. linuxShell检测内网中存活主机,windows下net view/nmblookup

    #!/bin/bash # Simple SHELL script for Linux and UNIX system monitoring with # ping command # code by ...

  9. C++ 函数参数中“ *&代表什么? ”

    typedef struct BitNode  {      char value;      BitNode *lchild,*rchild;    }BitNode,*BiTree; void C ...

  10. 设备树(Device Tree)

    设备树介绍: 设备树是一个描述设备硬件资源的文件,该文件是由节点组成的树形结构.如下: / { node1 { a-string-property = "A string"; a- ...