急!如何让MS-DOS7.1启动盘支持IDE/ATAPI,SATA,SCSI/ASPI,USB各种驱动
最近,小弟想做一张启动盘,不在config.sys中设置启动选项的情况下,想让MS-DOS7.1启动盘支持IDE/ATAPI,SATA,SCSI/ASPI,USB各种硬盘,光驱,移动磁盘,闪存,USB鼠标等驱动,请各位大哥大姐指出如下配置有何不妥,或者还缺少什么驱动,会不会在有USB设备时运行会挂掉,我感到有些驱动好像在某一设备驱动上重复(如USB设备),请各位大哥大姐帮我回帖一个比较全面的且优化的程序方案。就在原贴上改吧!感激不尽!急需你的帮忙!如果有什么智能检测的批处理代码更好!
以下是我用到的驱动简单说明:
ASPICD.SYS SCSI光驱支持
ASPIDISK.SYS SCSI磁盘支持
ASPIOHCI.SYS Iomega公司出的OHCI接口的USB驱动器的驱动程序
ASPIUHCI.SYS Iomega公司出的UHCI接口的USB驱动器的驱动程序
CP936UNI.TBL DOSLFN 0.32o的简体中文(GB)代码页,用于中英文长文件名支持
DUSE.EXE DOS下的USB驱动器的驱动程序,可驱动USB硬盘、USB光驱、USB软驱等
DI1000DD.SYS Motto Hairu中的USB/SCSI硬盘的驱动程序
ECHO.SYS 使在CONFIG.SYS中能显示文字的工具
GCDROM.SYS SATA光驱支持
HIMEM.SYS MS-DOS 7.10中自带的提供XMS内存的工具,支持大内存
LOWDMA.SYS 提供软盘的ISA DMA UMB支持
UDMAJR.SYS DOS下支持TB级容量的硬盘和 UltraDMA33/66/100/133/166各种模式
UMBPCI.SYS 支持 K8芯片组,提供了最卓越的 UMB 内存驱动,启动后常规内存高达630K!
USBASPI.SYS Motto Hairu中的USB驱动程序2.06最新版
USBCD.SYS Motto Hairu中的USB/SCSI光驱的驱动程序
VIDE-CDD.SYS DOS下最好的通用IDE/ATAPI光驱驱动程序,只占很少的内存
以下是我ms-dos7.1启动盘中的config.sys文件内容:
rem made by 王小云
rem ------------------------------------------------------------------------------
rem 使dos下能够支持TB级容量的硬盘和 UltraDMA33/66/100/133/166各种模式和大内存支持
rem 支持 K8 芯片组,提供了最卓越的 UMB 内存驱动, 启动后常规内存高达630K!
rem 支持 IDE/ATAPI , SATA , SCSI/ASPI , USB 光驱和硬盘
rem 支持 USB 软驱、USB闪存(如U盘)、OHCI接口和UHCI接口驱动器的驱动
rem 提供软盘的ISA DMA UMB支持
rem 支持串口(Serial)和PS/2口鼠标, 支持 USB 接口鼠标驱动
rem 全面支持中英文长文件名
rem ------------------------------------------------------------------------------
dos=high,umb
files=20
buffers=30
stacks=9,256
shell=COMMAND.COM /p /f /e:1440
lastdrive=z
DEVICE=ECHO.SYS N/o/w c/o/n/f/i/g /d/r/i/v/e/r/s /, /m/a/d/e /b/y /W/a/n/g /X/i/a/o/y/u/n . . .
DEVICE=HIMEM.SYS /testmem:off
device=UDMAJR.SYS
rem 我到底是用emm386.exe还是用umbpci.sys来管理高端内存好呢?如果都不用会不会降低效率?
DEVICE=UMBPCI.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICEHIGH=GCDROM.SYS /D:SATA-CD
DEVICEHIGH=USBCD.SYS /D:USB-CD
DEVICEHIGH=ASPICD.SYS /D:SCSI-CD
DEVICEHIGH=DUSE.EXE
DEVICE=ASPIDISK.SYS
DEVICE=USBASPI.SYS
DEVICE=ASPIOHCI.SYS /INT /ALL
DEVICE=ASPIUHCI.SYS /INT /ALL
DEVICE=DI1000DD.SYS
DEVICE=LOWDMA.SYS
NUMLOCK=ON
COMMENT With TB level hard-disk and UltraDMA33/66/100/133/166 mode support
COMMENT With IDE/ATAPI,SATA,SCSI/ASPI,USB cdrom and hard-disk support
COMMENT With serial , ps/2 and usb mouse support
COMMENT Made by Wang Xiaoyun
以下是msdos.sys内容:
;MS-DOS 7.10 System Configuration File
;(C)Copyright Microsoft Corp.
WinDir=A:\
WinBootDir=.
HostWinBootDrv=A
BootGUI=0
DisableLog=1
BootWarn=0
BootMenu=0
BootMenuDefault=1
BootMenuDelay=0
DoubleBuffer=0
Drvspace=0
Dblspace=0
Logo=0
SystemReg=0
;
;=================================
;Made by Wang Xiaoyun
;All rights reserved.
;=================================
;
以下是autoexec.bat的内容:
@echo off
rem made by 王小云
rem 部分代码参考DOS之家(
http://doshome.com)葛明阳(gmy) 制作
if %RAMDRIVE%*==* goto begin
echo 注意: 此文件是启动批处理加载文件,已经运行过一次! 不能再运行了!
echo 提示: 你可以在任何目录下键入help获得更多功能!
ECHO ┏━━━━━━━━━━━━━━━━━━┓
ECHO ┃ 系统管理员随身光盘 ┃
ECHO ┃ 制作:王小云 版权所有,盗版不究 ┃
ECHO ┗━━━━━━━━━━━━━━━━━━┛
goto QUIT
:begin
PROMPT=$P$G
SET DIRCMD=/O:N
xmsdsk 8192 /y >NUL
findramd.exe >nul
if not %RAMDRIVE%*==* goto noramd
echo ERROR: ramdrive is not found.
echo SORRY: Be will not use the disk.
goto QUIT
:noramd
md %RAMDRIVE%\temp >NUL
set temp=%RAMDRIVE%\temp
set tmp=%RAMDRIVE%\temp
path=%RAMDRIVE%\;%RAMDRIVE%\temp;a:\
copy /y command.com %RAMDRIVE%\ >NUL
set comspec=%RAMDRIVE%\command.com
IF EXIST ebd.cab GOTO EXT
echo ERROR: ebd.cab not found.
echo SORRY: Be will not use the disk.
echo.
GOTO QUIT
:EXT
cls
echo.
echo Preparing to start your computer.
echo This may take a few minutes. Please wait...
echo ------------------------------------------------------------------
echo With TB level hard-disk and UltraDMA33/66/100/133/166 mode support
echo With IDE/ATAPI,SATA,SCSI/ASPI,USB cdrom and hard-disk support
echo With K8 firewire and power umb mem driver support
echo With serial , ps/2 and usb mouse support
echo Made by Wang Xiaoyun
echo -------------------------------------------------------------------
copy /y extract.exe %RAMDRIVE%\ > NUL
%RAMDRIVE%\
cd\
extract /y /e /l %RAMDRIVE% a:\ebd.cab > NUL
start.BAT
:QUIT
以下是start.bat的内容(位于XMSDSK创建的虚拟内存盘中):
@echo off
%RAMDRIVE%\
cd\
cls
if not %CDROM%*==* goto end
call tway.bat
call mouse.bat
DOSLFN /z:Cp936uni.tbl >NUL
lh SHSUCDX /D:?IDE-CD /D:?SATA-CD /D:?USB-CD /D:?SCSI-CD /D:?USBCDROM
findcd /s >NUL
:end
rem 设置标题
set title=系统管理员随身光盘
rem 运行第一个批处理
启动应用程序的批处理.BAT
另外为还有一个应用程序批处理运行完毕后的执行的批处理如下:
@echo off
%RAMDRIVE%\
cd\
set s=
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\tools\xiaoyun.bat set s=%%b
if not %s%*==* set PATH=%PATH%;%s%:\;%s%:\tools
cls
if not %title%*==* echo 感谢使用 %title% !
ECHO ┏━━━━━━━━━━━━━━━━━━┓
ECHO ┃ 系统管理员随身光盘 ┃
ECHO ┃ 制作:王小云 版权所有,盗版不究 ┃
ECHO ┗━━━━━━━━━━━━━━━━━━┛
echo 重启: R 回车
echo 关机: S 回车
echo 返回: M 回车
echo 帮助: H 回车
echo 本帮助 end 回车
echo 更多功能: help回车
echo.
if not %RAMDRIVE%*==* echo 虚拟内存盘=%RAMDRIVE%
if not %CDROM%*==* echo 光驱总数= %CDROM% ,光驱盘符依次= %CDROM1% %CDROM2% %CDROM3% %CDROM4% %CDROM5% %CDROM6% %CDROM7% %CDROM8% %CDROM9% %CDROM10% %CDROM11% %CDROM12% %CDROM13% %CDROM14% %CDROM15% %CDROM16% %CDROM17% %CDROM18% %CDROM19% %CDROM20% %CDROM21% %CDROM22% %CDROM23% %CDROM24% %CDROM25% %CDROM26%
rem 这可能的26个光驱该总样用for 语句简化啊?
请各位大哥大姐给我一个优化的方案啊,跪求了,还有启动盘运行后,当检测到硬盘有ntfs分区时就加载ntfs驱动,否则不加载,这段代码总样编写啊?
请问使用loadsys程序加载驱动,用mem内存查看方式判断如果加载某驱动成功则继续加载下一个驱动,否则先卸载此驱动再加载下一个驱动的做法是否可取啊?
Urgent! How to make the MS-DOS 7.1 boot disk support IDE/ATAPI, SATA, SCSI/ASPI, USB various drivers
Recently, the younger brother wants to make a boot disk. Without setting the boot options in config.sys, he wants the MS-DOS 7.1 boot disk to support IDE/ATAPI, SATA, SCSI/ASPI, USB hard disks, optical drives, mobile disks, flash drives, USB mice and other drivers. Please let the brothers and sisters point out what is wrong with the following configuration, or what drivers are still missing, and whether it will crash when there are USB devices. I feel that some drivers seem to be repeated on a certain device driver (such as USB devices). Please let the brothers and sisters reply with a more comprehensive and optimized program plan. Just modify it on the original post! Thank you very much! Urgently need your help! If there is any batch code for intelligent detection, it will be better!
The following is a simple description of the drivers I used:
ASPICD.SYS SCSI optical drive support
ASPIDISK.SYS SCSI disk support
ASPIOHCI.SYS Driver program for USB drives with OHCI interface from Iomega Corporation
ASPIUHCI.SYS Driver program for USB drives with UHCI interface from Iomega Corporation
CP936UNI.TBL Simplified Chinese (GB) code page for DOSLFN 0.32o, used for Chinese and English long filename support
DUSE.EXE Driver program for USB drives under DOS, which can drive USB hard disks, USB optical drives, USB floppy drives, etc.
DI1000DD.SYS Driver program for USB/SCSI hard disks in Motto Hairu
ECHO.SYS Tool to display text in CONFIG.SYS
GCDROM.SYS SATA optical drive support
HIMEM.SYS Tool provided in MS-DOS 7.10 to provide XMS memory, supporting large memory
LOWDMA.SYS Provides ISA DMA UMB support for floppy disks
UDMAJR.SYS Supports hard disks with TB-level capacity and UltraDMA33/66/100/133/166 various modes under DOS
UMBPCI.SYS Supports K8 chipset, provides the most excellent UMB memory driver, and the conventional memory after startup is as high as 630K!
USBASPI.SYS The latest version 2.06 of the USB driver in Motto Hairu
USBCD.SYS Driver program for USB/SCSI optical drives in Motto Hairu
VIDE-CDD.SYS The best general IDE/ATAPI optical drive driver under DOS, which occupies very little memory
The following is the content of the config.sys file in my MS-DOS 7.1 boot disk:
rem made by Wang Xiaoyun
rem ------------------------------------------------------------------------------
rem Enable DOS to support hard disks with TB-level capacity and UltraDMA33/66/100/133/166 various modes and large memory support
rem Supports K8 chipset, provides the most excellent UMB memory driver, and the conventional memory after startup is as high as 630K!
rem Supports IDE/ATAPI, SATA, SCSI/ASPI, USB optical drives and hard disks
rem Supports USB floppy drives, USB flash drives (such as USB drives), drivers for OHCI interface and UHCI interface
rem Provides ISA DMA UMB support for floppy disks
rem Supports serial (Serial) and PS/2 port mice, supports USB interface mouse driver
rem Fully supports Chinese and English long filenames
rem ------------------------------------------------------------------------------
dos=high,umb
files=20
buffers=30
stacks=9,256
shell=COMMAND.COM /p /f /e:1440
lastdrive=z
DEVICE=ECHO.SYS N/o/w c/o/n/f/i/g /d/r/i/v/e/r/s /, /m/a/d/e /b/y /W/a/n/g /X/i/a/o/y/u/n . . .
DEVICE=HIMEM.SYS /testmem:off
device=UDMAJR.SYS
rem Which is better to use emm386.exe or umbpci.sys to manage upper memory? Will it reduce efficiency if neither is used?
DEVICE=UMBPCI.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
DEVICEHIGH=GCDROM.SYS /D:SATA-CD
DEVICEHIGH=USBCD.SYS /D:USB-CD
DEVICEHIGH=ASPICD.SYS /D:SCSI-CD
DEVICEHIGH=DUSE.EXE
DEVICE=ASPIDISK.SYS
DEVICE=USBASPI.SYS
DEVICE=ASPIOHCI.SYS /INT /ALL
DEVICE=ASPIUHCI.SYS /INT /ALL
DEVICE=DI1000DD.SYS
DEVICE=LOWDMA.SYS
NUMLOCK=ON
COMMENT With TB level hard-disk and UltraDMA33/66/100/133/166 mode support
COMMENT With IDE/ATAPI,SATA,SCSI/ASPI,USB cdrom and hard-disk support
COMMENT With serial , ps/2 and usb mouse support
COMMENT Made by Wang Xiaoyun
The following is the content of msdos.sys:
;MS-DOS 7.10 System Configuration File
;(C)Copyright Microsoft Corp.
WinDir=A:\
WinBootDir=.
HostWinBootDrv=A
BootGUI=0
DisableLog=1
BootWarn=0
BootMenu=0
BootMenuDefault=1
BootMenuDelay=0
DoubleBuffer=0
Drvspace=0
Dblspace=0
Logo=0
SystemReg=0
;
;=================================
;Made by Wang Xiaoyun
;All rights reserved.
;=================================
;
The following is the content of autoexec.bat:
@echo off
rem made by Wang Xiaoyun
rem Part of the code refers to Ge Mingyang (gmy) from DOS Home (
http://doshome.com) production
if %RAMDRIVE%*==* goto begin
echo Attention: This file is the boot batch loading file, it has been run once! It cannot be run again!
echo Prompt: You can type help in any directory to get more functions!
ECHO ┏━━━━━━━━━━━━━━━━━━┓
ECHO ┃ System Administrator Portable CD ┃
ECHO ┃ Made by Wang Xiaoyun All rights reserved, piracy is not allowed ┃
ECHO ┗━━━━━━━━━━━━━━━━━━┛
goto QUIT
:begin
PROMPT=$P$G
SET DIRCMD=/O:N
xmsdsk 8192 /y >NUL
findramd.exe >nul
if not %RAMDRIVE%*==* goto noramd
echo ERROR: ramdrive is not found.
echo SORRY: Be will not use the disk.
goto QUIT
:noramd
md %RAMDRIVE%\temp >NUL
set temp=%RAMDRIVE%\temp
set tmp=%RAMDRIVE%\temp
path=%RAMDRIVE%\;%RAMDRIVE%\temp;a:\
copy /y command.com %RAMDRIVE%\ >NUL
set comspec=%RAMDRIVE%\command.com
IF EXIST ebd.cab GOTO EXT
echo ERROR: ebd.cab not found.
echo SORRY: Be will not use the disk.
echo.
GOTO QUIT
:EXT
cls
echo.
echo Preparing to start your computer.
echo This may take a few minutes. Please wait...
echo ------------------------------------------------------------------
echo With TB level hard-disk and UltraDMA33/66/100/133/166 mode support
echo With IDE/ATAPI,SATA,SCSI/ASPI,USB cdrom and hard-disk support
echo With K8 firewire and power umb mem driver support
echo With serial , ps/2 and usb mouse support
echo Made by Wang Xiaoyun
echo -------------------------------------------------------------------
copy /y extract.exe %RAMDRIVE%\ > NUL
%RAMDRIVE%\
cd\
extract /y /e /l %RAMDRIVE% a:\ebd.cab > NUL
start.BAT
:QUIT
The following is the content of start.bat (located in the virtual memory disk created by XMSDSK):
@echo off
%RAMDRIVE%\
cd\
cls
if not %CDROM%*==* goto end
call tway.bat
call mouse.bat
DOSLFN /z:Cp936uni.tbl >NUL
lh SHSUCDX /D:?IDE-CD /D:?SATA-CD /D:?USB-CD /D:?SCSI-CD /D:?USBCDROM
findcd /s >NUL
:end
rem Set title
set title=System Administrator Portable CD
rem Run the first batch processing
Batch processing to start the application.BAT
There is also a batch processing executed after the execution of an application batch processing as follows:
@echo off
%RAMDRIVE%\
cd\
set s=
for %%b in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%b:\tools\xiaoyun.bat set s=%%b
if not %s%*==* set PATH=%PATH%;%s%:\;%s%:\tools
cls
if not %title%*==* echo Thank you for using %title% !
ECHO ┏━━━━━━━━━━━━━━━━━━┓
ECHO ┃ System Administrator Portable CD ┃
ECHO ┃ Made by Wang Xiaoyun All rights reserved, piracy is not allowed ┃
ECHO ┗━━━━━━━━━━━━━━━━━━┛
echo Restart: Press R
echo Shutdown: Press S
echo Return: Press M
echo Help: Press H
echo This help Press end
echo More functions: Press help
echo.
if not %RAMDRIVE%*==* echo Virtual memory disk=%RAMDRIVE%
if not %CDROM%*==* echo Total number of optical drives= %CDROM% , optical drive letters in turn= %CDROM1% %CDROM2% %CDROM3% %CDROM4% %CDROM5% %CDROM6% %CDROM7% %CDROM8% %CDROM9% %CDROM10% %CDROM11% %CDROM12% %CDROM13% %CDROM14% %CDROM15% %CDROM16% %CDROM17% %CDROM18% %CDROM19% %CDROM20% %CDROM21% %CDROM22% %CDROM23% %CDROM24% %CDROM25% %CDROM26%
rem How to simplify this possible 26 optical drives with for statement?
Please let the brothers and sisters give me an optimized plan, please beg, and after the boot disk runs, when detecting that the hard disk has an ntfs partition, load the ntfs driver, otherwise do not load, how to write this code?
请问Using the loadsys program to load drivers, using the mem memory viewing method to judge whether a certain driver is loaded successfully and then continue to load the next driver, otherwise unload this driver first and then load the next driver, is this approach可取?