MSDOS.SYS: That "other" boot file

In Windows 95, a dual-boot option is only a NotePad away.


By now you are exploring the new possibilities and capabilities of Windows 95. One thing that seems to come up quite often is the subject of boot options. Can I make the system dual-boot between my old and new DOS and Windows? Is there any way to set up a multi-config setup like I used to have using DOS's multi-config? Can I set up any other options? The answers are yes, yes, and yes. However, many of these options aren't set up by default, so you have to configure your boot process the way you want it.

The file you're looking for is MSDOS.SYS. Unlike its predecessor in earlier versions of DOS, it is now an editable text file you can use to configure your startup parameters.


Getting into it

You can use any text editor to work with MSDOS.SYS. MS-DOS's Edit and Windows' Notepad are two readily available choices. (Edit, found in the \Windows\Command folder, now handles long file names!)

As you start editing MSDOS.SYS, keep in mind that you may have to remove the Read-only, System and Hidden attributes to edit, then resave this file. Go to a DOS prompt and type:

ATTRIB C:\MSDOS.SYS -R -S -H

Don't forget to re-establish these attributes once you're done by typing:

ATTRIB C:MSDOS.SYS +R +S +H

Windows 95 Setup creates a hidden, read-only system file in the root of the computer's boot drive. (If you use DriveSpace or DblSpace disk compression, this file will be copies to the uncompressed area of the host drive.) This file contains two sections, Paths and Options.

The Paths section tells Windows 95 where to find the Windows 95 installation location and other important files such as the Registry.

The Options section is where you can add or change parameters to build a boot process of your choice. Under Options, you can specify Dual-Boot capability, set up a menu that will include various flavors of DOS and Windows boots, and even set up a timer that executes after a predetermined timeout.


Looking inside

With a new install, your MSDOS.SYS file will most likely look something like this:

[Paths]
WinDir=C:\WINDOWS
WinBootDir=C:\WINDOWS
HostWinBootDrv=C

[Options]
BootGUI=1
Network=1

Most, but not all, of the values in [Options] can be 1 (enabled) or 0 (disabled). Keep in mind that the parameters found in the [Paths] sections are crucial to the proper operation of Windows 95 and therefore should not be changed.

Here are the various parameters and their descriptions:

(Most values in the [Options] section are Boolean, that is, the value can be 1 (enabled) or 0 (disabled). The following describes entries in MSDOS.SYS, using the typical default values.)

    [Paths] section:

  • HostWinBootDrv=c
    Tells Windows 95 where the boot drive root directory is located. If you use DrvSpace or DblSpace disk compression, this location will change to show the uncompressed Host drive.

  • WinBootDir=
    Tells Windows 95 the location of the necessary startup files, including the Registry. The default is the directory specified during Setup; for example, C:\Windows.

  • WinDir=
    Tells Windows 95 the location of the Win95 installation.
    [Options] section:

  • BootDelay=n
    Sets the initial startup delay to n seconds. The default is 2. BootKeys=0 disables the delay. The only purpose of the delay is to give the user sufficient time to press F8 after the Starting Windows message appears.

  • BootFailSafe=
    Enables Safe Mode for system startup. The default is 0. (This setting is enabled typically by equipment manufacturers for installation.)

  • BootGUI=
    Enables automatic graphical startup into Windows 95. The default is 1.

  • BootKeys=
    Enables the startup option keys (that is, F5, F6, and F8). The default is 1. Setting this value to 0 overrides the value of BootDelay=n and prevents any startup keys from functioning. This setting allows system administrators to configure more secure systems.

    The startup keys serve the following purposes:
    F5 = FailSafe Boot, a boot using a minimum configuration, for troubleshooting.
    F6 = FailSafe Boot with Network Support
    F8 = a Boot Menu is displayed

  • BootMenu=
    Enables automatic display of the Windows 95 Startup menu, so that the user must press F8 to see the menu. The default is 0. Setting this value to 1 eliminates the need to press F8 to see the menu.

  • BootMenuDefault=#
    Sets the default menu item on the Windows Startup menu; the default is 3 for a computer with no networking components, and 4 for a networked computer.

  • BootMenuDelay=#
    Sets the number of seconds to display the Windows Startup menu before running the default menu item. The default is 30.

  • BootMulti=
    Enables dual-boot capabilities. The default is 0. Setting this value to 1 enables the ability to start MS-DOS by pressing F4 or by pressing F8 to use the Windows Startup menu.

  • BootWarn=
    Enables the Safe Mode startup warning. The default is 1.

  • BootWin=
    Enables Windows 95 as the default operating system. Setting this value to 0 disables Windows 95 as the default; this is useful only with MS-DOS version 5 or 6.x on the computer. The default is 1.

  • DblSpace=
    Enables automatic loading of DBLSPACE.BIN. The default is 1.

  • DoubleBuffer=
    Enables loading of a double-buffering driver for a SCSI controller. The default is 0. Setting this value to 1 enables double-buffering, if required by the SCSI controller.

  • DrvSpace=
    Enables automatic loading of DRVSPACE.BIN. The default is 1.

  • LoadTop=
    Enables loading of COMMAND.COM or DRVSPACE.BIN at the top of 640K memory. The default is 1. Set this value to 0 with Novell® NetWare® or any software that makes assumptions about what is used in specific memory areas.

  • Logo=
    Enables display of the animated logo. The default is 1. Setting this value to 0 also avoids hooking a variety of interrupts that can create incompatibilities with certain memory managers from other vendors.

  • Network=
    Enables Safe Mode With Networking as a menu option. The default is 1 for computers with networking installed. This value should be 0 if network software components are not installed.

Starting an earlier version of DOS

If you've installed Windows 95 in its own directory, the earlier version of MS-DOS is preserved on your hard disk. If you set BootMulti=1 in the [Options] sections in the Windows 95 version of MSDOS.SYS, you can start the earlier version of MS-DOS by pressing F4 when the Starting Windows message appears during system startup.

If you are not using DrvSpace or DbleSpace disk compression, use the =0 switch for these parameters because not doing so results in the compression driver being loaded anyway, just because it was in C:\. That results in quite an unnecessary memory hit.

Content of a sample MSDOS.SYS file look something like this:

[Paths]
WinDir=C:\WIN95
WinBootDir=C:\Win95
HostWinBootDrv=C

[Options]
BootMulti=1
BootGUI=1
Network=1
BootMenu=1
BootMenuDefault=1
BootMenuDelay=10
BootWarn=1
Logo=1
DoubleBuffer=1

Sample of MSDOS.SYS file that completely bypasses the "Starting Windows 95" message on startup and gives you the following menu:

Microsoft Windows 95 Startup Menu
1. Normal
2. Logged (\Bootlog.txt)
3. Safe mode
4. Safe mode with network support
5. Step-by-step confirmation
6. Command prompt only
7. Safe mode command prompt only
8. Previous version of MS-DOS

Enter a choice: 1 Time remaining: 10

F5=Safe mode
Shift+F5=Command Prompt
Shift+F8=Step-by-step confirmation

(If you used a multi-config Boot under MS-DOS 6.x, that menu will be maintained when you choose to go to your 'old DOS.')

Configurable menus within menus...pretty slick, huh? Otherwise you can use the 'speed keys' to go directly to your choice immediately after seeing the 'Starting Windows 95' message during boot. F4 will take you directly to you old MS-DOS; F5 will result in a speedy 'Fail-Safe' boot.

What do these choices mean exactly?

· "Normal" is Windows 95 itself, since it is now the OS. With this one you'll go straight to Windows. It even hides all your usual 'echoed' processes behind a pretty blue-sky background, complete with clouds and a moving, colored progress bar underneath.

· "Logged" is a great troubleshooting feature. With this one you can boot to Windows as in choice 1 with one important difference. The boot process is recorded in a hidden BOOTLOG.TXT file in your root directory. This gives you a record of your last boot. It shows the loading (or failure to load) of all your device drivers, virtual device drivers (.vxds), and all of your fonts that load during Windows startup.

· "Safe Mode" loads a bare-bones Windows with no unnecessary drivers at all. No networking, no sound, no CD-ROM, no fancy video configurations. What you get is a tripped Windows environment running in standard VGA 640-by-480-by-16 color mode, free of as much system overhead as possible while still allowing Windows to run.

This is a real good place to be if you're trying to recover from a catastrophe. Let's say you do something really bad, like accidentally deleting GDI.EXE from \Windows. A subsequent boot attempt would fail, telling you that one of your crucial system files was either missing or corrupt. It would then give you the option to boot in 'Safe mode", giving you the opportunity to correct the error, even if it meant retrieving the missing file from your disks. This is one of the key differences between Windows 95 and OS/2. The operating system will either boot (without a set of boot disks) or it won't. In this case, Windows 95 always will and OS/2 simply won't.

· "Safe mode with network support" loads a minimum Windows environment much like Safe Mode but includes network connections.

· "Step-by-step confirmation" is yet another useful troubleshooting/setup tool. With this one you can load drivers individually to find an errant driver problem. Let's say you find you're running is MS-DOS Compatibility (real) mode, something you want to avoid at all costs, but you don't know for sure if one of your drivers is causing it. You can find out by loading each driver in CONFIG.SYS and AUTOEXEC.BAT until you find the culprit.

· "Command prompt only" loads everything if finds in AUTOEXEC.BAT and CONFIG.SYS, but instead of taking you directly to Windows 95, you wind up at a DOS (7.0) prompt with CD-ROM, sound, memory manager, video configuration, and so forth all loaded. Same OS, different interface. You can still get to Windows as you always did by tying WIN.

· "Safe mode command prompt only" is a different story. This doesn't load anything; you go straight to a C:\prompt, completely bypassing AUTOEXEC.BAT and CONFIG.SYS. This provides a 'clean boot' for the maximum in available memory.

· "Previous version of MS-DOS" is self-explanatory. As long as you haven't deleted your old DOS directory, you can still boot to your old DOS.


Get to work

Time to go set up that custom boot process and become the envy of all your friends. But, as always, be careful and don't do anything before you've made a backup, and don't forget to use the copy of MSDOS.SYS on the uncompressed Host drive if you're using DblSpace or DrvSpace disk compression.


Return to Top of PageReturn to Top of Page

To Main Page | Start Me Up!
Msdos.Sys
Basic Tips-1 | Basic Tips-2
Advanced Tips-1 | Advanced Tips-2 | Advanced Tips-3 | Advanced Tips-4
Registry Hacks-1 | Registry Hacks-2
Easter Egg

Copyright ©1997-98 D.L.W.S.

Best experienced with Microsoft Internet ExplorerClick here to start.

Microsoft, Windows, and Windows 95 are registered trademarks of Microsoft Corporation.
All other product names are trademarks or registered trademarks of their respective owners.