[转]bootrec和bcdedit命令详解

我的电脑装了双系统:Win2003 SP2(C盘)和Win2008 SP2(D盘),最近2003一启动就蓝屏unknown hard error,安全模式也进不去,恢复注册表等方法试过也不行,但2008正常,覆盖安装2003也不解决,看来只有格盘重装了。重装2003和应用软件后,系统恢复正常运行。下一步就应该是恢复双启动菜单了。但我手头没有其他软件,只有系统安装盘,只好研究令我头大的那个bcdedit。微软的说明文字让我是一头雾水,上网查找了一些资料终于清楚了怎么用。
1.用2008的光盘启动到修复计算机下的命令提示符,在命令提示符下运行X:\boot\bootsect.exe /nt60 sys把2008的启动扇区写入C盘下。
2.继续运行bootrec.exe /rebuildbcd重建启动菜单。
bootrec.exe的用法类似于XP的故障恢复控制台,常用参数如下:
/fixmbr 修复主引导记录
/fixboot 修复启动扇区
/scanos 扫描并添加已有的系统,注意扫描不到XP
/rebuildbcd 重建整个BCD(启动配置数据),这次由于格了C盘造成2008启动文件全部丢失,所以必须重建
3.从硬盘启动进入2008,现在2008已经能正常使用,但是2003没有启动项,要手工添加。这里就要用到bcdedit。以管理员身份运行CMD,键入以下命令:

bcdedit /create {ntldr} /d "Windows 2003" (创建一个基于NTLDR的启动项,菜单里显示的名字为“Windows 2003”)
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addfirst(把刚才创建的这个条目显示在启动菜单的第一位)

重启后,双启动菜单恢复正常!

bcdedit说明:
在Vista/2008下,我们通过msconfig的“启动”选项卡可调整启动时的参数,也可通过系统属性-高级-启动和故障恢复对引导菜单进行调整。但这些项目和XP是类似的。有些功能在XP下非得修改boot.ini才能完成,比如添加一个启动项、修改启动菜单里的文字等,这些在VISTA下就只有用bcdedit了。这是一个命令行工具,必须以管理员身份运行。微软的说明文字让人看不懂,其实对我们有用的参数也就那么几个。

一、备份和恢复启动配置文件
为减少像我这样的麻烦,大家在平时可以把启动配置数据导出来,恢复就很简单了。你也可以自己建一个配置文件,然后把启动项加入其中,以后就可以去别的电脑上用了。
例如:
bcdedit /createstore "C:\1.bcd" 创建一个名为C:\1.bcd的启动配置文件
bcdedit /export "C:\2.dat" 把启动配置导出到C:\2.dat中
bcdedit /import "C:\3.abc" 从C:\3.abc中恢复启动配置

二、标识符
每一个bcdedit中的启动项都有一个唯一的标识符,格式类似于Windows的CLSID,如 {791d518d-3526-11de-8dab-b4cd0d61d150}。但有几个特殊的标识符是我们需要记住的。
{default} 默认启动项
{ntldr} 基于NTLDR启动的系统,如NT4.0、XP、2003
{current} 当前的Vista启动项
{bootmgr} Windows启动管理器,这个一般不用管,会自动生成

直接运行bcdedit.exe就可以列出所有的启动项了,大家大家可以把标识符记一下。

以下的命令如果要修改自己创建的启动配置文件而不是引导菜单,只要用/store指定文件名即可。如:bcdedit /store "C:\1.bcd" /create {ntldr} /d "XP"

三、创建和修改启动项目
创建一个XP的启动项:bcdedit /create {ntldr} /d "XP"
创建一个Vista的启动项:bcdedit /create /d "Vista"  /application osloader
复制启动项:bcdedit /copy 标识符 /d "copy"
/d指定启动菜单里的名字,可以自己起,不要忘了引号。
第二条和第三条命令运行后系统会给出一个标识符,请记下,修改时要用到。
删除启动项:bcdedit /delete 标识符。但请注意,删除XP的启动项时,应加上/f参数:bcdedit /delete {ntldr} /f
设置启动菜单显示时间:bcdedit /timeout 数值,单位为秒。
设置启动项显示顺序:bcdedit /displayorder 标识符。如:
先显示XP再显示VISTA:bcdedit /displayorder {ntldr} {current}
另外,用/addfirst和/addlast可以把启动项加入菜单第一位和最后一位,如 bcdedit /displayorder {ntldr} /addlast
设置默认启动项:bcdedit /default 标识符。如:bcdedit /default {current} 把当前的VISTA系统设成默认启动。

四、设置启动项的参数
在我们运行bcdedit列出现有的启动项时,可以看到有很多参数,这些命令就可以设置参数了。基本格式如下:
设置参数:bcdedit /set 标识符 参数名 参数值
删除某项参数:bcdedit /deletevalue 标识符 参数名
我们需要掌握的几个参数如下:
device:启动设备,如 bcdedit /set {ntldr} device partition=C:设置XP启动分区为C盘。对于{bootmgr}来说也是C盘,对于VISTA来说只要把C换成VISTA所在分区即可。
osdevice:系统启动设备,只在VISTA启动项里有效,一般设成和device一样。
path:启动文件路径,XP是\ntldr ,Vista是\Windows\system32\winload.exe
description:启动菜单里显示的文字。
这个,大家也可以列出启动项看一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值