|  | 
 
| 今天提取ms-dos7.1下的工具做dos启动镜像,先将dos系统镜像安装到vmware,从虚拟机硬盘中提取安装后的文件&目录,修改对应的调用路径,主要是替换某些配置文件中的c:为a:,其中autoexec.bat: @ECHO OFF
 PROMPT $P$G
 SET DIRCMD=/4
 MODE CON RATE=32 DELAY=1
 REM MODE CON CP PREPARE=((437)EGA.CPI)
 REM MODE CON CP SELECT=437
 REM KEYB US,,KEYBOARD.SYS
 LH KILLER
 LH DOSKEY
 LH DOSLFN /Z:A:\DOS71\CP437UNI.TBL
 LH MSCDEX /D:IDE-CD
 LH SHARE /L:30
 LH NLSFUNC
 LH SMARTDRV
 LH CTMOUSE
 REM For compatiblity purpose:
 LH CTMOUSE > NUL
 ECHO.
 REM For locking volumes to enable "direct disk access":
 CALL LOCKDRV.BAT
 BREAK ON
 LFNFOR ON
 ECHO Now you are in MS-DOS 7.10 prompt. Type 'HELP' for help.
 ECHO.
 A:\sound\envmastr.exe /l winbootdir=
 A:\sound\ctcm.exe
 PATH=A:\DOS71;..;;A:\DOS71\norton
 call vc.bat
 call gvfm.bat
 call tw.bat
 call ccdos.bat
 call pdos.bat
 A:\sound\envmastr.exe /l winbootdir=
 A:\sound\ctcm.exe
 其他基本保持了原来的目录结构,添加额外软件diskgenius、ghost、ntfs4dos等软件,把这些文件添加到winimage制作的dos.img中,用虚拟机floppy加载启动,发现进入logo后面不久,屏幕上输出:not ready to write drvie A:,分析上下文屏幕输出,定位到A:\sound\ctcm.exe 该句有问题,猜想是做成img镜像运行ctcm时没法写入,考虑到做系统维护用,不需要音频输出,A:\sound\envmastr.exe /l winbootdir= ,A:\sound\ctcm.exe 删除,然后问题解决。
 接下来进入系统,运行diskgenius命令,发现电脑立即自动关机,猜想是diskgenius和系统的某驱动或者启动加载的程序有冲突,网上查找没找到类似的案例,于是自己手动排除:
 原config.sys:
 DEVICE=A:\DOS71\ECHO.SYS W/e/l/c/o/m/e /t/o MS-DOS 7.10...
 DEVICE=A:\DOS71\ECHO.SYS C/o/p/y/r/i/g/h/t M/i/c/r/o/s/o/f/t C/o/r/p. A/l/l /r/i/g/h/t/s /r/e/s/e/r/v/e/d.
 DEVICE=A:\DOS71\HIMEM.SYS
 DEVICE=A:\DOS71\EMM386.EXE NOEMS
 DEVICEHIGH=A:\DOS71\SETVER.EXE
 DEVICEHIGH=A:\DOS71\POWER.EXE
 DEVICEHIGH=A:\DOS71\VIDE-CDD.SYS /D:IDE-CD
 REM DEVICEHIGH=A:\DOS71\DISPLAY.SYS CON=(,,1)
 COUNTRY=001,437,A:\DOS71\COUNTRY.SYS
 SHELL=COMMAND.COM /P /E:640
 DOS=HIGH,UMB,AUTO
 FCBS=4,0
 FILES=30
 BUFFERS=20,0
 LASTDRIVE=26
 STACKS=9,256
 SET PATH=A:\DOS71;..;
 
 
 主要分以下步骤来排除:
 1.将autoexec.bat里面的内容清空,建立好对应的img镜像,加载启动错误依旧;
 2.考虑到结果是关机与power可能相关,将DEVICEHIGH=A:\DOS71\POWER.EXE句移除,加载,错误依旧;
 3.考虑可能是himem.sys||emm386.exe扩充内存的兼容问题,将autoexec.bat清空,congfig.sys只加载DEVICE=A:\DOS71\HIMEM.SYS,DEVICE=A:\DOS71\EMM386.EXE NOEMS,SHELL=COMMAND.COM /P /E:640三句,错误依旧;
 4.继续上一步,再把congfig.sys中的DEVICE=A:\DOS71\EMM386.EXE NOEMS移除,然后发现能运行diskgenius了。
 
 总结:diskgenius和emm386.exe有冲突!!!没见到网上的相似提示,愿给各位菜菜们提供一个案例参考。
 解决方法:尚无,可以考虑不加载emm386,或者做config配置菜单,启动时选择性加载配置。
 个人小菜,大神勿笑!!
 
 [ 本帖最后由 2011virtualink 于 2011-11-23 10:09 编辑 ]
 | 
 |