I take no responsibility if something should fail!
The examples listed here are only parts of actual files, your final config.sys and autoexec.bat will be much larger.
[Menu] Menuitem=win95, Windows 95 Menuitem=dos, DOS 7.0 Menuitem=linux, Linux Menudefault=win95, 10Create a Menuitem entry for each possibility you will need.
If you want a default option to be selected after some time (if no
key is pressed) use Menudefault.
Syntax: Menudefault=<ID>, <timeout>
This instructs the system to use the option identified by
ID after timeout seconds.
[Common] rem Anything that should be done regardless of which rem option is selected [win95] rem Windows 95 doesn't need a lot of things here. [dos] rem Put all the things here the original config.sys rem contained. For instance: DEVICE=C:\Windows\Himem.sys DEVICE=C:\Windows\Emm386.exe 8192 RAM DOS=Umb,High FILESHIGH=30 LASTDRIVEHIGH=L rem and a lot of other things... [linux] rem Linux will be started with loadlin from autoexec.batEach section is started with [ID] and ends where the next section starts (or at the end of file). It's a good idea to create an option which will contain exactly the setup as it was before modification. Windows 95 can take care of memory management for DOS boxes, so there is no need for Himem.sys or Emm386.exe in most cases. Whenever a device driver is available for Windows 95 use this one and not the DOS driver loaded from config.sys.
set path=%path%;C:\bin set temp=C:\tmp scan.exe C:\Following comes a goto %config%. %config% will hold the ID you select at startup (e. g. win95).
:win95 rem The next line is just an example. It is used to set the refresh rem rate in Windows 95 on my home system C:\bin\S3REFRSH 91a0 win rem does Windows 95 return here? If not, goto end is not needed here goto end :dos rem As with config.sys it is a good idea to put any statement rem from the original autoexec.bat here. lh mscdex /d:OEMCD001 /L:I keyb gr,,C:\WINDOWS\COMMAND\keyboard.sys rem goto end is a really good idea here - otherwise lin.bat would rem be called! goto end :linux rem Load linux using a batch file which calls loadlin C:\bin\lin.bat rem goto end is not needed here for two reasons: 1st it doesn't rem make sense because the label it would jump to is following directly rem 2nd linux never returns here :end rem You might want to put something here...It's a good idea to use commands which are used to set up some Windows characteristics (like the refresh rate, as shown in the example above) in the win95 part. win will start Windows 95 afterwards.
The statements between :dos and the next following goto end should include all statements in the original autoexec.bat without those already listed at the top (before goto %config%) and the bottom (after the label :end).