MDGx MAX Speed WinDOwS
Windows 95/98/ME
Complete MSDOS.SYS Reference

Take Control of Your OS at DOS Level

WinDOwS

Take control of your Windows 95/98/ME machine at DOS level!
After all Windows 95/98/ME is a MIXED (read "partially enabled") 32-bit AND 16-bit [for backward compatibility with MS-DOS (DOS16 and DOS32) and older 16-bit Windows/WfWG 3.xx (Win16) programs] Graphical User Interface (GUI) protected mode virtual environment [... sorry, Operating System 😎], which still depends on the good ol' MS-DOS 7.xx TSR modules (IO.SYS + COMMAND.COM), MS-DOS mode memory manager (HIMEM.SYS) and compatibility (legacy) drivers (IFSHLP.SYS) to load on top of the plain DOS command line based layer!
The good news is Microsoft released Windows XP (eXPerience)/2003/Vista/2008/7/8/8.1/2012/10/2016/2019/11/2022, true 32-bit/64-bit multitasking, multithreading and Symmetrical MultiProcessing (SMP) graphical OSes, which aim to do away once for all with the "ancient" 16-bit MS-DOS command line.
NOTE:
Unfortunately Microsoft removed 16-bit application support from all Windows 64-bit (x64) OSes. 😞
And the bad news is these advanced/modern OSes do not fully support native/real/true/pure MS-DOS mode natively (by themselves, without adequate hardware + software virtualization support), necessary for some old DOS based programs/games that require exclusive access to memory/video/audio/network hardware resources, and most of whom are still memory "hungry", especially the ones that canNOT run from a DOS session/box/console/window inside Windows.
Therefore you need to master your MSDOS.SYS parameters, in order to BOOT into your system the way YOU want!
Solutions [free(ware)]:
   DOSBox
   ScummVM
   VDMSound
   95/98/ME SETUP + MEMORY MANAGERS
   DOS Memory Managers
   WINDOWS DOS BOX TIPS
   PLAY DOS GAMES WITH SOUND BLASTER LIVE!
   UMBPCI.SYS
   Virtualization Software
   DOS Emulators

Intro

All these MSDOS.SYS tips + guidelines (and much more) are also available as part of Windows 95/98/NT4/2000/ME/XP/2003 + DOS 7.xx/8.00 ©Tricks + Secrets Files (W95-11D.EXE), FREEware.
If you'd like to see how my MSDOS.SYS file looks like, and to view my DOS conventional + upper memory optimized CONFIG.SYS + AUTOEXEC.BAT startup files, head on to my MS-DOS 7.xx MEMory Specs Page.

NOTE: To learn about the "official" MSDOS.SYS configuration settings [the documented ones anyway 😎], see the Contents of Windows MSDOS.SYS File MSKB article.

List of MSDOS.SYS articles @ MSKB.
How To Create a Windows 95 DOS-Boot Menu System.

A MUST: Microsoft REMOVED COMPLETELY the access to native/real/true/pure MS-DOS mode from Windows Millennium Edition (ME) [a.k.a. MS-DOS 8.00], but you CAN get it back by applying one of these Unofficial DOS Patches, which modify COMMAND.COM + IO.SYS (from %windir%\COMMAND\EBD) + REGENV32.EXE (from %windir%\SYSTEM), in order to be able to boot to native MS-DOS and use DOS mode startup files (AUTOEXEC.BAT + CONFIG.SYS), Windows 95/98 style.
In case you're not comfortable modifying Windows system files, see this guide.

    Contents:

Back 2 Contents

MSDOS.SYS Overview

MSDOS.SYS [MicroSoft DOS SYStem] is a vital (the OS is unable to load without it or without WINBOOT.INI, its replacement) Windows 95/98/ME text/ASCII system file, loads Windows 9x/ME OS boot options and paths settings upon bootup, is located in the root directory/folder of the boot drive/partition (default is C:\), has by default (but not necessary for proper operation) Hidden (H), Read-only (R) + System (S) file attributes, and can be edited with Notepad in Windows or EDIT.COM in DOS.

    IMPORTANT:

During the OS bootup sequence MSDOS.SYS is processed after IO.SYS.
More info @ MSKB.
MSDOS.SYS (or at least WINBOOT.INI) must exist in the root directory/folder of the boot drive/partition [usually C:\ = replace with your actual Windows 9x/ME drive/partition letter if different on your computer], and must contain at least these lines [WINDOWS = replace with your actual Windows 9x/ME main directory/folder name if different on your computer] for proper OS bootup:

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

More info @ MSKB.
If MSDOS.SYS (and WINBOOT.INI) is (are) absent, the OS bootup sequence will stop at the native/real/true/pure MS-DOS mode C:\ prompt, and will display an error message.
More info @ MSKB.
See "WINBOOT.INI", also in MYTIPS95.TXT [part of W95-11D.EXE], for complete details.

All earlier MS-DOS editions [up to 6.22] use a binary MSDOS.SYS file, which used to contain the DOS Kernel (core) code.
Windows NT based (NTx) OSes [NT, 2000, XP + 2003] use the binary NTLDR file instead, coupled with BOOT.INI, a plain text/ASCII configuration file, and which can be edited by any text/ASCII file editor (like Notepad), or by using BOOTCFG.EXE command line tool.
Windows Vista, 2008, 7, 8 + 2012 [newer NT based (NTx) OSes] use the binary Boot Loader (WINLOAD.EXE) + Windows Boot Manager (BOOTMGR) files, coupled with the Boot Configuration Data (BCD) configuration database.

Back 2 Contents

MSDOS.SYS Editing

You can edit/view/print MSDOS.SYS using Notepad.exe in Windows (Windows default ASCII/text editor = usually C:\WINDOWS\NOTEPAD.EXE) or EDIT.COM in DOS [MS-DOS default ASCII/text editor = usually C:\DOS\EDIT.COM (MS-DOS 6.xx) or C:\MSDOS\EDIT.COM (MS-DOS 6.xx) or C:\WINDOWS\COMMAND\EDIT.COM (Win95/98/ME)].
Before editing you MUST strip MSDOS.SYS of its default attributes [Hidden (H), Read-only (R) and System (S)], to be able to modify it.
After making your desired modifications to MSDOS.SYS, save it, exit the text editor, and then reboot your machine so the changes can take effect.
Optional: restore MSDOS.SYS attributes back to the original: Hidden, Read-only, System.
All these operations can be easily achieved using a plain DOS batch file, I called SYS95.BAT [part of W95-11D.EXE].

NOTE: Alternatively you can use one of these freeware MSDOS.SYS Editors to tweak ALL MSDOS.SYS parameters (including the UNDOCUMENTED ones) from a single, easy to use interface.

IMPORTANT: If a WINBOOT.INI file is also present in the root directory/folder of the boot drive/partition (usually C:\), MSDOS.SYS is automatically bypassed by the Win9x/ME bootup routine!
See "WINBOOT.INI", also in MYTIPS95.TXT (part of W95-11D.EXE), for complete details.
WINBOOT.INI MUST contain the SAME EXACT lines as MSDOS.SYS so Windows can boot properly. In such case MSDOS.SYS can be moved/deleted altogether, but BEWARE of certain programs that may rely on its presence for proper operation.
Therefore if doing this manually, you need to edit MSDOS.SYS first, make your desired changes, and only after that you need to copy it as WINBOOT.INI (overwriting the original one), to make sure BOTH their contents remain IDENTICAL.
SYS95.BAT routine detects the WINBOOT.INI presence, and performs all these necessary tasks automatically, to keep them in "sync" at all times.
WINBOOT.INI is NOT renamed by Win9x/ME if dual-booting to an older MS-DOS version, so it can be also edited from MS-DOS 6.xx, in which case it is copied as MSDOS.W40 (which is actually MSDOS.SYS renamed by the Win9x/ME dual-boot routine).
SYS95.BAT contains all necessary variables to edit MSDOS.W40 as well in MS-DOS 6.xx mode (using EDIT.COM), to avoid any possible headaches.

Some (still) prefer to dual-boot: keep the ol' MS-DOS version 6.xx (+ Windows/WfWG 3.1x) and have Win9x/ME installed in a separate directory. This way you have the choice to boot with your Win9x/ME configuration, or with your old version of MS-DOS, and eventually use Windows/WfWG 3.1x (only if you kept them!).
If you dual-boot [see "DUAL BOOT" in MYTIPS95.TXT (part of W95-11D.EXE) for details] and choose to boot with your ol' MS-DOS version 6.xx, MSDOS.SYS is renamed to MSDOS.W40.
If also using MS-DOS 6.xx, make sure the DOS directory (default C:\MSDOS or C:\DOS) is mentioned in your path, on the PATH line in your AUTOEXEC.BAT or CONFIG.SYS, and that EDIT.COM resides in your DOS directory or in a directory in your path.

Below are listed SYS95.BAT command lines as shown in an EDIT.COM window:

 Click/Touch inside block of text below ➜ right-click ➜ Copy [Ctrl+C]: 

File   Edit   Search   View   Options   Help
---------------------------------------------
 SYS95.BAT 
---------------------------------------------
:: ©MDGx @ECHO OFF IF NOT "%OS%"=="Windows_NT" GOTO NTX C: CD\ IF EXIST \WINBOOT.INI ATTRIB +A -H -R -S \WINBOOT.INI IF EXIST \MSDOS.SYS ATTRIB +A -H -R -S \MSDOS.SYS IF EXIST \MSDOS.SYS START/WAIT NOTEPAD.EXE \MSDOS.SYS IF EXIST \WINBOOT.INI COPY/Y \MSDOS.SYS \WINBOOT.INI GOTO END :NTX C: CD\ ECHO A | IF EXIST \WINBOOT.INI ATTRIB +A -H -R -S \WINBOOT.INI        VER | FIND "Win">NUL IF ERRORLEVEL 1 GOTO DOS6 IF ERRORLEVEL 0 GOTO DOS7 :DOS7 ECHO A | IF EXIST \MSDOS.SYS ATTRIB +A -H -R -S \MSDOS.SYS MEM /C | FIND /I "vmm32">NUL IF ERRORLEVEL 1 GOTO DOS IF ERRORLEVEL 0 GOTO WIN :WIN IF EXIST \MSDOS.SYS START.EXE/W NOTEPAD.EXE \MSDOS.SYS IF EXIST \WINBOOT.INI COPY/Y/Z \MSDOS.SYS \WINBOOT.INI GOTO END :DOS IF EXIST \MSDOS.SYS EDIT.COM \MSDOS.SYS IF EXIST \WINBOOT.INI COPY/Y/Z \MSDOS.SYS \WINBOOT.INI GOTO END :DOS6 VER | FIND /I "MS-DOS version 6">NUL IF ERRORLEVEL 1 GOTO END IF NOT EXIST \MSDOS.W40 GOTO END ECHO A | IF EXIST \MSDOS.W40 ATTRIB +A -H -R -S \MSDOS.W40 MEM /C | FIND /I "win386">NUL IF ERRORLEVEL 1 GOTO DED IF ERRORLEVEL 0 GOTO WED :WED IF EXIST \MSDOS.W40 NOTEPAD.EXE \MSDOS.W40 GOTO ALL :DED IF EXIST \MSDOS.W40 EDIT.COM \MSDOS.W40 :ALL IF EXIST \WINBOOT.INI COPY/Y/Z \MSDOS.W40 \WINBOOT.INI :END CLS EXIT
F1=Help ================ | Line:1 Col:1

If running SYS95 from native/real/true/pure MS-DOS, MSDOS.SYS will be edited in EDIT.COM, and if running SYS95 from a Windows DOS box/session, MSDOS.SYS will be edited in Notepad.exe. Both EDIT.COM and Notepad.exe are installed by the Win9x/ME Setup routine in a folder listed in the path statement (default install directories): EDIT.COM resides in C:\WINDOWS\COMMAND and Notepad.exe is found in C:\WINDOWS [%windir%]. Therefore there is no need to specify their paths in SYS95.BAT.

Run SYS95.BAT from a PIF file (Windows MS-DOS Shortcut). To create a Win9x/ME Desktop Shortcut:

  1. Right-click on your Desktop.
  2. Select New.
  3. Select Shortcut.
  4. Browse for SYS95.BAT to the folder where it resides.
  5. (Double-)click on SYS95.BAT.
  6. Click on Next.
  7. Select a name for your Shortcut (example): "Edit MSDOS.SYS" (no quotes).
  8. Click on Next.
  9. Choose an icon. PIFMGR.DLL icons are displayed by default for all MS-DOS shortcuts, but you can change its icon later, after the shortcut is created on your Desktop (see next paragraph).
  10. Click Finish.

To change your MS-DOS Shortcut icon:

  1. Right-click on your MS-DOS Shortcut.
  2. Select Properties.
  3. Click the Program tab.
  4. Click Change Icon.
  5. Browse through your local drives/folders for your favorite .DLL, .ICO, .ICL or .EXE files containing Windows icons.
  6. Select an icon.
  7. Click OK when you're done.
  8. Click OK/Apply again to exit and save changes.

Now you'll see a new shortcut on your Desktop (called SYS95.BAT if you kept its original name):

  1. Right-click on it.
  2. Select Properties.
  3. Click on the Program tab.
  4. Check the "Close on exit" box.
  5. Click the Misc tab.
  6. Uncheck the "Warn if still active" box.
  7. Click OK/Apply to save changes.

That's it.

From now on, you'll be able to view/edit MSDOS.SYS contents using your favorite text editor (all Windows 9x/ME releases install both MS-DOS EDIT.COM and Windows Notepad). Change/add MSDOS.SYS entries to customize your system, then save your changes and close the editor when you're done.
You MUST reboot your machine for the new settings to take effect, ONLY IF you have modified MSDOS.SYS.
No matter which text editor you are using (Notepad is shown below), take a look at my MSDOS.SYS file (included ONLY as example). You might not see all these entries on your machine, depending on your Windows 95/98/ME startup configuration:

¤ MSDOS.SYS - Notepad                _¬X
  File     Edit     Search     Help
[Paths]
WinDir=C:\WINDOWS
WinBootDir=C:\WINDOWS
HostWinBootDrv=C

[Options]
AutoScan=0
BootGUI=0
BootKeys=1
BootMenu=1
BootMenuDefault=1
BootMenuDelay=5
BootMulti=1
BootWin=1
DblSpace=0
DisableLog=1
DoubleBuffer=0
DrvSpace=0
LoadTop=0
Logo=1
Network=1
SystemReg=0
WinVer=4.10.2222

;The following lines are required for compatibility with other programs. 
;Do not remove them (MSDOS.SYS needs to be >1024 bytes).
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxa
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxc
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxd
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxf
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxh
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxi
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxj
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxm
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxn
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxo
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxp
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxq
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxs
 

Now you're ready to add/modify the MSDOS.SYS entries to have Windows boot the way YOU want...

Back 2 Contents

MSDOS.SYS Complete Reference Table

ALL MSDOS.SYS parameters, even those UNDOCUMENTED, what they do, and how to tweak them to MAXIMIZE your Windows 95/98/ME machine performance, are listed in this table.
MSDOS.SYS consists of 2 sections and supports all following entries:

SectionEntry [00]DescriptionDefault ValueNondefault Value
[Paths] [01]WinDir=Windows 9x/ME Install DirectoryC:\WINDOWS?:\????????.???
[Paths]WinBootDir=Windows 9x/ME Boot DirectoryC:\WINDOWS?:\????????.???
[Paths]HostWinBootDrv=Windows 9x/ME Boot Drive [02]C?
[Paths]UninstallDir= [03]Windows 9x/ME Uninstall DirectoryC:\?:\????????.???
[Options]AutoScan= [04]Allow Win95 B/C OSR 2.x, 98/98 SE or ME to automatically ScanDisk the boot drive after improper shutdown1
Prompt user for scanning (scan begins if NO input for 60 seconds)
0
NO scanning allowed
2
Allow automatic scanning (NO prompt)
[Options]BootConfig=Allow processing of alternative boot setup [05]N/A
Current boot setup processed
MYCONFIG
Alternate boot setup: CONFIG.SYS must include this same string as a MENUITEM (example): [MYCONFIG]
[Options]BootDelay=Initial startup delay in seconds: from 0 up to 99 [06]2 [Win95/OSR2]
0 [Win98/ME]
0 - 99
[Options]BootFailSafe=Invalid parameter! Use BootSafe= instead!InvalidInvalid
[Options]BootGUI=Automatic Windows 9x/ME GUI startup1
Enabled:
Start Windows 9x/ME GUI
0
Disabled:
Start MS-DOS 7.xx/8.00 Command Prompt
[Options]BootKeys=Startup keys access: F4, F5, F6, F8, Ctrl and Shift1
Enabled
0
Disabled
[Options]BootMenu=Startup Menu display0
Disabled:
Press F8 to display
1
Enabled:
Show Startup Menu [07]
[Options]BootMenuDefault=Indicated menu option is highlighted [08]1
Normal Win95/98/ME OS highlighted
2 - 8
Any other Bootup Menu option
[Options]BootMenuDelay=Delay in seconds (from 0 up to 99) before running highlighted menu item (only if BootMenu=1)300 - 99
[Options]BootMulti=Startup key F4 access: old OS bootup choice access [09]1
Enabled:
F4 access ON
0
Disabled:
F4 access OFF [06]
[Options]BootSafe=Force Safe Mode startup0
Disabled
1
Enabled
[Options]BootWarn=Display Safe Mode startup warning and menu1
Enabled
0
Disabled
[Options]BootWin=Windows 9x/ME selected as operating system [09]1
Enabled: Windows 95/98/ME OS selected
0
Disabled:
Previous OS (MS-DOS 6.xx) selected
[Options]DblSpace=Load DBLSPACE.BIN module (if present)1
Enabled:
DoubleSpace ON
0
Disabled:
DoubleSpace OFF
[Options]DisableLog=Create BOOTLOG.TXT in C:\ root upon bootup [10]0
Enabled:
Create BOOTLOG.TXT
1
Disabled:
Do NOT create BOOTLOG.TXT
[Options]DoubleBuffer=SCSI, older ESDI/IDE/ATA and large FAT32 drives > 8 GB may need Double-Buffering [11]0
Disabled:
DoubleBuffer OFF
1
Enabled:
DoubleBuffer ON only if necessary
2
Enabled:
DoubleBuffer always ON
[Options]DrvSpace=Load DRVSPACE.BIN module (if present)1
Enabled:
DriveSpace ON
0
Disabled:
DriveSpace OFF
[Options]LoadTop= [12]Load COMMAND.COM/DRVSPACE.BIN into the High Memory Area (HMA) at the top of the Conventional Memory Area (CMA)1
Enabled:
Load into HMA
0
Disabled:
Load into CMA
[Options]Logo=Display (animated) Logo while Windows 9x/ME OS boots [13]1
Enabled:
Display Logo
0
Disabled:
Do NOT display Logo
[Options]Network=Enable Networking and/or TCP/IP "Safe Mode" option [14]1
Enabled
0
Disabled
[Options]SystemReg=Scan Registry files upon every Windows startup [10]1
Enabled:
Scan Registry
0
Disabled:
Do NOT scan Registry
[Options]WinVer=Display Windows ME (4.90.3000), 98 SE (4.10.2222) or 98 (4.10.1998) build [05]4.90.3000 [Windows ME]
4.10.2222 [Windows 98 SE]
4.10.1998 [Windows 98]
N/A

  LEGEND:

All lines starting with a semicolon (;) are comments/REMarks, and are not processed by the OS routine.

Back 2 Contents

Windows 95 - 98 Startup Menu + Bootup Keys

Startup Menu key "combos" | Hidden features, oddities + BUGs

FYI: Microsoft REMOVED the display of the Startup Menu from Windows ME, but you can still access most of these options by hitting the "combo" keys (listed below) at bootup!

And if you were wondering how the Windows 95/98 Startup Menu looks like, here is a screen shot of the bootup display, shown (every time you boot) ONLY IF you enable the "BootMenu=1" entry under the [Options] section of your MSDOS.SYS, or (this one time ONLY) if you press F8 at the beginning of the boot sequence, right after your computer's BIOS POST (Power On Self Test) screen:

    
 
 
 
    Microsoft Windows 95 (98) Startup Menu        


1. Normal [1]
  
2. Logged (\BOOTLOG.TXT) 
3. Safe mode 
4. Safe mode with network support [2]
5. Step-by-step confirmation 
6. Command prompt only [3]
7. Safe mode command prompt only 
8. Previous version of MS-DOS 
[4]
     Enter a choice: 99(0) [5]


 F5=Safe mode Shift+F5=Command prompt Shift+F8=Step-by-step confirmation[N]
 
    
   UHD   
 
 

  LEGEND:

  Windows 95 (98) Startup Menu key "combos" and what they do [also available in Windows ME]:

  Hidden features, oddities + BUGs I discovered:

ONLY IF "BootGUI=0" under the MSDOS.SYS [Options] section, you will notice these changes at bootup:

    NOTES:

Back 2 Contents
©1996-2024 MDGx (a.k.a. AXCEL216): Everything here at MDGx.com, except for my ©photos, is FREEware.
Always free of ad(vertisement)s, cookies, tracking, malware + spyware.
I have created [August 1996], maintain and update these web pages entirely by hand using Programmer's File Editor [replaced Notepad].
I am not affiliated with, don't advertise/promote, speak on the behalf/name of, nor work for any for profit business/entity.
All ©copyrights and ®registered trademarks retain owners' property.

Back!