China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-07-24 23:16
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » Please experts to solve the multi - drive loading problem~~~Thanks~~~ View 1,587 Replies 8
Original Poster Posted 2003-06-22 00:00 ·  中国 山东 济南 广电网
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
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?
Floor 2 Posted 2003-06-22 00:00 ·  中国 广东 珠海 电信
初级用户
Credits 129
Posts 10
Joined 2002-11-17 00:00
23-year member
UID 272
Gender Male
Status Offline
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.

Floor 3 Posted 2003-06-22 00:00 ·  中国 山东 济南 广电网
中级用户
★★
Credits 364
Posts 95
Joined 2003-06-15 00:00
23-year member
UID 5250
Gender Male
Status Offline
Thanks, brother~~~ Very grateful~~~

I'll try again~~~

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

Floor 4 Posted 2003-06-22 00:00 ·  加拿大 安大略省 多伦多
系统支持
★★★★★★
“新DOS时代”站长
Credits 27,736
Posts 10,521
Joined 2002-10-09 12:00
23-year member
UID 9
Status Offline
The usage of FINDCD, let's take a look at FINDCD /? For example: FINDCD /S
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

Floor 5 Posted 2005-02-23 00:00 ·  中国 江苏 扬州 电信
铂金会员
★★★★
C++启程者
Credits 5,154
Posts 1,827
Joined 2003-07-18 00:00
23-year member
UID 7105
Gender Male
Status Offline
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..

Floor 6 Posted 2005-02-23 00:00 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
Credits 4,562
Posts 1,883
Joined 2004-01-19 00:00
22-year member
UID 15812
Gender Male
From 广东广州
Status Offline
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".
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
Floor 7 Posted 2005-02-23 00:00 ·  中国 湖南 长沙 电信
高级用户
★★
Credits 772
Posts 273
Joined 2004-10-23 00:00
21-year member
UID 32861
Gender Male
Status Offline
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
http://www.msfans.net/bbs/
Floor 8 Posted 2005-02-24 00:00 ·  中国 江苏 扬州 高邮市 电信
铂金会员
★★★★
C++启程者
Credits 5,154
Posts 1,827
Joined 2003-07-18 00:00
23-year member
UID 7105
Gender Male
Status Offline
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

Floor 9 Posted 2005-02-24 00:00 ·  中国 江苏 扬州 电信
铂金会员
★★★★
C++启程者
Credits 5,154
Posts 1,827
Joined 2003-07-18 00:00
23-year member
UID 7105
Gender Male
Status Offline
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!!
Forum Jump: