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)

这个很常见了,我以前也写过 https://www.wingwy.com/archives/2010_07_613.html 为了完整性这里再重复写一下。其实很简单,创建{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)

直接的引导可以参见 https://www.wingwy.com/archives/2008_08_140.html 第二部分。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盘启动的时候也有问题。相关文章在这里 https://www.wingwy.com/archives/2011_01_801.html 照着设置就可以了。如果加入grub4dos后,光盘又有新问题,比如,允许小写字母,禁用Joliet,文件名格式Max(221)等。感谢crow网友的讨论, 在这里 https://www.wingwy.com/archives/2010_07_672.html/comment-page-4#comment-4667 可以看到详细的讨论。

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

lanch

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

下载地址:http://u.115.com/file/f2ebfedce0 

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

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

http://u.115.com/file/f091b11b42

2011/10/29更新crow网友的启动盘地址:http://bayfiles.com/file/19tD/BiOisL/CrowSPE-NiO.iso.rar

标签: , , , , ,

70 条评论 发表在“总结一下bootmgr的引导模式(引导dos,nt5,nt6,grub4dos等)”上

  1. 说道:

    你好,不知道你现在还有这个多启动入口的光盘模板,有的话,发我邮箱吧~

  2. 本多忠胜说道:

    pe3.0和win7启动菜单怎么合在U盘?

    • wingwy说道:

      不太明白你的意思,pe3.0和win7启动菜单是合在bcd文件里面的,然后这个bcd可以通过bootmgr调用,而bootmgr可以放到u盘来启动。

  3. 本多忠胜说道:

    打上面的命令WIN7不用下载BOOTSECT.EXE工具了吗?

  4. Haohong说道:

    您好!我按您说的方法编辑了bcd文件,ZH-CN文件夹内有mui文件,放置在boot文件夹内了,在虚拟机测试的时候汉字显示不出来,显示的是问号,这是怎么回事,求教。

    • wingwy说道:

      你好,以前好像有个网友专门研究过这个,现在翻不到了,给你google了一下你看看
      http://wenku.baidu.com/view/d989267a02768e9951e73888.html

      • Haohong说道:

        谢谢,汉字不显示问题解决了,但又出现了新的问题。
        我用上面引导dos启动盘的方法引导了深山红叶dos工具箱的img镜像,弹出了提示:
        Start booting from CD…
        Error loading image: DOS.EZB
        这又是怎么回事?

        • wingwy说道:

          你好,你看看是不是这个问题
          https://www.wingwy.com/archives/2011_01_801.html

          • Haohong说道:

            试了,不是这个问题。这个提示是在选择了启动菜单里的dos工具箱后出现的,感觉应该是easyboot制作菜单的时候出问题了。
            想重新制作一个菜单,又提示“引导映像文件E:\EasyBoot\disk1\ezboot\DOS.img是压缩格式”。。。

            • Haohong说道:

              把img映像替换成您制作的多启动入口里的img镜像的话,可以正常启动了,难道深山红叶的dos工具箱不能用这种方式引导?

          • Haohong说道:

            知道问题在哪了,我下载的那个dos工具箱PBR有问题,用bootice也没办法导入PBR,重新下载了一个其他版本的dos工具箱,现在没问题了,谢谢您的耐心指导!

  5. 有近10年没接触ezboot了说道:

    我只想搞个能启动wingwy-pe3.1-v2-fix2和win7 x64安装盘的的iso,比较莱,看半天看不懂

    • wingwy说道:

      你好,你直接下载这个iso,覆盖win7安装盘的文件,加入wingwy-pe3.1-v2-fix2中\winpe目录就可以了。

wingwy 留下回复(本站有评论邮件通知功能)