As Michael said, there is no “safe-mode” for DOS.
What you need to do is to re-factor the config.sys file, so that you separate out each of the components to be loaded into its own section, then you can include them in each configuration as needed, and use the [common] section for, well, items common to all configurations. Here is a sample config.sys with modularized configurations:
[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
Then in autoexec.bat, the environment variable config will be set to correspond to the configuration that was selected at boot, so you can do something like this:
@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