Jump to content

MEMMAN (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article MEMMAN (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 20251 source
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983
Headquarters
N/A
ProductsSystem configuration for DOS and OS/2

CONFIG.SYS serves as the central configuration file for the DOS and OS/2 operating system families. This plain text file, written in ASCII, holds configuration commands that are interpreted by the operating system's DOS BIOS—typically found in IBMBIO.COM or IO.SYS—during the system startup process. The CONFIG.SYS file was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS are responsible for setting up DOS to manage hardware devices, software applications, and memory allocation. Once these instructions are processed, DOS proceeds to load the command interpreter specified on the SHELL line; if none is defined, it defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.

CONFIG.SYS predominantly contains name=value pairs that adjust system parameters or load essential components such as device drivers and terminate-and-stay-resident programs (TSRs). This file is located in the root directory of the bootable drive.

Certain DOS variants prioritize alternative configuration filenames over CONFIG.SYS:

- Advanced editions like Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS or, in Multiuser DOS, CCONFIG.INI. These store extended settings in CCONFIG.BIN, which can be modified using CONFIG.EXE. - Starting with DR DOS 3.31 and continuing through versions such as Novell DOS 7 and OpenDOS, DCONFIG.SYS takes precedence. This supports features like multi-boot configurations and disk compression. - Versions OpenDOS 7.01 and DR-DOS 7.02 and later also recognize ODCONFIG.SYS or DRCONFIG.SYS. The command SYS /DR:ext allows customization of system file extensions, enabling multiple simultaneous configuration files managed by boot loaders like LOADER. - DR-DOS includes enhanced directives, including CHAIN=filespec[,label], which permits continued processing of additional configuration files even outside the root directory. - From DR-DOS 7.03 onward, the SYS /A command copies CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

Other DOS-like systems offer comparable capabilities: - FDCONFIG.SYS within FreeDOS - RXCONFIG.SYS found in RxDOS - CONFIG.PTS used by PTS-DOS

In Windows 95 and Windows 98, CONFIG.SYS and AUTOEXEC.BAT remain present on boot drives but are generally left blank. Conversely, Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables directly from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

For the FlexOS operating system, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded at boot time.

Example

Below is a sample CONFIG.SYS file for MS-DOS 5: <syntaxhighlight lang="ini" line="1"> DOS=HIGH,UMB DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE RAM DEVICEHIGH=C:\DOS\ANSI.SYS FILES=30 SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P </syntaxhighlight>

:;*?!

Defines labels within CONFIG.SYS that serve as jump points for directives such as , , , and .
Functions similarly to , but can also be used to add inline comments after other CONFIG.SYS commands. (Note that under MS-DOS/PC DOS, inline comments enclosed in double quotes are not ignored.)
Used to begin inline comments alongside the ; directive.
Introduces a Yes/No prompt (available since DR DOS 5.0) requesting user confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS supports conditional prompts via boot menus but lacks optional messages.) Starting with DOS 6.0, a comparable feature can be implemented by appending a after the directive (for example, ).
Forces unconditional execution of the following CONFIG.SYS command.

ATemplate:NbndC

Determines whether programs can be terminated upon encountering errors.
Defines which drives record file access timestamps within FAT directory entries.
Enables conditional command execution on AT-compatible systems.
Manages boot loading operations.
Adjusts the level of detail in error messages.
Alters the default serial driver assigned to the AUX device.[1]
Prevents character devices from being accessible outside the \DEV directory.
Loads the fundamental device driver into system memory.
Produces a brief beep sound even when audible alerts are disabled.[1]
Specifies which operating system should boot next.
Enables or disables extended Ctrl+C interrupt checking.
Determines the quantity of disk buffers allocated.
Similar to BUFFERS but places buffers into HMA or UMB memory areas.
, , (Exclusive to Embedded DOS 6-XL)
Controls cache block allocation and timing parameters.
Executes programs listed in CONFIG.SYS, pausing processing until completion.
(Available in DR-DOS 7.02+)
Sets the Caps Lock keyboard state.[1]
, (PTS-DOS exclusive)
Configures CD-ROM driver parameters.
(Applicable to DR DOS 5.0+ and Embedded DOS)
Continues CONFIG.SYS execution from a new file or label.[1]
, , and other display-related commands mainly used in PTS-DOS or DR-DOS environments.
, , and related directives activate internationalization features depending on the operating system.
, ..., (Introduced in DR-DOS 7.02+)
Configures serial COM port settings.[1]

Additional directives cover hardware setup, buffer allocations, CPU-specific conditional processing, and system behavior modifications customized for various DOS flavors such as MS-DOS, DR-DOS, FreeDOS, OS/2, Embedded DOS, and PTS-DOS.


DTemplate:NbndF

Adjusts relocation of drive descriptor tables in memory.
Specifies the memory segment address used for multi-sector disk data deblocking operations.
Activates internal debugger functionality.
Manages boot loading procedures.
Loads device drivers into conventional memory space.
Loads device drivers into upper memory blocks (equivalent to in DRDOS 5.0).
Configures country-specific and codepage settings for keyboard, screen, and printer devices.
Sets cache memory sizes for improved performance.
Defines compatibility mode for floppy disk drives.
Selects display font characteristics.
Controls whether DOS loads into high memory and utilizes upper memory areas.
Loads DOS internal tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory space.
Specifies an alternative directory path for DOS system files.
Defines search paths for locating data files.
Describes physical parameters for disk drives.
Establishes settings for unrecognized or unknown drives.
See .
Enables a drive to store PDUMP.nnn error log files.
Outputs a message directly on the screen.
Displays messages including ANSI escape codes for enhanced formatting.
Specifies additional validation checks when launching programs.
Sets an expected error or return code value for processes.
Controls the state of the A20 gate during program startup sequences.
Terminates CONFIG.SYS processing prematurely except for SWITCHES and SHELL directives under certain conditions.
Defines size of the hash table used to speed up file open operations, differing from MS-DOS/PC DOS FASTOPEN driver implementation.
Sets maximum number of cached File Control Blocks (FCBs) that can be open simultaneously (shares buffer with FILES under DR-DOS).
Functions like FCBS but loads FCBs into upper memory regions.
Boot manager utility command.
Determines maximum number of concurrently open files allowed by the system.
Similar to FILES but allocates file handles within upper memory areas.
Executes specified subsections within CONFIG.SYS files (see IGNORE).

GTemplate:NbndI

Waits for a key press or timeout, setting the error level to the ASCII value of the key or 1024 if timed out.
Resumes processing of CONFIG.SYS at a designated label.
Continues nested CONFIG.SYS processing at a specified label, then returns to the previous point.
Refer to , , or for additional details.
See also .
Consult .
Refer to or for related information.
See or for further guidance.
Consult .
Loads a TSR program into memory after relocating the DOS data segment. Compare with INSTCDEX.
Refer to , , or for more information.
See .
Consult or for related commands.
Activates console and command line history buffer with enhanced pattern search capabilities.
Defines the address of the HMA segment.
Configures HLT instruction power-saving features.
Enables scanning for boot sector viruses.
Loads installable file system drivers.
Prevents execution of specified CONFIG.SYS subsections.
Permits certain applications to execute at CPU ring 2, allowing direct hardware I/O access.
Includes directives from an alternate menu block (emulated via GOSUB/RETURN in DR-DOS).
Sets the status of keyboard Insert mode.
Installs a TSR program into memory.
Loads a TSR program into upper memory (equivalent to HIINSTALL in DR DOS 5.0).
Installs TSR after relocating the DOS data segment (compare INSTCDEX).
Adjusts PIC interrupt priorities, assigning highest priority to the specified IRQ number.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the address for the relocated keyboard buffer.
Specifies the maximum number of accessible drives.
Similar to LASTDRIVE but loads Current Directory Structure (CDS) into upper memory.
Lists directories searched for DLL files.
Manages compatibility settings for legacy software.
Determines the number of file locks allowed.
Configures boot logo display and startup message behavior.
Sets parameters including count, order, I/O address, and timeout for LPT1 device.
Applies equivalent settings for LPT2 device.
Same configuration applied to LPT3 device.
Enables and configures LPT4 device support.
Establishes delay before increasing priority of waiting processes.
Defines memory allocation policies and strategies.
Specifies default DOS memory allocation method.
Configures menu options available at startup.
Sets color scheme for menus (emulatable in DR-DOS).
Designates default menu block (emulatable in DR-DOS).
Defines individual menu blocks (emulatable in DR-DOS).
Enables operations involving multitrack disks.
Continues CONFIG.SYS processing from another file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Sets default No () response character in Yes/No/Resume prompts.
Turns keyboard [[Num Lock|Template:Keypress]] status on or off by default.
Enables conditional command execution based on last error code, e.g. .
Displays text and waits for key press, similar to and commands in DR-DOS.
Requires user confirmation when errors occur during CONFIG.SYS processing.
Configures buffer sizes for LPT ports.
Enables conditional execution on PC-compatible systems.
Sets scheduler priority level for processes.
Assigns priority level specifically for disk I/O operations.
Changes default printer assignment among LPT1 through LPT4 devices.
Controls whether DOS programs are permitted to run.
Loads user interface shell environment.
Enables conditional execution on IBM PS/1-compatible systems.
Enables conditional execution on IBM PS/2-compatible systems.
Suppresses display output sent to STDOUT.

RTemplate:NbndT

Activates automatic reboot upon encountering errors.
Inserts annotations within CONFIG.SYS.
Reserves a specific drive letter to prevent its use by local block device drivers.
Defines the default character returned by Resume () queries.
Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally passing a return code.
Specifies the size of real mode memory.
Allows simultaneous loading of programs in CONFIG.SYS in the background, akin to CALL or INSTALL commands in other operating systems.
Stores the initial character of deleted files within a reserved FAT area.
Sets video mode for FreeDOS or screen access methods for PTS-DOS.
Controls the keyboard Scroll Lock state, turning it on or off.
Defines environment variables.
Loads the command interpreter shell.
Similar to SHELL but supports pre-allocating COMMAND.COM size in HMA or UMBs to minimize fragmentation.
Configures keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines whether files close upon pressing Ctrl+Alt+Del.
Enables skipping of POST during reboot.
, STACKSIZE, STACKSHIGH
Set hardware interrupt stack sizes and buffer locations across various DOS versions and embedded systems.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
PTS-DOS parameters managing boot sequence, memory layout, and system loading behavior.
, SWITCH
Controls conditional submenu blocks and nested CONFIG.SYS execution with label-based branching (supported from DOS 6 onwards).
, SWAPPATH
OS/2 options specifying error log locations and swap file paths.
, SWITCHES
Define system switch characters (such as '/' or '-') and special options across different DOS variants.
, THREADS, TIMESLICE
OS/2 configurations addressing FPU bugs, concurrent threading, and scheduler time slices.
, TRACE, TRACEBUF
Manage CONFIG.SYS timeouts, step-by-step execution control, and log buffer sizes under DOS variants and OS/2 environments.
, TRAPDUMP
Specifies temporary file extensions (in PTS-DOS) and detailed error logging options (in OS/2).

UTemplate:NbndZ

Assigns a specific segment for use as an Upper Memory Block (UMB) in DOS.
Configures the UMB server settings.
Defines address ranges allocated for UMB RAM.
Enables or disables verification of disk writes.
Reports the DOS version to applications.
Manages VGA display status settings.
Sets the current video mode, similar to FreeDOS's SCREEN command.
Enables usage of virtual DMA capabilities.
Controls activation of processor Virtual Mode Extensions.
Configures VxD drivers for Windows environments.
Manages Windows system support parameters.
Relocates the Extended BIOS Data Area (EBDA).
Executes conditionally on XT-compatible hardware platforms.
Configures Year 2000 compliance support features.
Sets the default 'Yes' response character in prompts.
Tracks file deletion activities.

Issues

Although the system can start without CONFIG.SYS or AUTOEXEC.BAT files present, these are crucial for comprehensive OS customization and meeting software prerequisites. When these configuration files become corrupted or damaged, troubleshooting is necessary.

If CONFIG.SYS lacks a SHELL directive or if it is missing or corrupted, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Older DOS versions prior to 6.0 will fail to boot if COMMAND.COM is absent. Starting with MS-DOS 6.0/PC DOS 6.1, Novell DOS 7, and subsequent releases, users are prompted to specify an alternative command interpreter path when COMMAND.COM cannot be found or fails to load. This recovery mechanism also allows limited replacement of the shell at runtime without requiring a reboot.

COMMAND.COM from MS-DOS version 7.0 onward is not compatible with DR-DOS but typically resides on C:\ in dual-boot configurations. DR-DOS versions 7.02 and later enforce SHELL directives during skip/trace/step modes (triggered by Ctrl+F5/F7/F8), preventing users from bypassing shell loading. Later updates reintroduced skip functionality via Ctrl+F6 to recover from invalid SHELL entries. If no valid SHELL directive is found during CONFIG.SYS skipping, users must input a proper shell filename before COMMAND.COM initiates.

CONFIG.SYS file size limitations differ depending on the operating system version: MS-DOS and PC DOS restrict file size to a few kilobytes (up to approximately 64 KB in later releases), whereas DR-DOS imposes no practical size constraints beyond those of the underlying file system. This distinction arises from differing processing methods—MS-DOS compiles CONFIG.SYS into a tokenized format and processes directives in a fixed sequence (loading device drivers before TSRs), while DR-DOS interprets each directive sequentially. This approach affords more granular control over driver and TSR load order as well as conditional execution based on hardware presence, key states, errors, or return codes.

The flexible processing model of DR-DOS also supports running non-resident software through INSTALL, seamlessly integrating temporary programs into the CONFIG.SYS execution flow—an advantage for debugging and resolving load order conflicts.

Regarding syntax constraints, MS-DOS/PC DOS versions from 2.0 through 4.01 limit SHELL command lines to a maximum of 31 characters. Later versions extend this limit up to 128 characters, while DR-DOS accepts lines up to 255 characters long. It should be noted that CONFIG.SYS directives do not support long filenames.

Dual booting DOS and Windows 9x

When Windows 95 is installed over a pre-existing DOS/Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual boot functionality between Windows 9x and DOS. Selecting the DOS boot option temporarily reverts these files to their original names. Meanwhile, the Windows 95 versions are preserved under the filenames CONFIG.W40 and AUTOEXEC.W40.

In contrast, when Caldera DR-DOS 7.02/7.03 is installed alongside Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT filenames remain unchanged, while DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT as its configuration files during startup.

OS/2 / Windows NT

OS/2 relies heavily on CONFIG.SYS for setting up system parameters, device drivers, and environment variables prior to launching its graphical user interface.

Within the OS/2 compatibility subsystem of Windows NT, the CONFIG.SYS file that OS/2 applications interact with is actually maintained within the Windows registry.

OS/2 includes a variety of CONFIG.SYS commands that are not officially documented.

The use of CONFIG.SYS continues in OS/2-based operating systems such as eComStation and ArcaOS.

See also

External links

  • Information on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
  • Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS directives (archived)
  • Caldera’s CONFIG.SYS Command Reference for DR-DOS 7 (archived)
  • FreeDOS CONFIG.SYS directives explained
  • User Manual for PTS-DOS 2000 Pro with CONFIG.SYS directive details
  • Unofficial German PTS-DOS FAQ covering CONFIG.SYS commands (archived)
  1. ↑ 1.0 1.1 1.2 1.3 1.4 Cite error: Invalid <ref> tag; no text was provided for refs named Paul_1997_OD-A3