社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 1765阅读
  • 0回复

[分享]用Bootmgr、Grub4DOS启动管理器制作“包括启动菜单”的ISO镜像(双启)简明教程

楼层直达
级别: 管理员
发帖
27815
飞翔币
1567
威望
888
飞扬币
129967
信誉值
0

       上一篇文章介绍的是:用Grub4DOS启动管理器引导,今天再推荐另一个功能强大的启动管理器Bootmgr,说起Bootmgr大家并不陌生,它正是nt6VistaWindows7)的启动管理器。
简明扼要的说明启动过程:光盘引导文件(例如:pe.bif,包含Bootmgr字符,功能是寻找Bootmgr)——找到Bootmgr后,Bootmgr会自动查找BCD文件所在目录——BCD文件中包含了“启动菜单”。因此用Bootmgr引导,通过修改BCD文件,可以做出启动菜单。
BCD文件的修改,仍然是用微软的Bcdedit这个命令行工具,前面已经讲过,请参考:
    Windows7的命令行工具Bcdedit定制"Windows7&WindowsPE3.x启动菜单"
现在重新整理一下制作思路,只写命令,稍微解释一下:
set bcd_path= d:bcd    将win7中的BCD放到D盘根目录,运行此命令(设置路径)
bcdedit /store %bcd_path%  查看菜单

下面建立win7 PE的入口,只需修改即可(把wim文件的路径修改到boot目录下):


bcdedit /store %bcd_path% /set {default} device ramdisk=[boot]bootwinpe.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}
bcdedit /store %bcd_path% /set {default} osdevice ramdisk=[boot]bootwinpe.wim,{7619dcc8-fafe-11d9-b411-000476eba25f}  
bcdedit /store %bcd_path% /set {bootmgr} locale zh-CN
bcdedit /store %bcd_path% /set {default} locale zh-CN  

bcdedit /store d:bcd /set {bootmgr} nointegritychecks yes


接下来建立Win 2003 PE入口:
bcdedit /store %bcd_path% /create /d "启动 2003 PE" /application osloader
返回一个GUID值{719b0d37-8b5e-11e1-9c25-c80aa98bd78f},注意:这个值因人而异!
bcdedit /store %bcd_path% /set {719b0d37-8b5e-11e1-9c25-c80aa98bd78f} device boot
bcdedit /store %bcd_path% /set {719b0d37-8b5e-11e1-9c25-c80aa98bd78f} path LDRXPE
bcdedit /store %bcd_path% /displayorder {719b0d37-8b5e-11e1-9c25-c80aa98bd78f} /addlast
接下来建立Grub入口:
bcdedit /store %bcd_path% /create /d "启用Grub4DOS入口" /application bootsector
返回一个GUID值{459e3936-8ad1-11e1-8a85-c80aa98bd78f},
bcdedit /store %bcd_path% /set {459e3936-8ad1-11e1-8a85-c80aa98bd78f} device boot
bcdedit /store %bcd_path% /set {459e3936-8ad1-11e1-8a85-c80aa98bd78f} path grldr.mbr
bcdedit /store %bcd_path% /displayorder {459e3936-8ad1-11e1-8a85-c80aa98bd78f} /addlast


——到此为止,菜单就编辑好了,稍后会用到,这个需要理解,切不可生吞活剥!
——文章中,“模版”下载之后,有编辑好的BCD文件。
下图仅仅是个例子,和上面的不完全一样。


下面要做到的是:
1.包含启动菜单;2.包含WinPE 3.x 3.包含WinPE1.x4.bootmgr和grub相互切换
工作条件:Windows7操作系统
准备软件
1.Windows7原版镜像:点击进入
2.UtraISO:点击进入
3.mkisofs点击下载
4.Grub4DOS0.4.4:点击下载
5.简易启动测试器:点击下载
制作方法:
1.在任意文件夹(例如“bin”)建立一个名为“sp”的文件夹
2.将mkisofs.exe、cygwin1.dll、生成ISO.bat,放在“bin”文件夹。
3.将Grub4DOS中的grldr、grldr.mbr和menu.lst放到“sp”文件夹。
4.将背景图“message”放到“sp”文件夹。(图片制作方法:参见此文第五步
5.用booice软件修改menu.lst内容:(编辑方法:参考此文第九步
举例说明(这个菜单,说明在bin文件夹下还有一个img文件夹,里面有kon.img):

------------------------------------------------------------------------------------------------

timeout 10
default /default
find --set-root /message && gfxmenu /message

title 返回bootmgr菜单
chainloader /BOOTMGR

title 绕过开机密码
map --mem /img/kon.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

------------------------------------------------------------------------------------------------------
(一定要注意:文件名称的大小写,必须和源文件相同,不可随意更改大小写)
6.运行一下“生成ISO.bat”,即可在“bin文件夹”下得到“sp.iso”。到这里可以测试一下生成的ISO是否正常,当然了现在调用bootmgr还不行。——Grub菜单就编辑完了。
7.首先提取“Windows7原版镜像”中的bootmgr、boot文件夹。还要提取Windows7原版镜像的引导文件:win7.bif。(用UtraISO-启动-保存引导文件)。boot文件夹中只需要BCD和boot.sdi两个文件。(若要支持中文,还需其他文件:提供模版下载),BCD文件用修改好的替换即可。
——这里的BCD文件是文章最开始修改好的(包含三个选项的菜单)。
9.用UtraISO打开“sp.iso”,启动-保存引导文件-保存为grldr.bif,然后将后缀名改为mbr,即grldr.mbr。
10.将boot文件夹、bootmgr拖动到sp.iso中。将PE3.x中的winpe.wim提取到boot文件夹下。将PE1.x的相关文件提取到iso根目录。(相关文件参考文章:)



11.选择“启动”-“加载引导文件”-选则win7.bif。
12.重要的一步是:将上一步中的grldr.mbr替换sp.iso下的grldr.mbr。
13.最后一步,十分重要:点击“文件”-“属性”,设置如下:



13.一定要注意上述步骤的先后性!至此大功告成!
——提示:这个ISO可以直接刻录到光盘,但是不完全支持U盘。
——若用UtraISO写入U盘,需要将WXPE中的NTDETETC.COM复制到U盘根目录才可以。
——这个ISO写入U盘后,Grub4DOS会无法用,若有网友又解决办法,还请不吝赐教!

转自:http://hi.baidu.com/%D6%AA%B1%CB%B6%F8%D6%AA%BC%BA/blog/item/296c05619862dbfde6113a4d.html