bcdedit是vista和windows7系统自带的命令行工具,在system32文件夹下,主要用于多系统的启动数据的配置和自定义winpe的启动配置数据
我们先看一个安装了双系统的启动配置数据菜单,然后再说明怎么手动使用bcdedit.exe来配置这些数据
这是xp与vista双系统共存于C盘,我用的是xp,拷贝x86的bcdedit.exe到system32文件加下执行的显示(vista是x64的)
OKey,使用bcdedit实现配置多系统引导,先说下整个过程先,
1 创建{bootmgr}主入口,设置这个入口的device等值
2 创建xp{ntldr}或vista&windows7{GUID}入口,设置device,path等值
3 用/displayorder 将建好的每个入口(菜单项)一个一个加入到引导菜单中
4 用/timeout 设置等待时间
5 用/default 设置缺省菜单(也就是设置默认的启动系统)
首先winkey+R,输入cmd,然后回车打开命令提示符
使用bcdedit /store不针对本机操作
在本机硬盘例如D盘创建bcdcfg文件夹
bcdedit /createstore d:/bcdcfg/bcd 执行后将在bcdcfg文件夹下创建一个新的bcd文件
提示成功完成;
接下来我们添加bootmgr主入口:
bcdedit /store d:/bcdcfg/bcd -create {bootmgr} /d "boot manager"
提示项{bootmgr}成功创建;
设置{bootmgr}的device的:
bcdedit /store d:/bcdcfg/bcd -set {bootmgr} device partition=c:
提示操作成功完成;
添加xp的入口:
bcdedit /store d:/bcdcfg/bcd /create {ntldr} /d "windows xp" --双引号中的字符输入你自己喜欢的
提示项{ntldr}成功创建;
设置{ntldr}的device的值(这里实际是xp所在分区,假设在C盘):
bcdedit /store d:/bcdcfg/bcd -set {ntldr} device partition=c:
提示操作成功完成;
设置{ntldr}的path的值:
bcdedit /store d:/bcdcfg/bcd -set {ntldr} path /ntldr
提示操作成功完成;
下面新建添加vista的入口:
bcdedit /store d:/bcdcfg/bcd -create /d "windows vista" -application osloader
运行后将返回GUID值,提示项{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}成功创建;
{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}是全局唯一识别ID,在空间上和时间上具有唯一性。
输入GUID是一定要认真,错一个字符都将导致启动加载失败,可以先把返回的GUID值认真的输在记事本中,使用-set命令时执行复制就OK
设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的device的值(这里实际是xp所在分区,假设在D盘):
bcdedit /store d:/bcdcfg/bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} device partition=d:
提示操作成功完成;
设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的path的值:
bcdedit /store d:/bcdcfg/bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} path /windows/system32/winload.exe
提示操作成功完成;
设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的windows device为d盘:
bcdedit /store d:/bcdcfg/bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} osdevice partition=d:
设置{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}的windows root为/windows:
bcdedit /store d:/bcdcfg/bcd -set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} systemroot /windows
到此c盘xp,d盘vista的启动入口都添加完成了,接下来要干的是把xp的入口{ntldr}和vista的{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}在启动菜单中通过bootmgr显示出来:
bcdedit /store d:/bcdcfg/bcd -displayorder {ntldr} /addlast
bcdedit /store d:/bcdcfg/bcd -enum
就能发现windows启动管理器和windows旧os加载器了
bcdedit /store d:/bcdcfg/bcd -displayorder {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} /addlast
再次运行bcdedit /store d:/bcdcfg/bcd -enum
是不是有什么不同呢,我们又看到windows启动加载器,这个是vista的
bcdedit /store d:/bcdcfg/bcd -timeout 5(将超时时间设置为5秒)
运行bcdedit /store d:/bcdcfg/bcd -enum ,bootmgr下显示timeout为5秒
bcdedit /store d:/bcdcfg/bcd -default {ntldr}(将xp设置为默认启动的操作系统,与5秒后自动启动xp)
到此配置完成。
带 /store 的都是针对自己新建的bcd文件的操作,如果想直接对系统的bcd文件操作就去掉
/store d:/bcdcfg/bcd
e.g. bcdedit /default {ntldr},就是将系统设置默认从xp启动
bcdedit /set {ntldr} description "........................."双引号中输入自己想要的
可以将xp的启动菜单显示相应的字符或汉字,修改vista的只要将{ntldr}替换为{GUID}
bcdedit /set {xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} description "Microsoft Wwindows vista x64"
则开机启动项vista的显示为Microsoft Wwindows vista x64
设置关于xp的就告诉bcdedit {ntldr},更改vista的设置就告诉bcdedit {GUID}
安装双系统三系统还是先安装xp要省事。
刚接触命令行不久,最重要的是学会 /?
e.g. bcdedit /? create,会显示bcdedit /create命令的详细用法