有没有办法通过文件中的命令以安全模式启动 MS-DOS 6.22 config.sys
?
我正在使用多配置选项config.sys
,需要一个选项来以安全模式或完全裸机启动机器:不himem.sys
,不ifshlp.sys
,什么都没有。
这可能吗?
目前我的config.sys
样子是这样的:
[Menu]
MenuItem=MS-DOS, MS-DOS 7.00
MenuItem=4DOS, 4DOS 6.01
MenuItem=MEMTEST, MemTest86+ 4.20 (Press Shift+F5 and run MT420.EXE)*
MenuDefault=4DOS,5
我需要第三个选项来以安全模式启动而无需用户干预。
答案1
正如迈克尔所说,DOS 没有“安全模式”。
您需要做的是重新分解文件config.sys
,以便将要加载的每个组件分离到其自己的部分中,然后include
根据需要将它们放入每个配置中,并将该[common]
部分用于所有配置共有的项目。以下是具有模块化配置的示例config.sys
:
[menu]
menucolor =14,1
menudefault =normal,3
menuitem =c_ramdisk, Ramdrive
menuitem =c_cddrive, CD
menuitem =c_emm, EMM
menuitem =c_bare, Bare
[c_ramdisk]
include =himem
[c_cddrive]
include =himem
include =cd
[c_emm]
include =himem
include =emm
[c_bare]
[himem]
devicehigh =\system\dos\himem.sys /testmem:off
[emm]
devicehigh =\system\dos\emm386.exe NOEMS
[cd]
devicehigh =\system\dos\vide-cdd.sys /D:blah
installhigh =\system\dos\mscdex.exe /D:blah
[common]
break =on
numlock =on
lastdrive =z
dos =high,umb,auto
fileshigh =50
buffershigh =20,0
stackshigh =9,256
shell =command.com /e:640 /p
然后在中autoexec.bat
,环境变量config
将被设置为对应于启动时选择的配置,因此您可以执行以下操作:
@echo off
break on
goto %config%
::c_ramdisk
call \system\config\ramdrive.bat
goto misc
::c_cddrive
call \system\config\setcdd.bat
goto misc
::c_emm
goto misc
::c_bare
goto misc
:misc
\system\dos\smartdrv b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ m+ n+ /q
goto done
答案2
出色地,有办法绕过启动时 CONFIG.SYS 和 AUTOEXEC.BAT 文件,这类似于 DOS 的“安全模式”。
重新启动后按 F5,当出现“正在启动 MS-DOS...”文本时将绕过 CONFIG.SYS 和 AUTOEXEC.BAT。
F8 将使 MS-DOS 询问是否应执行 CONFIG.SYS 中的每一行。我认为它对 AUTOEXEC.BAT 没有任何作用。
请注意,如果您完全跳过 CONFIG.SYS 和 AUTOEXEC.BAT,您将无法获得可用的 CD-ROM、声音或除 A: 和 C: 之外的其他任何东西。
答案3
首先,在 DOS 中没有“安全模式”这样的东西。其次,如果你不想加载 config.sys 文件中的一堆东西,那么就把它们删掉吧。
我记得我经常有多个版本的 config.sys,它们被命名为 config.old、config.tst 之类的东西。将您需要的那个复制到 config.sys,然后重新启动。autoexec.bat 也是如此。保留几个具有不同名称的版本,然后将您想要的那个复制到实际使用和加载的名称。
然后安全模式就是
C:
CD \
del autoexec.bat
del config.sys
然后重启系统。如果你愿意,可以将其制作成 .BAT 文件,但是在你备份当前文件之前不要这样做。
答案4
如果您将 MSDOS.SYS 文件作为简单的标准文本文件进行编辑,则您使用的不是 MS-DOS 6.22。这是 MS-DOS 7.0 或更新版本,来自 Win95 或更新版本。
为什么不使用 CONFIG.SYS 来包含 DOS=NOAUTO?
这是避免较新的自动加载 HIMEM 和 IFSHLP 的预期方法。
我相信它可以与 CONFIG.SYS 中的其他 DOS 命令结合使用,例如 DOS=HIGH,UMB,NOAUTO。
有关较新的 MS-DOS 代码中的 MSDOS.SYS 的更多详细信息,请参阅: ][CyberPillar][: MSDOS.SYS 信息。例如,将 MSDOS.SYS 重命名为 WINBOOT.INI 可能会有效。(但是,如果出现问题并且系统无法再从硬盘启动,则修复起来可能会很不方便,因此如果出现问题,请做好修复问题的准备。)