|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『楼 主』:
求助:我在使用超级通用MS-DOS 7.10启动盘中的一个问题
我下载的Wengier的MS DOS7.10超级通用启动盘,稍加修改后用Easyboot做成了多重启动的引导光盘,在虚拟机运行一切正常,但用光盘启动真正的机器后,再想启动应用程序,如PCTOOLS 9.0等,总是说程序太大,无法装入内存,我的内存是512M,修改方法为:把Boot目录下的多重启动菜单连同Boot目录全部删除,Config.sys仅仅注释掉部分菜单,仅留下MenuItem 4,并将MenuDefault项改为MenuDefault=M4,0,Autoexec.bat修改后的内容如下:
@ECHO OFF
KPUSH 27 27
KPUSH>NUL
REM Made by Wengier. China DOS Union.
REM All rights reserved. 2002-2003.
TM /F
LH KILLER
LH DOSKEY
LH CTMOUSE
CALL TW.BAT
::注意: 以下指令是为了保持与部分系统的兼容性:
LH CTMOUSE>NUL
IF %CONFIG%#==M6# GOTO SHUT
IF NOT %CONFIG%#==M5# GOTO BOOT
ECHO.
ECHO 正在打开带中文支持的ReadMe文件...
XMSDSK 80 /Y>NUL
FINDRAMD>NUL
IF %RAMDRIVE%#==# ECHO 无法创建虚拟驱动器!
IF %RAMDRIVE%#==# GOTO SHUT
EXTRACT /E /L %RAMDRIVE%\ DOSET.CAB EDIT.COM>NUL
XZL
%RAMDRIVE%\EDIT README.TXT
CLS
XZL /Q
:SHUT
CLS
WBAT BOX "请输入选择:",关机,重新启动
IF NOT ERRORLEVEL 3 GOTO ANS
WBAT BOX (RED ON YELLOW) "注意:请做出选择!",确定
GOTO SHUT
:ANS
IF ERRORLEVEL 2 GOTO RES
ECHO 正在试图关机...
ECHO.
SHUTDOWN S
ECHO.
ECHO 关机失败,您的计算机可能未安装ATX电源.
:RES
ECHO 正在重新启动计算机...
ECHO.
SHUTDOWN R
GOTO END
:BOOT
SET SM=
DREADY C:
IF ERRORLEVEL 1 ECHO 警告:未能找到有效的硬盘驱动器!
IF ERRORLEVEL 1 GOTO NOHD
ECHO Y|LOCK C:>NUL
ECHO.
ECHO 正在加载硬盘缓存以加快驱动器存取速度...
WBAT BOX "请在8秒内选择硬盘缓存类型:",PC-CACHE,SMARTDRV,Cancel #1,8
IF ERRORLEVEL 3 ECHO 已取消.
IF NOT ERRORLEVEL 2 PCCACHE /SIZEXT:4096 /WRITE:OFF /WIN /MINI
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 SET SM=Y
:NOHD
XMSDSK 25600 /Y /T
LH SHSUCDX /D:?IDE-CD /D:?USB-CD
ECHO 正在设置虚拟驱动器...
FINDRAMD>NUL
IF %RAMDRIVE%#==# GOTO NORAM
IF NOT EXIST %RAMDRIVE%\TEMP\NUL MD %RAMDRIVE%\TEMP
SET TMP=%RAMDRIVE%\TEMP
SET TEMP=%RAMDRIVE%\TEMP
IF NOT EXIST %RAMDRIVE%\SYSTEM\NUL MD %RAMDRIVE%\SYSTEM
COPY COMMAND.COM %RAMDRIVE%\SYSTEM>NUL
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM ECHO 警告:文件复制失败!
IF NOT EXIST %RAMDRIVE%\SYSTEM\COMMAND.COM GOTO COPYERR
SET COMSPEC=%RAMDRIVE%\SYSTEM\COMMAND.COM
EXTRACT /E /Y /L %RAMDRIVE%\SYSTEM DOSET.CAB>NUL
EXTRACT /E /Y /L %RAMDRIVE%\SYSTEM VC.CAB>NUL
IF NOT EXIST %RAMDRIVE%\PDOS95\NUL MD %RAMDRIVE%\PDOS95
EXTRACT /E /Y /L %RAMDRIVE%\PDOS95 PDOS95.CAB>NUL
COPY %RAMDRIVE%\PDOS95\PDOS.DEF %RAMDRIVE%\
ECHO 必须的DOS工具已成功加载到驱动器 %RAMDRIVE%.
:COPYERR
PATH=%RAMDRIVE%.;%RAMDRIVE%\SYSTEM
IF %SM%#==Y# LH SMARTDRV 4096 2048 /X
GOTO NEXT
:NORAM
ECHO 警告: 无法创建RAM虚拟驱动器!
IF %SM%#==Y# ECHO 无法加载SMARTDRV!
SET COMSPEC=A:\COMMAND.COM
:NEXT
SET SM=
SET DIRCMD=/OGN /4
SET PROMPT=$P$G
PATH=%PATH%;C:.;A:.;..
LH ZENO /Q
LH MOUSCLIP /M
WBAT BOX "请选择您想使用的长文件名(LFNS)代码页:",E-英语(CP437),C-简体中文(CP936),D-不支持 #2,8
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 LH DOSLFN /C- /Z:CP437UNI.TBL
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 LH DOSLFN /C- /Z:CP936UNI.TBL
IF %CONFIG%#==M3# IF %RAMDRIVE%#==# ECHO 警告: 无法加载NTFS分区支持!
IF %CONFIG%#==M4# IF %RAMDRIVE%#==# ECHO 警告: 无法加载NTFS分区支持!
IF %CONFIG%#==M3# IF NOT %RAMDRIVE%#==# NTFSDOS /U
IF %CONFIG%#==M4# IF NOT %RAMDRIVE%#==# NTFSDOS /U
LH ESCAPE
FINDCD /Q
CLS
WRITEXT 1 1 -f15 注意:
ECHO.
ECHO.
IF NOT %RAMDRIVE%#==# WRITEXT 0+ 1 请使用盘符 -f15 %RAMDRIVE% -f7 访问RAM虚拟驱动器.
ECHO.
IF NOT %CDROM%#==# WRITEXT 1+ 1 请使用盘符 -f15 %CDROM% -f7 访问第一个 -f15 CD/DVD -f7 驱动器.
IF NOT %CONFIG%#==M3# IF NOT %CONFIG%#==M4# WRITEXT 1+ 1 若需要访问 -f15 NTFS -f7 驱动器,请在命令行输入 -f15 NTFSDOS -f7 .
ECHO.
BREAK ON
LFNFOR ON
IF %RAMDRIVE%#==# GOTO END
path=%PATH%;%CDROM%:\;%CDROM%:\DM955;%CDROM%:\PCTOOLS9;%CDROM%:\TOOLS;%CDROM%:\UCDOS733
path=%path%;%CDROM%:\TOOLS\DGen20;%CDROM%:\TOOLS\DOS71;%CDROM%:\TOOLS\Ghost82
path=%path%;%CDROM%:\TOOLS\NDD2004;%CDROM%:\TOOLS\NU8;%CDROM%:\TOOLS\PCTOOLS;%CDROM%:\TOOLS\PQ8
path=%path%;%CDROM%:\TOOLS\DOS71\GVFM;%CDROM%:\UCDOS;%CDROM%:\TOOLS\HWINFO
ECHO.
WRITEXT 0+ 1 -f12 "现已进入DOS提示符环境中. [中国DOS联盟 Wengier制作, " -f14 易国平 -f12 修改汉化] -f7
ECHO.
ECHO.
WRITEXT 0+ 1 若需了解更多信息,请参阅本驱动器中的 -f15 README.TXT -f7 文件.
ECHO.
WRITEXT 1+ 1 若需要使用 -f15 天汇汉字输入提示行 -f7 ,请按 -f15 右shift -f7 键
ECHO.
ECHO.
WRITEXT 0+ 1 若需要进入 -f15 袖珍龙中文系统 -f7 ,请在命令行输入 -f15 XZL -f7
ECHO.
WRITEXT 1+ 1 若需要进入 -f15 "Vloko Commandder V4.99.08" -f7 ,请在命令行输入 -f15 VC -f7
ECHO.
WRITEXT 2+ 1 "若需要进一步信息,可访问 " -f15 http://dosbbs.2ya.com/ -f7
ECHO.
rem IF %VC%#==# GOTO END
rem SET VC=
rem ECHO.
rem ECHO 正在启动Volko Commander...
ECHO.
REM SET DIF=
REM STRINGS UMB=UMBLARGE >NUL
REM STRINGS DIF=SUB %UMB%,30720 >NUL
REM SET UMB=
REM IF NOT %DIF%#==# GOTO LH
REM VC
REM GOTO END
REM :LH
REM SET DIF=
REM LH VC
:END
ECHO.
%RAMDRIVE%
[ Last edited by ygp2sfec on 2006-2-10 at 12:52 ]
|
|
2006-2-10 12:40 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
2 楼』:
Re ygp2sfec:
在虚拟机下正常而在真实机下异 常,则比较可能是硬件或者BIOS的问题。启动时按F5通过逐步运行CONFIG.SYS配置行,并注意观察各程序的运行状态,尤其是与内存配置有关的程序,比如 umbpci 。然后再将异常的输出信息贴出让大家参考。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-2-10 13:00 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
3 楼』:
没办法逐步运行Config.sys配置行啊
我试过了,按下F5后,Config.sys大概根本就没执行,当然Autoexec.bat也没有执行,直接启动DOS后进入A:>状态了。
|
|
2006-2-10 15:08 |
|
|
DOSforever
金牌会员
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
|
2006-2-10 18:17 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
5 楼』:
逐步执行过了
我按下F8逐步执行过了,我的CONFIG.SYS全文如下:
[MENU]
REM MENUITEM=M1,Boot with EMM386(NOEMS) [Protected Mode]
REM MENUITEM=M2,Boot with UMBPCI [Real Mode]
REM MENUITEM=M3,Boot with EMM386(NOEMS), NTFS and SCSI/USB drives support(if any)
MENUITEM=M4,Boot with UMBPCI, NTFS and SCSI/USB drives support(if any)
REM MENUITEM=M5,View the README file only(with Chinese support)
REM MENUITEM=M6,Shutdown or restart the computer
MENUDEFAULT=M4,0
[M1]
DEVICE=ECHO.SYS L/o/a/d/i/n/g CONFIG.SYS /w/i/t/h EMM386...
DEVICE=HIMEM.SYS
DEVICE=EMM386.EXE NOEMS
INCLUDE CD
[M2]
DEVICE=ECHO.SYS L/o/a/d/i/n/g CONFIG.SYS /w/i/t/h UMBPCI...
DEVICE=ECHO.SYS
DEVICE=HIMEM.SYS
DEVICE=UMBPCI.SYS
DEVICE=LOWDMA.SYS
INCLUDE CD
[M3]
DEVICE=ECHO.SYS L/o/a/d/i/n/g CONFIG.SYS /w/i/t/h EMM386...
DEVICE=HIMEM.SYS
DEVICE=DUSE.EXE INT EMU CDW=3 DDW=3 XFER=32 DRIVES=2 CDD=USB-CD
DEVICE=EMM386.EXE NOEMS
INCLUDE CD
INCLUDE USB
[M4]
REM DEVICE=EMM386.EXE NOEMS
INCLUDE M2
DEVICE=DUSE.EXE INT EMU CDW=3 DDW=3 XFER=32 DRIVES=2 CDD=USB-CD
INCLUDE USB
[M5]
DEVICE=ECHO.SYS Y/o/u /h/a/v/e /c/h/o/s/e/n /t/o /v/i/e/w README /o/n/l/y.
INCLUDE M6
[M6]
DEVICE=ECHO.SYS P/l/e/a/s/e /w/a/i/t...
DEVICE=HIMEM.SYS
[USB]
DEVICE=ECHO.SYS L/o/a/d/i/n/g SCSI//USB /d/r/i/v/e/s /s/u/p/p/o/r/t...
DEVICE=USBASPI.SYS /R /V /NORST
DEVICE=ASPIOHCI.SYS /INT /ALL
DEVICE=ASPIUHCI.SYS /INT /ALL
DEVICEHIGH=DI1000DD.SYS
DEVICEHIGH=USBCD.SYS /D:USB-CD
DEVICE=ECHO.SYS
[CD]
DEVICEHIGH=UDMA.SYS
DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD
[COMMON]
DEVICE=ECHO.SYS M/a/d/e /b/y W/e/n/g/i/e/r. C/h/i/n/a DOS U/n/i/o/n.
DEVICE=ECHO.SYS A/l/l /r/i/g/h/t/s /r/e/s/e/r/v/e/d. 2002-2004.
SHELL=COMMAND.COM /P /E:640
SET TMP=C:\
SET TEMP=C:\
DOS=HIGH,UMB,AUTO
NUMLOCK=OFF
FCBSHIGH=4,0
FILESHIGH=30
BUFFERSHIGH=20,0
LASTDRIVEHIGH=32
STACKSHIGH=9,256
country=086,936,country.sys
COMMENT Made by Wengier. China DOS Union.
COMMENT All rights reserved. 2002-2004.
我看与内存管理有关的命令有两条,一条是DEVICE=HIMEM.SYS,另一条就是DEVICE=UMBPCI.SYS,前一条执行后没有报错,后一条执行后的输出信息如下:
UMBPCI c't 11/95-Siering/schäpers/Stiller
V3.54-surpport for new chipset,intel pro,AMD K7 UMC sieber 02/04
Using C800-EFFF
VIA P4X266 found
Program install
其余信息实在太多,DOS下又不能复制,没法一一贴上了,但我在淡步执行时发现DOS=HIGH,UMB,AUTO命令放在[COMMON]一节中,执行时在DEVICE=HIMEM.SYS和DEVICE=UMBPCI.SYS前面执行了,是不是DOS未加载到高位内存呢。
顺便再说一句,我在另一台Intel 865PE芯片组、P4 2.8C 512M内存的机器上运行,毛病依旧
|
|
2006-2-11 09:52 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
6 楼』:
硬件和BIOS的有关设置是什么内
Willsort说可能是硬件或BIOS设置的问题,我想请教一下,硬件和BIOS设置中哪些参数会引起在DOS中程序执行出现"The program is to big to fit in memory"这个问题呢。
|
|
2006-2-11 09:56 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
|
2006-2-12 14:06 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
8 楼』:
真失败
真是失败,怎么再也没人回答了
|
|
2006-2-12 20:09 |
|
|
willsort
元老会员
Batchinger
积分 4432
发帖 1512
注册 2002-10-18
状态 离线
|
『第
9 楼』:
Re ygp2sfec:
很抱歉没有及时响应你的回复!
从 UMBPCI 的输出信息看不出什么异常之处,至于 DOS 是否载入 UMB ,使用 MEM /C /P 察看即知。你可以比较一下虚拟机下的 MEM MAP 与你的测试机有何不同,或者贴在回复中,看是否能发现什么问题。另外,也可以使用在 3 楼提到的 F5 忽略 Config/Autoexec 文件启动后,查看 PCTOOL 等软件的运行情况;最后的办法是简化 C/A 文件,Config 文件只保留 HIMEM , AUTOEXEC 留空,启动测试,如正常再逐次增加原有 C/A 中的语法(可使用二分法增加),直到确定出现问题语句。
如仍不正常,那就只能是我先前提到的硬件或者BIOS问题,这是利用排除法得出的结论。而且使用同一 ISO 文件启动的系统,软件因素的影响理论上应该是一致的,那就只能是硬件或者BIOS 不同导致的差别。但两台测试机均出现问题则有说明真正原因仍然有待,因为两台机硬件或BIOS出现同一问题的概率很低。
最后,提出一个建议,有些时候内存不足的提示,是因为与(全部或特定的)汉字系统互相冲突,在运行问题软件之前,请卸载所有汉字系统试试。
|
※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得! |
|
2006-2-13 17:05 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
10 楼』:
我用MEM /C查过内存使用情况,是在虚拟机中查看的,发现SHSUCDX、DOSLFN以及天汇输入法装载程序TWKEY全部在常规内存中,系统在常规内存中有9K多
|
|
2006-2-14 21:23 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
11 楼』:
我用MEM /C查过内存使用情况,是在虚拟机上查看的,发现DOS倒是大部分(2/3)已加载到高位内存,但DOSLFN、XMSDSK、SHSUCDX等驱动程序全部在常规内存,另外使用天汇汉字系统时,输入法加载程序TWKEY也无法加载到高位内存,其中尤其是DOSLFN占用了26K的常规内存,SHSUCDX占用了7K的常规内存。
|
|
2006-2-14 21:38 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
12 楼』:
原因找到了,但不知怎么解决
原因我找到了,原来是由于Upper项(mem /c /p查询的项目)高位内存在使用UMBPCI.sys时总量只有64K,不足以将上述程序加载到上位内存中,改用DEVICE=EMM386.EXE NOEMS后上位内存增加到了83K,已将天汇汉字系统主程序TW.EXE、SHSUCDX、XMSDSK等程序全部加载到了上位内存,但由于剩余上位内存只有11K,DOSLFN(26K)、TWKEY(19K)还是无法加载到UMB,还是占用了常规内存,但UMB保留部分还有370K多,谁知道怎么把这一部分内存释放出来使用,请不吝指教,十分感谢。
|
|
2006-2-14 23:10 |
|
|
ygp2sfec
初级用户
积分 172
发帖 68
注册 2006-2-9
状态 离线
|
『第
13 楼』:
怎么高位内存再也无法增加了
我使用了EMM386、UMBPCI、QEMM386等各种内存管理程序,但发现不管怎样配置,还是使用EMM386高位内存最大,约为81.5K(在VMWARE虚拟机上),根本无法达到有些帖子上说的160多K的高位内存,因此常规内存最大也就572K,无法再增加了,这是怎么一回事。把天汇中文系统去掉后常规内存约625K,不知还能不能增加高位内存,以将天汇输入法加载程序、SHSUCDX、DOSLFN加载到高位内存,保持625K的常规内存。
[ Last edited by ygp2sfec on 2006-2-15 at 23:01 ]
|
|
2006-2-15 22:46 |
|