Board logo

标题: [原创]最简单、最基本的多重启动菜单(ISO文件) [打印本页]

作者: 高级菜鸟    时间: 2003-5-16 05:32     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

当计算机设置为从CD启动时, BIOS首先将 LOADER.BIN 加载到 0:7C00 的地方,然后BIOS把控制权交给LOADER.BIN。 LOADER.BIN 再把自己加载到 5000:0 的地方,然后调用 INT 13 把DISKEUM1X.BIN装载到内存。LOADER.BIN 又把控制权交给DISKEUM1X.BIN,DISKEUM1X.BIN 再把DISKEUM.CMD 装载到内存,然后执行相应的菜单项。
  其实LOADER.BIN 不是必须的,DISKEUM1X.BIN 具有 LOADER.BIN 的功能,只要将制作好的 ISO 文件用UltraISO 打开,将DISKEUM1X.BIN 设置为引导文件即可。

    附件是一个完整的多重启动ISO文件,里面包含了三个文件:DISKEUM1X.BIN、DISKEUM.CMD 及TEST.IMG,菜单里只有一个选项有效即1,其他的没有定义,可以根据需要自行定义,选择1即进入DOS。
     其实在多重启动菜单中,DISKEUM1X.BIN类似于DOS的命令解析程序COMMAND.COM、而DISKEUM.CMD 则类似于DOS系统的配置文件CONFIG.SYS + 自动批处理文件AUTOEXEC.BAT。DISKEUM1X.BIN 里完成批命令的解析与执行,并改写了磁盘读写中断INT 13。DISKEUM.CMD是批文件,完成菜单的定义,可以用记事本打开文本文件DISKEUM.CMD进行修改。
    从我提供的这个ISO文件中可以看出,在多重启动菜单中,只要有DISKEUM1X.BIN及DISKEUM.CMD 就足够了,其他的可根据需要来增加,例如,要增加ERD Commander 2002,可以用UltraISO 打开ISO文件,并在里面新建一个目录ERDC,然后把准备好的ERDC内容加到该目录里(当然,必须将ERDC目录里的SETUPLDR.BIN文件中的四处I386改为ERDC)。然后在DISKEUM.CMD主菜单中的2 选项增加ERD Commander 2002(用于显示),在DISKEUM.CMD的mainkey的第2项onkey 2 后面增加 run bootsect.bin (注意用UltraEdit打开他,将里面的一处I386改为ERDC), 别忘了也要用UltraISO 打开ISO文件,将bootsect.bin文件加入到ISO文件的根目录里,保存即可。当然如果制作n 合 1 光盘,ISO 文件是必须重作的,以优化文件,此帖的本意是抛砖引玉。
    多余的话,我个人认为没有必要使用DISKEMU2.1,使用英文菜单挺好的,不存在兼容性问题,再说菜单一般都很简单,只要具有初中以上文化程度的人都能看懂,何况玩计算机的人,还有谁看不懂。
    附件中的ISO文件要用VMware Workstation测试,因为Connectix Virtual PC要求其ISO文件必须大于2M才能测试。
    希望高手参与讨论、指正, 也许高手早就知道了,不值得谈,权且一笑置之吧。借论坛宝地胡说一通,还望版主见谅。
作者: 任我行    时间: 2003-5-16 08:01     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

不错,讲讲原理对大家都有好处。不用客气,多多宜善嘛。 :em02:
作者: drgon    时间: 2003-5-16 09:30     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

aaaa
作者: nerdpal    时间: 2003-5-16 16:53     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

一个好人
作者: kicker    时间: 2003-5-16 18:31     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

好人啊
作者: 高级菜鸟    时间: 2003-5-16 18:33     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

[这个贴子最后由高级菜鸟在 2003/05/16 11:35am 第 2 次编辑]

getkey的用法
格式: getkey  timeout  key    ;等待从键盘读一个键值,直到有键被按下
-timeout  => 超时,  单位为 秒
-key      => 标识符
在给定的超时<timeout>时间到,又没有按任何键时, 那么指定的<key>值将被返回给 getkey 命令。
- <key> 可以被指定的值如下:
- 单一字符的ASCII 值,象是:a, 1 或 ! 。
键"标识符"(所谓标识符,是指它代表某一键值): esc(Escape,取消健), bs(BackSpace,退格健), tabbs(Tab,制表符), entrbs(Enter,回车健
), spcbs(SpaceBar,空格健), home(Home 键), up(向上光标健), left(向左光标健), pgup(PageUp 键), right(向右光标健), end(End 键),
down(向下光标健), pgdn(PageDown 键), ins(插入键), del(删除键)
功能键:
f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12 ;  F1、F2、F3···F12功能键
组合键:
sf1, sf2, sf3, sf4, sf5, sf6, sf7, sf8, sf9, sf10, sf11, sf12 ;  Shift + F1、F2、F3···等组合键
af1, af2, af3, af4, af5, af6, af7, af8, af9, af10, af11, af12 ;  Alt + F1、F2、F3···等组合键
-如果你熟悉键盘编码,可以自定义16进制的键值(16-bit),用键盘的扫描码/ASC码, 如:esc可以用0x11B 代表。
例子:
  getkey 10 esc      =>  超过10秒后,等效于你按下Escape 键,将执行相应的功能。
  getkey             =>  等待你按键
作者: 高级菜鸟    时间: 2003-5-16 22:26     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

onkey 的用法
格式: onkey key command
判断键值并执行相应的命令。
-key ,前面getkey 得到的键值,如a、1、f1、sf1、esc等等。这个getkey 有个功能,就是它会把得到的16进制的键盘编码转换为文本方式,
如,当按下键盘的F1键,其程序得到编码为:3B00h, 经过getkey 转换后就变为文本的“F1”。
-command, 命令,指定仿真程序执行哪项动作。有效的命令如下:
batch       boot         bootinfotable     cd          cls(或clear)   dir(或ls)
echo        emusegm      getkey            goto        help           keyval
loadsegm    onkey        print             quit        readtest       reboot
run         test         type(或cat)       ver
例子:
按F1键,转至_help
onkey f1 goto _help
.
.
:_help
按T键,运行test.img
onkey t run test.img
等等,可以自行指定。
作者: 行我任    时间: 2003-5-27 08:02     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

请教一下,为什么把在vmware测试可以通过的ISO文件直接刻在光盘上不能启动呀,我试过多次了浪费了好几张盘,现在都不知道怎么办了
作者: goggoo    时间: 2003-5-29 06:50     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

最需要的就是这样的帖子啊。
作者: jsctv    时间: 2003-5-29 15:58     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

好帖子~
作者: PC孙悟空    时间: 2003-5-30 23:09     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

好人呀
作者: custompc    时间: 2003-6-3 11:03     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

行我任
是你的机器的问题,AMI的BIOS 不可以.还有微星(非常烂的主板但广告好捧臭脚的人也多)也不可以.
作者: lishai    时间: 2005-8-13 08:37     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

我是新手啊!!!
作者: niguolai2004    时间: 2005-8-18 16:05     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

不错

作者: nyhz    时间: 2005-9-1 06:35     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

好东西啊,谢谢了
作者: sodohe    时间: 2005-9-14 05:58     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

不错,学习中.....
作者: sodohe    时间: 2005-9-16 06:52     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

谢谢楼主的分享
作者: wnynfn    时间: 2005-9-28 10:43     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

好人呀
我最喜欢这样的帖子了
支持

作者: hwkdesky    时间: 2005-9-30 00:08     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

值得收藏谢谢楼主
作者: wwufengg    时间: 2005-10-4 00:48     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

超强贴,没有理由不顶哦.谢谢楼主了
作者: CHL    时间: 2005-10-4 16:59     标题: [原创]最简单、最基本的多重启动菜单(ISO文件)

谢谢你的好文章...收下了.
作者: duck-36    时间: 2005-12-25 21:50

不错,支持
作者: PH06    时间: 2005-12-26 10:55

一个好人
作者: stoneyao    时间: 2005-12-27 17:53

英雄!!!(泪流满面地说):"终于找到你了,俺是菜鸟,欢迎加Q:10038812
作者: henry2006    时间: 2006-1-5 10:44

这个真是不错啊。谢了。
作者: ncl172    时间: 2006-1-5 16:36     标题: dddd

dddd
作者: sunfighter    时间: 2006-1-6 00:48

HAO DONG XI A
作者: ch2008rq    时间: 2006-1-6 03:50

最需要的就是这样的帖子啊。
作者: wglwx    时间: 2006-1-19 17:01

超强贴!!
谢谢楼主了 !!
作者: txsr1970    时间: 2006-1-20 09:01

谢谢啦,坚决感谢楼主的无私奉献,支持楼主




欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0