Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3037636
  • 博文数量: 59
  • 博客积分: 10085
  • 博客等级: 上将
  • 技术积分: 4852
  • 用 户 组: 普通用户
  • 注册时间: 2005-11-29 19:51
文章分类

全部博文(59)

文章存档

2012年(1)

2011年(20)

2010年(9)

2009年(20)

2008年(9)

我的朋友

分类: WINDOWS

2011-05-09 23:53:09


 
 

bootmgr和grub4dos都是很好启动管理器,两者都能相互调用,功能互相补充。grub4dos很强大,讲怎么用它引导的文章已经很多了,这里就不讨论了。下面讲一下通过bcdedit编辑bcd文件来实现bootmgr引导dos,nt5(xp/xpe包括winpe1.X版本),nt6(vista/2008/win7包括winpe2.0及以后的版本,wim和vhd文件),和grub4dos(以及linux和iso文件)等。google了一下,网上似乎没有较全面的应用文章,这里总结一下常用的几种,方便初学的网友,都是很基础的东西。

以用bootmgr为主引导程序的启动光盘为例,假设在C:\Downloads\pe\dvd目录,此目录下必须有bootmgr程序和boot文件夹及font文件,要想显示中文,需要还需要mui文件,设置bcd文件路径


set bcd_path= C:\Downloads\pe\dvd\BOOT\bcd

1  bootmgr引导dos启动盘

bootmgr不能直接引导dos启动盘,必须借助于bootsector模式通过其他的途径来解决。比如,要引导\boot\dos.img 文件,我们可以借助easyboot,新建一个菜单,命令为run dos.img。这样在easyboot的ezboot文件夹下会生成2个文件,一个2048字节大小loader.bin文件,一个cdmenu.ezb的文件。将此两文件分别改名为dos.bin和dos.ezb,连同启动盘dos.img一同放入\boot文件夹。运行


bcdedit /store %bcd_path% /create /d "启动 DOS" /application bootsector
//返回:项 {41ac9c34-1fd8-11e0-8355-a4badbfc7822} 成功创建。请自行更改GUID。
bcdedit /store %bcd_path% /set {41ac9c34-1fd8-11e0-8355-a4badbfc7822} device boot
bcdedit /store %bcd_path% /set {41ac9c34-1fd8-11e0-8355-a4badbfc7822} path \boot\dos.bin
bcdedit /store %bcd_path% /displayorder {41ac9c34-1fd8-11e0-8355-a4badbfc7822} /addlast

这样便可以即由bootmgr引导dos启动盘了,easyboot设置的时候可以全用黑色,默认停留时间1秒,这样启动的时候就不会跳出来easyboot的菜单,看起来就像bootmgr直接进入dos一样。当然ezboot可以用grub代替,后面会讲。

2 bootmgr引导xp/xpe包括winpe1.X版本(nt5)

这个很常见了,我以前也写过  为了完整性这里再重复写一下。其实很简单,创建{ntldr}项,配置device和path一下就可以了。


bcdedit /store %bcd_path% /create {ntldr} /d “安装 Windows XP”
bcdedit /store %bcd_path% /set {ntldr} device boot
bcdedit /store %bcd_path% /set {ntldr} path \i386\SETUPLDR.BIN

以上是安装xp的例子启动xp和xpe的引导类似。

3 bootmgr引导vista/2008/win7包括winpe2.0及以后的版本,wim和vhd文件(nt6)

直接的引导可以参见  第二部分。bootmgr本来就是nt6时代的产物,各种引导都是大同小异,比如引导wim文件(pe2.0及以后版本)


bcdedit /store %bcd_path% /create {ramdiskoptions} /d "启动 Windows 7 PE"
bcdedit /store %bcd_path% /set {ramdiskoptions} ramdisksdidevice boot
bcdedit /store %bcd_path% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
bcdedit /store %bcd_path% /create /d "启动 Windows 7 PE" /application osloader
//返回:项 {cb942a73-1fe1-11e0-8355-a4badbfc7822} 成功创建。请自行更改GUID。
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} device ramdisk=[boot]\boot\winpe.wim,{ramdiskoptions}
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} path \windows\system32\boot\winload.exe
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} osdevice ramdisk=[boot]\boot\winpe.wim,{ramdiskoptions}
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} systemroot \windows
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} winpe yes
bcdedit /store %bcd_path% /set {cb942a73-1fe1-11e0-8355-a4badbfc7822} detecthal yes
bcdedit /store %bcd_path% /displayorder {cb942a73-1fe1-11e0-8355-a4badbfc7822} /addlast

bootmrg引导vhd文件也是类似,将device ramdisk改为device vhd 就行了,比如

device vhd=[boot]\winpe\pe.vhd

当然,别忘了其他的配置项。

4 bootmgr引导grub4dos以及linux和iso文件

这个也可以通过bootsector模式来实现,bootmgr-〉grldr.mbr-〉GRLDR


bcdedit /store %bcd_path% /create /d "GRUB4DOS" /application bootsector
//返回:项 {366d296e-1fdf-11e0-8355-a4badbfc7822} 成功创建。请自行更改GUID。
bcdedit /store %bcd_path% /set {366d296e-1fdf-11e0-8355-a4badbfc7822} device boot
bcdedit /store %bcd_path% /set {366d296e-1fdf-11e0-8355-a4badbfc7822} path \grldr.mbr
bcdedit /store %bcd_path% /displayorder {366d296e-1fdf-11e0-8355-a4badbfc7822} /addlast

这一步实现后,一切都好办了,bootmgr可以引导linux以及iso文件了,当然也可以这样引导dos启动盘。

这里的例子是光盘,其实硬盘和u盘启动也是类似的,只需要注意device选项,将 device boot 改成对应的盘符就可以了,比如 device partition=C: 。 相应的路径[boot]\boot要改为[C:]\boot 。光盘的引导文件可以直接用win7安装盘提取的bif文件,硬盘和u盘可以用bootsect强制写入引导信息


bootsect /nt60 c: /force /mbr

另外,很多网友在多启动光盘的合盘设置以及u盘启动上遇到了麻烦,这些问题自己多试几次倒也可以解决。不过我想在这里写一下,免得大家在同一个问题上无谓的浪费时间。呵呵,如果有要想折腾的网友也可以自己试一下,非常欢迎你能反馈一下情况,很多问题没有经历过确实不懂。

最后,光盘有xp安装的时候ISO的不能用UDF格式,ultraiso写入u盘启动的时候也有问题。相关文章在这里  照着设置就可以了。如果加入grub4dos后,光盘又有新问题,比如,允许小写字母,禁用Joliet,文件名格式Max(221)等。感谢crow网友的讨论, 在这里  可以看到详细的讨论。

我做了一个多启动入口的光盘模板,里面的入口如下图

不过这只是一个模板,考虑到大小,里面只有dos入口是可用的,大家直接添加就可以了。

下载地址: 

若有问题,或是地址失效后请留言。

2011/1/17 另附上crow网友的作品,非常强大的启动盘,有问题大家可以看他的readme.txt


相关文章
07/16/2010 --  
08/09/2008 --  
01/04/2011 --  
07/17/2010 --  
06/25/2008 --  
05/09/2008 --  
03/31/2008 --  
01/06/2007 --  
12/31/2006 --  
02/23/2011 -- 

标签: , , , , 

阅读(14656) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~