Have a DOS program that doesn't work with Win95? This configuration allows you to create a dual-boot from a single operating system so you can run ANY DOS program, all while optimizing the performance and reliablility of Windows. It works just as well for Win98. Also, get some useful information on installing and backing up Windows 95.


Updated: Jan 11 1998

If you have any comments or suggestions, mail me.


The first three sections are not neccessary steps. They just provide insight into the process and some steps that will allow you to recover the system in case anything goes wrong. If you prefer to skip them, just go to Installing the "new" DOS.

DOS Emulation Under Windows 95

There are five ways Windows 95 can run a DOS prompt:

1. Run the application from a DOS window within the Win 95 interface (GUI). This usually limits the types of applications you can run because of how Windows allocates memory from within the GUI. For example, most games would NOT run in this mode. Games require the computer to run in what Win 95 calls "MS-DOS Mode." This usually means you have to reboot the computer.

2. "Restart the computer in MS-DOS Mode." This method is a little better because it allows you to completely exit the GUI, avoiding the memory constraints in method 1. However, it only allows for one configuration, and it requires you to boot into the GUI and then reboot, so you can't really "start" in DOS. Plus, it's not real stable because of the way it switches around your startup files temporarily.

3. You can create a seperate DOS icon for each DOS program that requires you to reboot. This works the same as method 2, but it allows you to specify a particular configuration for each type of "DOS mode" that you would need. For example, you can create an icon that loads drivers into upper memory, one that doesn't use extended memory management (EMM386.EXE), one that loads only the minimal drivers, etc. This method resolves the problem of having only one configuration, but it still requires you to reboot.

4. You can hit F8 whenever the computer says "Starting Windows 95..." and this will take you to a menu that gives you the option of booting with your "Previous Version of MS-DOS". This is the most positive way of running a DOS program, because it turns your computer into the same one you had before you got Windows 95. But it doesn't always "switch back" properly and it requires that you already have a previous version of DOS on your computer. This is not neccessary because it simply consumes precious hard drive space when you already have an operating system that emulates DOS better than DOS does: Windows 95.

Windows 95 actually is DOS, so to speak. It can be regarded as a GUI that runs off of a DOS interface, just like the old Windows. The biggest difference is you don't specifically tell it to run by typing in "win" at a DOS Prompt. It loads itself for you via a file called MSDOS.SYS.

A Better Way...

The key to this method is getting Windows 95 NOT to load itself for you. This makes the computer boot to a DOS Prompt, just like the good ol' days. Once this is accomplished, we can create what the old MS-DOS referred to as "multiple configurations". These configurations are set by the files CONFIG.SYS and AUTOEXEC.BAT. What we will do here is set up one configuration that loads the Windows 95 GUI and another that loads the Win 95 DOS with all the drivers you need to run any DOS game or application properly. You can also add any other custom configurations as needed.

Preparing the Computer

It may be a good idea to print this document out now, because there will be times when you will not have access to it, but need to (while the computer is booting up, for instance).

The first thing to do is to find the CONFIG.SYS and AUTOEXEC.BAT files that will run your games the way you want them to. These files may already be in the root directory of your computer. If you chose to keep your old version of DOS, you probably have two files named CONFIG.DOS and AUTOEXEC.DOS. These are the startup files used when you hit F8 and boot into your "Previous Version of MS-DOS". If your computer ran your DOS games before you installed Win 95, then you know these will work. Wherever these files may be, back them up to floppy and don't ever change them.

The second thing to do is to make sure that you have a WORKING Windows 95 startup disk. When you installed Win 95, you were given the option to create a startup disk. If you didn't create it then, or you can't find it now, make one. You do this by going to your Control Panel -> Add/Remove Programs -> Startup Disk. Once this is done, reboot your computer with this disk in the A: drive, to verify it works.

The startup disk Win 95 creates for you will NOT give you access to your CD-ROM drive. It's a good idea to have it do so. If you don't care to, just skip to the next paragraph. To have this startup disk give access to your CD-ROM drive, you will need to copy the file MSCDEX.EXE to this floppy. This file is located in your Windows 95 directory, under the COMMAND subdirectory (usually \WINDOWS\COMMAND). You will also need to copy the driver that the manufacturer provided with your CD-ROM drive. If you don't know which file that is, refer to your AUTOEXEC.BAT file. The line that loads your MSCDEX.EXE file will have a parameter after it that starts with "/D:". Make a note of the name that follows the /D: and go to your CONFIG.SYS file. Somewhere in there is a line that ends with the same parameter and the same name. The file that is loaded on that line is the driver you're looking for. Once that is done, you basically copy and paste the lines that load your CD-ROM drivers from your old CONFIG.SYS and AUTOEXEC.BAT. You'll have to update their locations to point to the files you just copied to your startup disk. This is because we want this disk to be able to boot the system without accessing any files on your hard drive. Go ahead and be sure that NONE of the lines in the CONFIG.SYS and AUTOEXEC.BAT refer to "C:\", then reboot with the disk to verify it works without accessing the hard drive.

Installing the New DOS

If you have the CD-ROM version of Win 95, then you have a bunch of goodies on it that Windows doesn't install. First, (on the Win 95 CD) go to the directory \OTHER\OLDMSDOS. Here you will find a whole bunch of DOS 6.22 utilities along with a batch file called INSTSUPP.BAT designed specifically to add "supplemental" DOS utilities to the \WINDOWS\COMMAND directory, making it a more complete version of DOS. Once you run this file, you'll now have a full version of DOS split between the \WINDOWS and \WINDOWS\COMMAND directories, eliminating the need for our old \DOS directory, which you should delete later, after verifying the "new" DOS works.

Note: There's all kinds of other cool stuff on this CD, including the entire Windows 95 Resource Kit in .HLP file format. This is an excellent reference manual that otherwise sells in bookstores for about $30!

If you don't have the CD-ROM upgrade version, these files are available from Microsoft's web site at www.microsoft.com/windows95/info/cdextras.htm.

If you already know how to define multiple configurations under DOS, then I'll just sum up what you should do. If you don't, then skip to the next section. Turn off the BootGUI command in your MSDOS.SYS file, then specify your AUTOEXEC.BAT to load the GUI whenever you select the Windows 95 option. Your Windows 95 option in your CONFIG.SYS should be left empty. The DOS device drivers should be written the same as they were under DOS, except the file locations will need to be updated.

The MSDOS.SYS File

Like I said before, we want Win 95 to NOT load itself on startup. We do this by editing a file in your root directory called MSDOS.SYS. This is a hidden read-only file, so you'll need to change the attributes. Do this by doing a right mouse click on the file from Windows Explorer and select properties. Unselect "Read-Only" and "Hidden" (be sure to change these back after you've edited the file). Now edit the file using a text editor like Notepad. You want it to look something like this:

.
.
.
[Options]
BootGUI=0
BootMulti=0
Network=1
Logo=0
.
.
.

BootGUI=0 will cause the Windows interface to NOT be loaded upon startup. BootMulti=0 will cause Win 95 to NOT give you the option of using your "Previous Version of MS-DOS" (you just deleted it). If any of these lines doesn't exist, just add it. Also, you can add the line Logo=0 to keep that annoying Windows 95 banner from showing while Windows is being loaded. This will allow you to see your CONFIG.SYS and AUTOEXEC.BAT files being processed (which allows you to catch any error messages during startup).

After you've done that, reboot the computer to make sure you get a DOS Prompt and that the GUI is NOT loaded. You can always load it by typing "win" at the DOS prompt.

The CONFIG.SYS and AUTOEXEC.BAT Files

Windows 95 does not require an AUTOEXEC.BAT file. Although it does require a CONFIG.SYS, this file can and should be left empty.

What we are going to do here is create multiple configurations for these two startup files. This is very simple, but if you need any help or more details, just go into the \WINDOWS\COMMAND directory from a DOS Prompt and type "help multi-config".

I won't go into much detail on describing the CONFIG.SYS and AUTOEXEC.BAT files here. You should be fairly familiar with these files before you attempt to modify them. If you aren't familiar with editing them, just type "help" in the \WINDOWS\COMMAND directory and you'll find loads of information on their syntax.

CONFIG.SYS

The CONFIG.SYS file specifies the menu for multiple configurations. We will basically section off the entire file into "seperate" CONFIG.SYS files. Each section will be labeled at the top by its name enclosed in brackets. Here is an example of my CONFIG.SYS file:

[menu]
menuitem=windows,Windows 95
menuitem=games,DOS Mode (Games)
menudefault=windows,5

[windows]

[games]
device=c:\ctcm\ctcm.exe
DEVICE=c:\win95\HIMEM.SYS
DEVICE=c:\win95\emm386.exe RAM highscan frame=cc00 i=b000-b7ff
DOS=HIGH,UMB
FILES=40
DEVICEHIGH=C:\SCSI\ASPI8DOS.SYS /D
rem DEVICEHIGH=C:\SCSI\ASPIDISK.SYS /D
DEVICEHIGH=C:\SCSI\ASPICD.SYS /D:ASPICD0
DEVICEHIGH=c:\win95\command\interlnk.exe /auto

The first line in this file should be [MENU]. This defines the menu you will see when your computer boots up. Under this you see several "menuitem=" lines. Each of these refers to the seperate sections that will follow. The part after the comma names the section so that it looks better in the startup menu.

After that, we see "menudefault=". This is a timer. It tells the computer which menu to boot with after so many seconds. For my menu, the computer goes to Windows 95 if no keys are pressed for 5 seconds.

After this main header we see several headers that define each subsection. The [windows] section should be left blank. Any drivers or Terminate and Stay Resident programs (TSR's) loaded here would NOT be used by Win 95; they'll just take up memory and possibly cause conflicts.

The [games] section specifies all the drivers and TSR's I need for DOS to emulate games. To find out how to fill out this section, use your old CONFIG.SYS files that you backed up earlier. Just copy and paste into this new CONFIG.SYS [games] section. You will just have to change names of directories. For example, my HIMEM.SYS and EMM386 are located in \WINDOWS rather than a \DOS directory.

Be sure that the CONFIG.SYS has the updated locations of ALL your TSR's or your computer may not boot properly!

AUTOEXEC.BAT

The AUTOEXEC.BAT file has a very similiar layout. It refers to the menu specified in the CONFIG.SYS file with the statement "goto %config%". After that, the AUTOEXEC.BAT file is broken up into sections in the same way the CONFIG.SYS is, except each section begins with a colon followed by the section's name and ends with a "goto" statement. An example of my AUTOEXEC.BAT is shown below:

C:\PROGRA~1\MCAFEE\VIRUSS~1\SCANPM.EXE C:\
@IF ERRORLEVEL 1 PAUSE
PATH=C:\WIN95;C:\WIN95\COMMAND

goto %config%

:windows
cls
c:\win95\win
goto end

:games
SET CTCM=C:\CTCM
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 E620 T6 
SET MIDI=SYNTH:1 MAP:E MODE:0
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
C:\SB16\AWEUTIL /S
SET PROMPT=$p$g
LH C:\WIN95\COMMAND\MSCDEX.EXE /D:ASPICD0 /M:12 /L:Q
LH C:\MOUSE\MOUSE.EXE
CALL C:\GO95\DMS MONITOR
cd\games
goto end

:end

Note that there are some lines that precede the "goto %config%" statement. These lines execute commands that will ALWAYS be executed, no matter which menu choice I choose. For example, I always want McAffee to virus scan my startup process and I always want to have the same PATH set for all my menu choices. There shouldn't be too many commands in this part. This will allow us to make each section more "customized."

Remember, we instructed the computer NOT to load the GUI upon boot. Well, ":windows" is the one menu choice where we want it to. To do this, we simply specify the Windows 95 command line: "C:\windows\win". Notice that this is the ONLY command under the ":windows" section (the "clear screen" statement is insignificant). The reason behind this is the same as why we left this part of the CONFIG.SYS empty: any driver's or TSR's loaded here have NO use under the Win 95 GUI, they'll just waste memory and slow the startup process.

The ":games" section follows the same rules as its counterpart in the CONFIG.SYS file. It is simply a copy of the AUTOEXEC.BAT you backed up earlier, with the file locations updated, of course.

Remember, in the AUTOEXEC.BAT file, you need an ":end" statement at the very bottom, and a "goto end" statement at the end of each section. If these are missing, the computer will process the next line, even if it is part of the next menu option. In other words, if you chose the Windows option, the computer would still load all the TSR's and drivers found in the Games option that follows. To avoid this, we must specifically tell the computer to skip the next section(s) and go to the end of the AUTOEXEC.BAT file.

Finishing Up

You can add many more menu options than these two. For instance, my computer actually has a third option that only loads the mouse and CD-ROM drive (no upper memory, no sound card, etc.). This allows me to boot up my computer in a very conventional and compatible "diagnostics" mode.

There are a lot of minor syntax errors possible when dealing with the CONFIG.SYS and AUTOEXEC.BAT files that might need to be ironed out. To catch any error messages, you can process the startup files line-by-line by hitting Shift+F8 when your computer boots up.

After you've created this new boot process and have verified that it works to your liking, you can go ahead and delete any old DOS directories and files that may still be on your computer.