Force MS-DOS to Use Conventional Memory Only
Restricting MS-DOS 6.22 to conventional memory involves configuring
system startup files to bypass high memory and extended memory managers.
By default, MS-DOS utilizes the first 640 KB of base memory, but it can
load parts of itself and other drivers into upper memory regions when
prompted. This article explains the exact CONFIG.SYS switch
required to force the operating system to remain entirely within
conventional memory, along with the proper file adjustments needed to
disable all expanded and extended memory.
The DOS=LOW Configuration Switch
The primary configuration command used to force the MS-DOS 6.22 operating system kernel into conventional memory is:
DOS=LOW
By default, or when using DOS=HIGH, MS-DOS attempts to
load portions of its core operating code into the High Memory Area
(HMA)—the first 64 KB of extended memory above the 1 MB boundary.
Setting DOS=LOW explicitly instructs the operating system
kernel to remain entirely in the base 640 KB conventional memory
space.
To ensure no Upper Memory Blocks (UMBs) are established or utilized, the switch should be written as:
DOS=LOW,NOUMB
This prevents MS-DOS from managing or allocating memory between 640 KB and 1024 KB.
Disabling Memory Managers
Specifying DOS=LOW prevents MS-DOS from moving itself
into the HMA, but completely restricting the entire operating
environment to conventional memory also requires removing high-memory
device drivers from CONFIG.SYS.
- Remove
HIMEM.SYS: This driver manages extended memory (XMS) and controls access to the HMA. IfDEVICE=C:\DOS\HIMEM.SYSis present, comment it out usingREMor delete the line entirely. WithoutHIMEM.SYS, no memory above 1 MB can be addressed. - Remove
EMM386.EXE: This driver provides expanded memory (EMS) simulation and manages Upper Memory Blocks. Ensure any line loadingEMM386.EXEis removed.
Minimal CONFIG.SYS Example
To boot MS-DOS 6.22 purely into conventional memory, your
CONFIG.SYS file should resemble the following:
DOS=LOW,NOUMB
FILES=30
BUFFERS=30
Without HIMEM.SYS and EMM386.EXE, and with
DOS=LOW,NOUMB declared, MS-DOS 6.22 cannot allocate High
Memory, Upper Memory, Expanded Memory, or Extended Memory.
Temporary Bypass via Clean Boot
If you need to force conventional memory usage temporarily without
editing configuration files, press F5 immediately when
the text "Starting MS-DOS..." appears during system startup.
This executes a clean boot, completely bypassing both
CONFIG.SYS and AUTOEXEC.BAT, which leaves the
system strictly running on conventional base memory.