无忧启动论坛

标题: 是我太笨???还是EZBOOT在搞笑 [打印本页]

作者: yaoyudx    时间: 2005-5-22 20:51
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由yaoyudx在 2005/05/22 09:33pm 第 1 次编辑]

    太喜剧了!!EZBOOT的5.06.472自带了一个安装WIN98的setup98.img。我研究了一天,我十万分怀疑用这个img真的能装起WIN98???!!
    首先,他的findcd.exe版本暴老!!1999年的,是需要AUTOEXEC.BAT判断那种!而它自己带的autoexec.bat里面跟本没有相关语句!照它的config和autoexec.bat配置,跟本无法返回盘符!
    其次,我只对编程略知一二,所以不敢肯定,但我高度怀疑CDROM=FOO23这一句!!
看看这段:
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
    照它这样,我在我的机子上试N次也不能让FINDCD.exe再次改变cdrom的值了!但是如果在FINDCD后面再上一个set cdrom=这句,就对了。
    我发这个帖子就是觉得暴多人用EZBOOT,难道都成功利用了这个IMG?所以我又不敢肯定,觉得是不是自己太笨,哪儿没有搞对,还是我下的版本有问题(我下的是安装版的5.06.472),所以想证实一下!望高手指点!!
作者: wang6071    时间: 2005-5-22 21:04
标题: 是我太笨???还是EZBOOT在搞笑
偶没用过EZ的这个setup98.img ,但偶硬盘上的EZ 4.6上带的setup98.img是这样的:
@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
set temp=c:\
set tmp=c:\
path=a:\
IF "%config%"=="NOCD" GOTO QUIT
LH MSCDEX.EXE /D:oemcd001 /L:D
echo.
IF "%config%"=="SETUP_CD" goto AUTOSETUP
GOTO QUIT
:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=a:\;%CDROM%\
%CDROM%
cd \WIN98
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT
:NOCDROM
echo.
echo The Windows 98 Setup files were not found.
echo.
:QUIT
看来看去只有一个可能,楼主的setup98.img被改过。

作者: yaoyudx    时间: 2005-5-22 21:38
标题: 是我太笨???还是EZBOOT在搞笑
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
我这段和你一模一样啊,我发现不在FINDcd后面再加一个set语句,不可能再改变CDROM的值了,执行结果永远都是"FOO23"=="FOO23"!你不信可以用你的这个IMG试试调用WIN98安装文件,我高度相信不能调用SETUP文件:)
作者: wang6071    时间: 2005-5-22 22:22
标题: 是我太笨???还是EZBOOT在搞笑
有何问题?这个简单的批处理就不用测试了吧。偶给你解释一下:
set CDROM=FOO23 //设置一个环境变量,名为CDROM,值为F0023
                //当然FOO23可以是其它值,
                // 这里只是作为一个有没有光驱的判断初值,下面要用if判断
FINDCD.EXE     //如果加载光驱驱动并正确返回值的话,
                //FINDCD自动设置F0023为光驱的盘符
if "%CDROM%"=="FOO23" goto NOCDROM
               //如果没有光驱,则findcd.exe不改变环境变量的值
               //(仍保持为F0023),所以转NOCDROM

这段批处理的目的不是让你去改变环境变量CDROM的值,否则findcd何用?
执行的结果也不是你说的永远都是"FOO23"=="FOO23"!
而是 CDROM=FOO23 (无光驱时) 或者  CDROM=F: (光驱盘符)


作者: ylqilan    时间: 2005-5-22 23:01
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由yaoyudx2005/05/22 08:51pm 发表的内容:
    太喜剧了!!EZBOOT的5.06.472自带了一个安装WIN98的setup98.img。我研究了一天,我十万分怀疑用这个img真的能装起WIN98???!!
    首先,他的findcd.exe版本暴老!!1999年的,是需要AUTOEXEC.BAT判断 ...
不用懷疑暸,絕對的的,我就弄過
作者: PPP1314    时间: 2005-5-23 03:36
标题: 是我太笨???还是EZBOOT在搞笑
我这里有个2002版的,我用了N次,感觉还好用,我自己做了一个多功能的启动菜单,
里面有齐安装98/XP,有DM 、PQ、杀毒、 硬盘修复......等等.

作者: langzixdj    时间: 2005-5-23 08:47
标题: 是我太笨???还是EZBOOT在搞笑
我可以告诉楼主。那是行的,我才用的,对于命令我不太明白。
作者: hjr0713    时间: 2005-5-23 12:36
标题: 是我太笨???还是EZBOOT在搞笑
肯定能用的!我用过了。
作者: yaoyudx    时间: 2005-5-23 13:49
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由wang60712005/05/22 10:22pm 发表的内容:
有何问题?这个简单的批处理就不用测试了吧。偶给你解释一下:
set CDROM=FOO23 //设置一个环境变量,名为CDROM,值为F0023
                //当然FOO23可以是其它值,
                // 这里只是作为一个有没有 ...
我如果完全不改动,打开ECHO,看到执行结果就是这样的
set cdrom=f0023
findcd.exe
cdrom=E:(这儿看来CDROM的值己经变了)
"f0023"=="f0023"(我就没想通了)
作者: 紫狐    时间: 2005-5-23 16:09
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由紫狐在 2005/05/23 04:21pm 第 1 次编辑]
下面引用由yaoyudx2005/05/23 01:49pm 发表的内容:
我如果完全不改动,打开ECHO,看到执行结果就是这样的
set cdrom=f0023
findcd.exe
cdrom=E:(这儿看来CDROM的值己经变了)
...

都和你说了,微软的版本不能去掉它那个虚拟盘,去掉了就不正常,要么换findcd的版本,要么不要去掉微软那个虚拟盘。你也不看清回帖的内容,老是问。
看看你原来的帖子,看看这回明白了没有。
作者: 6618    时间: 2005-5-23 18:05
标题: 是我太笨???还是EZBOOT在搞笑
看了yaoyudx朋友的两个贴子,也看了“紫狐”朋友的回复,不是EASYBOOT太搞笑,想想,EASYBOOT那么多人在用,如果它给的*.IMG有问题,应该很早就有人发现了。EASYBOOT本身是没问题的,通过自己动手,相信yaoyudx朋友也明白了好一些东西。
作者: 附骨之蛆    时间: 2005-5-23 19:29
标题: 是我太笨???还是EZBOOT在搞笑
同意6618看法,偶的98自动安装光盘就是用这个IMG,完全行得通
作者: bdfcy    时间: 2005-5-23 19:59
标题: 是我太笨???还是EZBOOT在搞笑
哈哈,据我所知,EZBOOT 带的这个 setup98.img 是从原版 Windows 98 安装光盘提取的!!!
作者: yaoyudx    时间: 2005-5-23 21:11
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由yaoyudx在 2005/05/23 09:21pm 第 1 次编辑]
下面引用由紫狐2005/05/23 04:09pm 发表的内容:
都和你说了,微软的版本不能去掉它那个虚拟盘,去掉了就不正常,要么换findcd的版本,要么不要去掉微软那个虚拟盘。你也不看清回帖的内容,老是问。
看看你原来的帖子,看看这回明白了没有。
我都仔细看了啊,哎,我DOS学的差,狐兄指的“要启动它那个虚拟盘后它才能赋CD-ROM的盘符”启动虚拟盘的命令行是“set CDROM=FOO23”这句吗?我一直没有去掉这一句啊!

我最郁闷的是,我用EZBOOT自带的IMG,什么都不改,安装完后,直接点个制作ISO,然后用VPC测试,总是"FOO23"=="FOO23" goto NOCDROM
作者: 紫狐    时间: 2005-5-23 21:59
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由yaoyudx2005/05/23 09:11pm 发表的内容:
我都仔细看了啊,哎,我DOS学的差,狐兄指的“要启动它那个虚拟盘后它才能赋CD-ROM的盘符”启动虚拟盘的命令行是“set CDROM=FOO23”这句吗?我一直没有去掉这一句啊!
我最郁闷的是,我用EZBOOT自带的IMG,什么 ...
虚拟盘是指里面的RAMDRIVE.SYS,加载这个后会建立一个虚拟盘,你如果去掉这个,微软的findcd就就无法找到光驱的盘符,建议更换findcd。
作者: wang6071    时间: 2005-5-23 22:49
标题: 是我太笨???还是EZBOOT在搞笑
[UploadFile=1_1116859460.jpg]
EasyBoot的setup98.img中的findcd确实有问题,想不到流传如此广泛的软件其附带的启动盘居然有此低级错误。刚才在虚拟机中试了一把,请大家单击看大图清楚些。
虽然换个findcd是简单的,但楼主研究问题的态度值得大家学习。

作者: yaoyudx    时间: 2005-5-23 23:26
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由yaoyudx在 2005/05/24 02:51am 第 3 次编辑]

5555555555555…………这么多人都说能用,我到后面真的有点不敢问了……
我更换了FINDCD.exe还是不行
执行结果如图
我发现只有在运行了findcd后,再加一句set cdrom=就对了[UploadFile=abc_1116863900.jpg]
作者: wang6071    时间: 2005-5-23 23:38
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由yaoyudx2005/05/23 11:26pm 发表的内容:
5555555555555…………这么多人都说能用,我到后面真的有点不敢问了……
而且我发现它自带的那个IMG里面config文件里也没有加载ramdrive.sys啊
有啥可怕的,发现问题就是要提出来讨论吧。
不过,下次有类似问题可以采取 贴图+文字 的方法,以免误导观众。
作者: yaoyudx    时间: 2005-5-24 00:01
标题: 是我太笨???还是EZBOOT在搞笑
呵呵,怕人们骂我笨啊~~,这次把图贴出来了
作者: wang6071    时间: 2005-5-24 00:17
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由yaoyudx2005/05/23 11:26pm 发表的内容:
我更换了FINDCD.exe还是不行
我发现只有在运行了findcd后,再加一句set cdrom=就对了,config文件里没有加载ramdrive.sys也行
哎!你的dos真该补补啦。
set cdrom=  就是删除cdrom变量啦。
这样后下面来判断:if "%CDROM%"=="FOO23" goto NOCDROM
则这个goto NOCDROM永远不会执行的。等于就是没判断有没有CDROM。
下面
path=a:\;%CDROM%\   //变成了path=a:\;
%CDROM%             //环境变量cdrom已经被你删掉,这行相当于空行
cd \WIN98           //这行相当于 cd a:\win98  下面的结果还会对吗?
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT
你要下几个启动盘来看看人家是怎么做的呀!
可以参考一我做的启动盘: http://wangsea.ys168.com/


作者: yaoyudx    时间: 2005-5-24 00:54
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由wang60712005/05/24 00:17am 发表的内容:
哎!你的dos真该补补啦。
set cdrom=  就是删除cdrom变量啦。
这样后下面来判断:if "%CDROM%"=="FOO23" goto NOCDROM
则这个goto NOCDROM永远不会执行的。等于就是没判断有没有CDROM。
...
我真有点搞不懂了,我这样做真的成功了(如图)
[UploadFile=abc_1116867208.jpg]
作者: wang6071    时间: 2005-5-24 07:41
标题: 是我太笨???还是EZBOOT在搞笑
从你贴的图与你所说的方法来看,我也搞不懂怎么会有这样的执行结果。
所以,请详细告知你测试的环境与你修改的内容(将autoexec.bat全文贴上我们来分析一下)。
如果你有空间的话,不妨将你的这个IMG放到某个我们可以下到的地方,以便找到原因。没空间的话,可以仅将修改及替换的部分打包放在贴子中。(顺便说一下:我可能在晚上有空来看这个贴子了)。
作者: 紫狐    时间: 2005-5-24 09:11
标题: 是我太笨???还是EZBOOT在搞笑
下面引用由wang60712005/05/23 10:49pm 发表的内容:
EasyBoot的setup98.img中的findcd确实有问题,想不到流传如此广泛的软件其附带的启动盘居然有此低级错误。刚才在虚拟机中试了一把,请大家单击看大图清楚些。
虽然换个findcd是简单的,但楼主研究问题的态度值得 ...

你在调试中间有没有修改过config.sys的内容?或者将中间部分语句跳过?特别是RAMDRIVE.SYS?如果调过执行RAMDRIVE.SYS的语句,肯定会出错,建议你重新再试一试,不要跳过中间的任何语句。
作者: yaoyudx    时间: 2005-5-24 14:25
标题: 是我太笨???还是EZBOOT在搞笑
这是autoexec.bat文件内容
set EXPAND=YES
SET DIRCMD=/O:N
cls
set temp=c:\
set tmp=c:\
path=a:\
IF "%config%"=="NOCD" GOTO QUIT
LH MSCDEX.EXE /D:oemcd001 /L:D
echo.
IF "%config%"=="SETUP_CD" goto AUTOSETUP
GOTO QUIT
:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
if "%CDROM%"=="FOO23" goto NOCDROM
path=a:\;%CDROM%\
%CDROM%
cd \WIN98
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT
:NOCDROM
echo.
echo The Windows 98 Setup files were not found.
echo.
:QUIT
这是config.sys内容
[menu]
menuitem=SETUP_CD, Start Windows 98 Setup from CD-ROM.
menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menudefault=SETUP_CD,30
menucolor=7,0
[SETUP_CD]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:oemcd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:oemcd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:oemcd001
[CD]
device=himem.sys /testmem:off
device=oakcdrom.sys /D:oemcd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:oemcd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:oemcd001
[NOCD]
device=himem.sys /testmem:off
[COMMON]
files=60
buffers=20
dos=high,umb
stacks=9,256
lastdrive=z

作者: yaoyudx    时间: 2005-5-24 14:34
标题: 是我太笨???还是EZBOOT在搞笑
img用的就是ezboot5.0.6.472自带的setup98.img,如果什么都不改动,只是单单把FINDCD更换,虽然能返回盘符,结果还是和17楼的贴图一样。同时我注意到自带的setup.img里面config.sys里面本身就是没加载RAMDRIVE.SYS的语句。为了保持用的是原汁原味自带的img,我也没有修改config。
作者: wang6071    时间: 2005-5-24 19:06
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由wang6071在 2005/05/24 07:35pm 第 1 次编辑]

你17楼说:
  我发现只有在运行了findcd后,再加一句set cdrom=就对了,config文件里没有加载ramdrive.sys也行,我理解成:
:AUTOSETUP
set CDROM=FOO23
FINDCD.EXE
set CDROM=               //注意,这就是我理解的你说的内容,你这样修改了吗?
if "%CDROM%"=="FOO23" goto NOCDROM  //如果这样改,这个ghoto就不会执行了。
      
可是你21楼贴的Autoexec.bat并没有加上这句呀?
17楼的set cdrom=  恐怕是你替换的findcd执行后的显示吧。
(这样就可以说通了,你这个版本的findcd 实际上找到cdrom后显示两行:
cdrom=e:
set cdrom=e:  //但不知为啥仅显示的前半段set cdrom= ,而没有显示后半段的e:,所以再次误导大家)
所以,请表达清楚你的意思,16楼我已经说了要换个findcd。
另外,上面不知某位兄弟可能记错了,正宗的win98启动盘是没有findcd的。
作者: yaoyudx    时间: 2005-5-24 23:49
标题: 是我太笨???还是EZBOOT在搞笑
17楼的图,我没加"set cdrom="这一句啊!!21楼的图,我才在findcd执行完后,加上了"set cdrom="这一句,而且,关键是,21楼的图,是我在autoexec.bat里面,加的的确是"set cdrom="这一句,后面没有加E:
作者: wang6071    时间: 2005-5-25 00:00
标题: 是我太笨???还是EZBOOT在搞笑
越说越乱了,看看你24楼最后贴的autoexec.bat吧, set cdrom=  这一句在哪?
还是将findcd及autoexec.bat打包放到贴子中吧(这两个是你替换和修改过的部分吧?),否则不知何时才能理清。
作者: yaoyudx    时间: 2005-5-25 01:00
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由yaoyudx在 2005/05/25 01:09am 第 1 次编辑]

哦,哦,24楼我用的是原汁原味ezboot5.0.6.472自带setup98.img里面的autoexec.bat和config.sys,没有做任何修改,25楼说明了,只是换了一下FINDCD的版本!
呵呵,总结:我郁闷的就是两个问题——1、用ezboot5.0.6.472自带setup98.img不能返回盘符。2、后来老大些叫我换FINDCD版本,换了之后,还是不对!
我没空间上传img文件,ezboot5.0.6.472到处都有下的嘛,老大去下一个,里面不就有setup98.img这个文件了,反正我如果只是单单换了findcd的版本,还是不对!
上传了我用的findcd版本和autoexec.bat文件。autoexec.bat没有修改!!如果用这两个文件,还是不对,只有在autoexec.bat里面findcd.exe后面加上一句"set cdrom="就对了。不知为何,兄弟可以试试!
[UploadFile=findcd_1116954334.rar]
作者: 紫狐    时间: 2005-5-25 10:24
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由紫狐在 2005/05/25 10:33am 第 1 次编辑]

知道是什么原因了,今天下了个eb,试了里面的img文件,eb的img文件不是微软原来的启动文件,是修改过的,原来微软的启动文件没有findcd,而是调用findram来确定光驱盘符的,而eb的findcd是Wengier初期的版本,有BUG,而且不支持多光驱,且eb修改img的人太马虎,修改后也没有把微软的set CDROM=FOO23给去掉,由于findcd有bug,所以有的机器能够正常执行,有的则不能正常执行;yaoyudx提供的附件应该是Wengier的新版本,运行findcd /?会出现使用提示,现在就eb原来的autoexec.bat进行简单修改:
:AUTOSETUP
FINDCD.EXE /s
if "%CDROM%"=="0" goto NOCDROM
path=a:\;%CDROM1%\
%CDROM1%
cd \WIN98
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT

作者: yaoyudx    时间: 2005-5-25 13:00
标题: 是我太笨???还是EZBOOT在搞笑
感动,感动,这两天受益匪浅!!感觉兄弟们不厌其烦的给我解释!
作者: whxzu    时间: 2005-5-25 16:53
标题: 是我太笨???还是EZBOOT在搞笑
ok
作者: wang6071    时间: 2005-5-25 18:46
标题: 是我太笨???还是EZBOOT在搞笑
昨天太晚没回你,今天上班做了测试,解决方案与紫狐兄弟差不多不过偶分析了原因。偶可不知道紫狐兄弟说的那段历史,所以笨了一把,做了几个测试来证明这的确是一个BUG。
同时,也说明了此BUG产生的条件及解决方案。
以下是我上班时抽空写的,就不修改直接附上供大家参考吧:
恭喜,你发现了Wengier写的findcd的BUG,你可以去买彩票啦!:)
建议将贴子的标题改为:Easyboot的setup98.img及wengier之Findcd的BUG!
如何确认这是一个BUG?请在windows的dos窗口下手动执行下面语句
第一步:先观察正常时的情况
findce   //可以看到findcd设定了环境变量cdrom=H:  (我的光驱盘符)
echo %cdrom%   //查看一下变量cdrom的值是否是H:
可以看到输出结果是H:,这是正常是的情况。
第二步:展示findcd的BUG
set cdrom=f0023   //先不用findcd而就设置环境变量cdrom的值为f0023
findcd    //按理findcd执行后应该是cdrom=h:才对,是不是呢?
set       //来看一下环境变量cdrom到底是多少呢?
//你会发现cdrom=f0023
//        cdrom=h:
//环境变量中有两个cdrom!奇怪吧!
//dos可以设两个同名的环境变量吗?这个问题我最后解释,继续实验
set cdrom=      //删掉环境变量cdrom,看一下是怎样的
set            
//删掉了第一个set cdrom=f0023 ,还有一个cdrom=h:
set cdrom=     //再删一次
set
//这次删掉了findcd写入的环境变量cdrom=h:
第三步:更深入的研究
findcd      //现在cdrom=h:
set cdrom=f0023  //重设一下cdrom
set
//现在没有了两个cdrom环境变量,与dos统一了。
现在我来解释一下:
1:dos可以设两个相同的环境变量吗?
  set cdrom=0001
  set cdrom=0002
结果 cdrom=0002,所以答案是:不能。
2:既然dos不可设两个相同的环境变量,那么第二步中我们有两个相同的环境变量呢?
  这是findcd的BUG,也就是说,程序写得不完善。这个findcd直接在dos环境块中增加环境变量cdrom时,没有检测环境块中是否已存在cdrom这个环境变量是否存在就增加了cdrom环境变量,导致了两个cdrom环境变量的出现。因为不是通过dos内建set命令来执行,所以dos并不能修正它。
  
  理解了上面这段话的意思,则不难理解第三步我们的实验,因为dos内建命令是检测环境变量的,所以当findcd建了一个cdrom=h:后,set cdrom=f0023只能是改变findcd所建的cdrom的值,而不会出现findcd那样带来两个cdrom环境变量的问题。
  至于步骤2中set cdrom= 两次才能删掉环境变量cdrom就很好理解了。dos执行内建命令set xxx=  (空)作删除时不是遍列环境变量地删除,而是遇到第一个符合条件的环增变量就删除并退出了。
3:回到正题,你的关于easyboot自带的setup98.img的修改有问题吗?
:AUTOSETUP
set CDROM=FOO23  
FINDCD.EXE  
//如2中描述,现在有了两个环境变量CDROM=F0023 及CDROM=h:
set cdrom=   
//这个是你的修改,事实上它将删除第一个CDROM=F0023
//但我们仍有第二个CDROM=h:可用。  
if "%CDROM%"=="FOO23" goto NOCDROM
//这句话变成了 if H:=F0023 goto NOCDROM,所以你能成功运行安装程序
path=a:\;%CDROM%\
%CDROM%
cd \WIN98
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT
:NOCDROM
echo.
echo The Windows 98 Setup files were not found.
echo.
:QUIT
从上面我加的分析可看出,在CDROM被findcd检测到时这段程序是正确的。但是,如果findcd没检测到光驱呢?
请不要加载光驱,直接在真实dos的命令行(不是windows的cmd)下做一个测试:
set cdrom=f0023  //环境变量cdrom=f0023
findcd.exe       //没有发现光驱,findcd不作操作,所以环境变量cdrom=f0023不会改变
好了,现在我们来分析没光驱情况下加set cdrom= 有无危害
set CDROM=FOO23  
FINDCD.EXE  //假设findcd没检测到光驱,则findcd不操作环境变量,当前环境变量cdrom=f0023
set cdrom=   
//这个是你的修改,它将删除第一个CDROM=F0023,这样已经不存在了环境变量CDROM了。
if "%CDROM%"=="FOO23" goto NOCDROM
//这句话变成了 if (空)=F0023 goto NOCDROM ,出错了了吧,它永远不会跳转NOCDROM
path=a:\;%CDROM%\   //以下将会执行并出错。
%CDROM%
结论:从第3描述可看出,你这样的修改在光驱被findcd.exe检测到时是正确的,但如果光驱没被检测到将会出错。
4:如何避免Wengier的findcd的BUG而又使批处理更健壮呢?
  从结论可看出:findcd前不能有set cdrom=xxxx!,后不能有set cdrom= 删除语句,如下修改即可:
:AUTOSETUP
FINDCD.EXE  
IF %CDROM%#==# goto NOCDROM  
path=a:\;%CDROM%\
%CDROM%
cd \WIN98
echo.
OEMSETUP.EXE /K "/IE /NF"
goto QUIT
:NOCDROM
echo.
echo The Windows 98 Setup files were not found.
echo.
:QUIT

说明:
IF %CDROM%#==# goto NOCDROM  //仅判断cdrom变量存在与否就可以了判断光驱是否存在!
  
作者: 6618    时间: 2005-5-29 15:20
标题: 是我太笨???还是EZBOOT在搞笑
希望多一些这样深入研究和讨论气氛的贴子,此贴加精。
作者: Marine    时间: 2005-7-18 23:59
标题: 是我太笨???还是EZBOOT在搞笑
DOS的学问真不少,真奇怪MS会判它死刑
作者: magictek    时间: 2005-7-19 01:16
标题: 是我太笨???还是EZBOOT在搞笑
同意4楼观点,虽然我没用过,但是这个批处理的确没问题
作者: 赌东道    时间: 2005-7-19 01:37
标题: 是我太笨???还是EZBOOT在搞笑
我用这个setup98.img很成功的!
但是,由于光盘里面包含了很多DOS中文工具,觉得这个setup98.img用起来不方便,便自己动手修改了一下,效果是点击“安装WIN98”直接打开安装界面,没有选择菜单和等待时间。
而且,如果光盘根目录下包含WIN98文件夹,在2000或XP下运行光盘会提示“光盘上的Windows版本低于当前系统版本”,不能直接打开。我同时修改了WIN98文件夹为ZYJ98文件夹。
作者: willsion    时间: 2005-7-19 12:58
标题: 是我太笨???还是EZBOOT在搞笑
有两个光驱以上,安装Win98就可能出错了(即安装光盘不是放在第一光驱时)
作者: goffi    时间: 2005-7-19 13:14
标题: 是我太笨???还是EZBOOT在搞笑
[这个贴子最后由goffi在 2005/07/19 01:18pm 第 1 次编辑]

两个或者两个以上光驱的要增加一个判断部分,比如以光盘上的一个文件做条件,判断安装在哪一个光驱里,否则只能在第一个物理光驱上安装
98的安装盘本来就是这样的,和EZBOOT没什么关系
作者: ttt0001    时间: 2005-7-19 17:11
标题: 是我太笨???还是EZBOOT在搞笑
肯定能用的!我用过了。
作者: yys5161    时间: 2007-3-19 21:47
旧帖子真是学问大呢?哪位将做好的win98.img和winme.img上传一下呢/
作者: pianzk    时间: 2014-1-2 14:48
我的情况和楼主一样,试了N次,FINDCD.EXE执行之后无法找到光驱而改变CDROM的值,最后永远都是F0023==F0023.但是我换了一个FINDCD.EXE程序,上面所有的语句就可以顺利执行了。
我觉得奇怪的是,在WIN98SE的原版ISO文件里是可以顺利执行的,FINDCD.EXE是可以正确执行的,我提取出引导文件之后,再原封不动的加载到另外的ISO文件里面就不能顺利执行了,不知道过程中哪儿出了问题。
作者: hxwgz    时间: 2014-1-5 02:55
本帖最后由 2012hxwgz 于 2014-1-5 03:01 编辑

如果光盘中不存在\win98\setup.exe
微软98的findcd不起作用的.

微软98的findcd在多光盘的情况下可直接找到安装盘





欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3