中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-09-23 23:42
47,812 topics / 349,917 posts / today 0 new / 48,274 members
DOS启动盘 & LOGO技术 (启动盘室) » Please experts to solve the multi - drive loading problem~~~Thanks~~~
Printable Version  1,744 / 8
Floor1 雨浪飘零 Posted 2003-06-22 00:00
中级用户 Posts 95 Credits 364
Now the boot disks work well when there is one CD-ROM drive, but there are problems when there are multiple CD-ROM drives~~ Especially when using boot disk images as CD-ROM boot files, the situation is more obvious~~~

Now write down all the doubts, please experts answer, thank you in advance here~~~

Question 1:
How to automatically assign drive letters to each CD-ROM drive under DOS? (I tried FINDCD, and it seems that it can't automatically assign drive letters to each CD-ROM drive)

Question 2:
Some people say "Use a tool to check if there is a CD in the CD-ROM drive. If not, change the drive letter of the CD-ROM drive to the next drive". But in this case, only one CD-ROM drive can be loaded each time, and the others still cannot be used~~ I don't know where to find such software, brother?

Question 3:
Also, if there are disks in each CD-ROM drive and only one can boot, how does it recognize whether it can boot?

Question 4:
I don't know if USB CD-ROM drives support booting? If they support, will there be conflicts when the USB drive and the IDE CD-ROM drive coexist after loading the USB driver?
Floor2 szwy Posted 2003-06-22 00:00
初级用户 Posts 10 Credits 129
The first two questions, as long as MSCDEX.EXE is loaded, it will assign a drive letter to each CD-ROM.
The third question, which CD has the boot file, it will boot from the CD in that CD-ROM.
The fourth question, I don't have a USB CD-ROM, so it's hard to answer.

Floor3 雨浪飘零 Posted 2003-06-22 00:00
中级用户 Posts 95 Credits 364
Thanks, brother~~~ Very grateful~~~

I'll try again~~~

Can the other brother explain the function and usage of FINDCD~~~

Floor4 Wengier Posted 2003-06-22 00:00
系统支持 Posts 10,521 Credits 27,736
The usage of FINDCD, let's take a look at FINDCD /? For example: FINDCD /S
Floor5 GOTOmsdos Posted 2005-02-23 00:00
铂金会员 Posts 1,827 Credits 5,154
I found a tricky problem that hasn't been solved:
In the past two days, when making a bootable CD, there is a menu for the bootable antivirus disk scene. I want to update the virus database, but that scene can't hold it anymore (it's a 2.88 floppy disk scene, which is already large...). So I thought of running FINDCD through AUTOEXEC.BAT after booting to automatically switch to the CD. The program on the CD (including the new virus database) is okay when burned to a CD and placed in the first CD drive, but when placed in the second CD drive, it can't be found because the CDROM variable passed by FINDCD is just the CD drive letter, and it seems it can't determine the CD drive that has a disk...
I tried the method with ERRORLEVEL, but it always gives
GERENAL ERROR READING DRIVE X:
ABORT, RETRY, FAILURE ? Stops there
Can't automate!
Is there any parameter or program that can determine the CD drive that has a disk?
It's best to determine the drive letter of the currently running CD..

Floor6 JonePeng Posted 2005-02-23 00:00
金牌会员 Posts 1,883 Credits 4,562 From 广东广州
Try adding a line in Config.sys: shell=command.com /f /p /e:640. The /F parameter allows DOS to automatically respond to "Abort, Retry, Ignore".
Floor7 chenhui530 Posted 2005-02-23 00:00
高级用户 Posts 273 Credits 772
I thought about it and wrote a batch script based on a small tool. First, copy it to AUTOEXEC.BAT. First, specify the CD - ROM drive letter. For example, there are three CD - ROM drives. It can judge which CD - ROM has a disc and which doesn't (just for reference, I don't know if it can meet your needs)
@echo off
set EXPAND=YES
SET DIRCMD=/N
set temp=c:\
set tmp=c:\
path=a:\;z:\
set ramdrive=
xmsdsk 10000 z: /y>nul
set ramdrive=z:
copy command.com z:\>nul
z:
md tmp
md temp
a:
set comspec=z:\command.com
set tmp=z:\tmp
set temp=z:\temp:xianshi
set cdrom=
copy a:\tw.exe z:\>nul
z:
tw /n3 /np>nul
cls
echo.
echo.
echo ========================
echo Please wait, the program is processing
echo ========================
echo.
echo.copy a:\mscdex.exe z:\>nul
LH z:\MSCDEX.EXE /D:mscd000 /D:mscd001 /D:mscd002 /L:w >nul
copy a:\cda.exe z:\>nul
z:
cda w:>z:\cdw.txt
find "not" z:\cdw.txt>nul
if not errorlevel 1 goto cdx
set cdrom=w
goto next:cdx
cda x:>z:\cdx.txt
find "not" z:\cdx.txt>nul
if not errorlevel 1 goto cdy
set cdrom=x
goto next:cdy
set cdrom=y:next
copy a:\part.exe z:\>nul
part.exe -y>nul
del part.exe>nul
lh doskey>nul
ctmouse>nul
smartdrv>nul :menu
z:
part.bat
Floor8 GOTOmsdos Posted 2005-02-24 00:00
铂金会员 Posts 1,827 Credits 5,154
Thanks for JONEPENG's tip! The problem has been solved. The key is the /F parameter. Initially, using AUTOEXEC.BAT with COMMAND /F /C started okay. Maybe because this method consumed more memory, later it didn't work. Then switching to the CONFIG.SYS SHELL= method worked fine. Maybe this method consumes less memory and is more at the bottom level?
After solving the annoying "GERENAL FAILURE READING FROM X:" prompt, it's easier!
The rewritten AUTOEXEC.BAT for the boot screen is as follows:
@ECHO OFF
lh shsucdx /d:dosrav
findcd /s
rem command /f /c
if exist %cdrom1%\rising\ravdos.exe goto cd1
if exist %cdrom2%\rising\ravdos.exe goto cd2
if exist %cdrom3%\rising\ravdos.exe goto cd3
if exist %cdrom4%\rising\ravdos.exe goto cd4
:cd1
%cdrom1%
goto end
:cd2
%cdrom2%
goto end
:cd3
%cdrom3%
goto end
:cd4
%cdrom4%
goto end
:end
cd\rising
lh smartdrv
lh ctmouse
PROMPT $p$g
CLS
ECHO.
ECHO ************************************************************************
ECHO.
ECHO It's starting "Rising AntiVirus Software <2005>" now !
ECHO Copyright by Beijing Rising Tech. Co., Ltd.
ECHO 1998-2005
ECHO.
ECHO ************************************************************************
RAVDOS.EXE

Using ERRORLEVEL didn't work because after using the COMMAND /F parameter, when the CD-ROM wasn't found, the system considered it normal and ERRORLEVEL was still 0.
CONFIG.SYS:
dos=high,umb
device=himem.sys
devicehigh=vide-cdd.sys /d:dosrav
shell=command.com /f /p /e:640
BUFFERS=22,0
FILES=40
Put the CD-ROM driver and FINDCD in the screen.
Then put the Rising DOS antivirus files and SMARTDRV CTMOUSE in the RISING directory of the CD-ROM. It's solved perfectly! Because it can not only determine which CD-ROM has a disc but also find the CD-ROM where the running disc is located!
The important files are as follows:
vide-cdd.sys shsucdx.exe findcd.exe ctmouse.exe
Open attachment

Floor9 GOTOmsdos Posted 2005-02-24 00:00
铂金会员 Posts 1,827 Credits 5,154
I encountered a strange BUG in EASYBOOT!
Initially, the CD - ROM sub - directory is RAVDOS, and the program in it is RAVDOS.EXE, with the same name. Also, there are VIDE - CDD.SYS /D:RAVDOS and SHSUCDX /D:RAVDOS. All the above names are RAVDOS. Well, the BUG comes!
After running, all other files are normal, but just can't find the RAVDOS.EXE file!! (DIR has it in its upper - level directory, but DIR /A RAVDOS.EXE can't find it!!! Of course, the program can't run either)
Isn't it strange? Later, it took great efforts to finally find out the reason!! If the names are different, there is no problem!!
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023