|
如果有很多IMG文件,每个文件要做成BCD中的一个菜单项,我一直没找到比较好的方法,大家有什么高招?当然bootmgr或ntldr能直接IMG就好了,好象似乎没这个功能。
我看到一些方式,在光盘启动方式下:
bootmgr-->bcd-->easyboot-->为每个IMG单独做菜单再改名,起码要2个文件
bootmgr-->bcd-->easyboot中调用grldr的文件(2k)-->grldr-->为每个IMG单独做一个内置菜单再改名,起码要也要2个文件。
硬盘或USB盘中:
bootmgr-->bcd-->grldr.mbr-->grldr-->为每个IMG单独做一个内置菜单再改名,起码要也要2个文件。
bootmgr-->bcd-->avldr.bin-->avlgo.sys-->为每个IMG单独做成一对的avldr.bin(改内容调用改名的avlgo.sys)和avlgo.sys(改其中内容或重新装配后改名),起码要也要2个文件。
bootmgr-->bcd-->wee-->为每个IMG单独做一个内置菜单再改名,由于可以直接调用wee,因此只要一个文件。
各文件大小
grldr.mbr 9kb-->grldr 2xxkb....................2xxkb(合计,下同)
avldr.bin 8kb-->avlgo.sys 138kb..............146kb
eb-loader 2kb-->ebboot.ebz 22kb..............24kb
eb-loader 2kb-->grldr 2xxkb...................2xxkb
wee 31---->grldr 2xxkb...................2xxkb
>>而且从测试的情况看,如果从硬盘启动avldr也许还能够行(经测试fat32分区有时不行),但USB盘启动时多数是不成功的,wee不支持光盘,因此要能够适应光盘、硬盘和USB盘启动的只有bootmgr-->bcd-->grldr.mbr(注意:光启与硬盘启动不是一个文件)-->grldr-->IMG这一个途径!其中grub4dos中自带的grldr.mbr是不支持光盘的,因此要另外制作,这又分如下两种情况:
1.如果调用子目录下如BOOT下的grldr,这个grldr必须改名为xxxxxxxx.xxx的形式,再按上述easyboot中调用grldr的文件(2k)进行修改得到。(这个文件应该来源于以前的XP启动安装光盘,默认调用i386\setupldr.bin,好象只能改字母,但不能改长度,目前我还没有找到如何修改任意长度目录下的任意文件的方法)
2.如果调用根下的可以用mkiso生成用grldr作一启的光盘,然后提取其引导存为grldr.mbr
综上所述,如果从硬盘或U盘启动,应该用wee是最精简的!
我目前是这样处理的:所有DOS工具均由一个grldr菜单来处理,命名为DOS工具集菜单H3_GRDOS.LST,grldr更名为H3_GRDOS.BIN,将wee63更名为H3_GRDOS.MBR,都放到BOOT目录下,其中H3_GRDOS.MBR的内置菜单如下:
- timeout 1
- default 0
- title 1. Grub4dos for DOS Tools
- find --set-root /BOOT/H3_GRDOS.BIN /BOOT/H3_GRDOS.BIN
复制代码
H3_GRDOS.BIN的内置菜单如下:
- pxe detect
- configfile /BOOT/H3_GRDOS.LST || configfile /boot/h3_grdos.lst
- default 0
- timeout 1
- title find /BOOT/H3_GRDOS.LST,/boot/h3_grdos.lst
- errorcheck off
- find --set-root --ignore-floppies --ignore-cd /BOOT/H3_GRDOS.LST && configfile /BOOT/H3_GRDOS.LST
- errorcheck on
- commandline
- title commandline
- commandline
- title reboot
- reboot
- title halt
- halt
复制代码
这样方便多种启动方式来调用它。
syslinux/isolinux--->直接调用kernel /BOOT/H3_GRDOS.BIN
ezboot--------------->直接调用run /boot/h3_grdos.bin或通过2kb的启动文件转h3_grdos.bin
bootmgr------------->光启时,在BCD中通过2kb的启动文件转h3_grdos.bin
硬盘或U盘启动时,在BCD中调用\BOOT\H3_GRDOS.MBR
这样要么改BCD文件要么准备两个不同的BCD文件才能完成用bootmgr从不同设备启动。
ntldr------------------>在boot.ini中直接调用C:\BOOT\/H3_GRDOS.BIN="DOS tools"
20111017再次来总结如上。
[ 本帖最后由 hhh333 于 2011-10-17 12:52 编辑 ] |
|