Как сказал Майкл, для 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