通过 config.sys 菜单以安全模式启动 MS-DOS?

通过 config.sys 菜单以安全模式启动 MS-DOS?

有没有办法通过文件中的命令以安全模式启动 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 的更多详细信息,请参阅: ][Cyber​​Pillar][: MSDOS.SYS 信息。例如,将 MSDOS.SYS 重命名为 WINBOOT.INI 可能会有效。(但是,如果出现问题并且系统无法再从硬盘启动,则修复起来可能会很不方便,因此如果出现问题,请做好修复问题的准备。)

相关内容