Jump to content

UMB (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article UMB (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 2025
CONFIG.SYS
Company typeConfiguration file
IndustryOperating systems
Founded1983
ProductsSystem configuration for DOS and OS/2

CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds setup instructions accessible to users that are interpreted by the operating system's DOS BIOS (commonly found in IBMBIO.COM or IO.SYS) during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS are used to configure DOS for hardware devices, software applications, and memory allocation. Once CONFIG.SYS has been processed, DOS launches the command interpreter specified by the SHELL directive; if none is specified, it defaults to COMMAND.COM, which then executes the AUTOEXEC.BAT script.

This file primarily consists of name=value pairs that set adjustable parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs). In DOS environments, CONFIG.SYS is located in the root directory of the bootable drive.

The same filename is also utilized by (DCP), an MS-DOS variant developed by East-German manufacturer VEB Robotron.

Certain DOS variants check for alternative configuration filenames that take precedence over CONFIG.SYS:

Earlier versions of Concurrent DOS (3.2 through 4.1) did not support CONFIG.SYS; however, later editions including Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 employ CCONFIG.SYS (derived from "Concurrent"). Multiuser DOS occasionally uses CCONFIG.INI, while REAL/32 looks for MCONFIG.SYS. These platforms also enable extended configuration options saved in a binary file named CCONFIG.BIN, which is usually modified via CONFIG.EXE.

In versions such as DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, and DR-DOS 7.02 and later, a file called DCONFIG.SYS (from "DR DOS") overrides CONFIG.SYS. Initially created to handle drive letter reassignment with disk compression utilities, it also supports multi-boot setups. OpenDOS 7.01 and DR-OpenDOS 7.02 look for ODCONFIG.SYS, while some DR-DOS 7.02+ editions check for DRCONFIG.SYS.

Starting with DR DOS 6.0, the SYS /DR:ext command allows users to change default file extensions so multiple sets of system files can coexist in a single root directory, selectable through boot loaders such as LOADER from Multiuser DOS and DR-DOS versions 7.02/7.03. The SHELL command supports specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], and COMMAND.COM can process extensions other than ".BAT" in this mode—a feature also supported by 4DOS. The CHAIN=filespec directive enables inclusion of additional configuration files located outside the root directory; DR-DOS 7.02 and newer allow jumping to specific labels within these files.

With DR-DOS 7.03 and later, the SYS /A option was added to copy matching CONFIG.SYS and AUTOEXEC.BAT files alongside system files.

FreeDOS uses FDCONFIG.SYS, whereas RxDOS version 7.24 and above utilizes RXCONFIG.SYS. The configuration filename for PTS-DOS is CONFIG.PTS.

Both CONFIG.SYS and AUTOEXEC.BAT are found in the root directories of Windows 95 and Windows 98 boot drives but are typically left empty due to their legacy DOS foundation. Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

For the FlexOS operating system, CONFIG.SYS is a binary file that specifies resource managers and device drivers to be loaded during system initialization.

Example

Here is a sample CONFIG.SYS configuration 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>

:;*?!

Marks labels within CONFIG.SYS to serve as jump destinations for , , , and commands.
Functions similarly to , but also applies to inline comments following other commands. (Note: MS-DOS/PC DOS does not ignore quoted inline comments.)
Used at the start of inline comments in conjunction with the ; command.
Prompts a Yes/No confirmation before executing subsequent commands. (FreeDOS supports conditional execution with boot menus but lacks customizable messages.)
Forces immediate execution of the next command without conditions.

ATemplate:NbndC

Determines whether programs can be terminated upon encountering errors.
Sets which drives record file access timestamps in FAT file systems.
Enables conditional execution on AT-compatible hardware.
Acts as a boot manager utility.
Controls the verbosity level of error reporting.
Alters the default serial device driver assignment (from COM1: through COM4:) for the AUX device.
Prevents access to character devices outside the virtual \DEV directory.
Loads a fundamental device driver into memory.
Produces a brief beep sound, regardless of other sound settings.
Specifies the operating system to boot next in sequence.
Enables or disables extended Ctrl+C interrupt checking.
Defines how many disk buffers should be allocated.
Similar to BUFFERS but loads buffers into High Memory Area or Upper Memory Blocks.
, CACHETTL, CACHEFLUSH (Embedded DOS 6-XL)
Manage cache block allocation and flushing intervals.
Executes programs during CONFIG.SYS processing, running in the foreground and pausing further processing until completion.
Sets Caps Lock keyboard status on or off.
, CDDBUFFERS (PTS-DOS only)
Configures CD-ROM driver name and buffer quantity.
Continues processing CONFIG.SYS from a specified file or label.
, CLS, CODEPAGE (PTS-DOS, OS/2)
Commands for clearing the screen, setting clock type, and selecting OEM codepages respectively.
, COLOR (PTS-DOS only)
Defines CMOS RAM address and colors for boot menus.
, COM2, COM3, COM4 (DR-DOS 7.02+)
Adjusts count, sequence, I/O addresses, and timeouts for COM ports.
, COMMENT(S), COUNTRY, CPOS, CPSW
Various directives handling device buffer settings, comment syntax changes, internationalization support, cursor positioning, and codepage switching across DOS variants.
CPU directives (CPU88 through CPU486+)
Allow conditional execution based on CPU model or speed (available in PTS-DOS and DR-DOS).

DTemplate:NbndF

Configures relocation of drive descriptor tables in memory.
Defines memory segment address used for multi-sector disk data deblocking operations.
Activates internal debugger support features.
Functions as a boot manager component.
Loads a device driver into system memory.
Loads a device driver into upper memory blocks (equivalent to in DRDOS 5.0).
Sets country and codepage information for keyboard, screen, and printer devices.
Configures cache memory size parameters.
Selects floppy disk compatibility mode settings.
Specifies font used for display output.
Controls whether DOS loads into high memory and/or utilizes upper memory areas.
Loads DOS system tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory blocks.
Defines an alternate directory path for DOS system files.
Specifies search paths for data files used by DOS utilities.
Sets physical disk drive parameters manually.
Defines configuration parameters for unknown or unrecognized drives.
See .
Enables error logging with PDUMP.nnn files on a specified drive.
Displays an informational message on screen during boot or processing.
Shows messages that include ANSI escape codes for formatting effects.
Activates additional validation checks when launching programs.
Specifies expected error or return codes for subsequent commands.
Controls A20 line gate state when starting applications to manage memory access above 1MB.
Terminates CONFIG.SYS processing early before reaching the end of the file (except under some conditions involving SWITCHES and SHELL).
Sets size of hash tables used to speed up file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
Configures number of cached File Control Blocks allowed open simultaneously (shares buffer with FILES under DR-DOS).
Similar to FCBS but loads File Control Blocks into upper memory areas.
Boot manager utility command.
Defines maximum number of open files permitted at once.
Equivalent to FILES but loads file handles into upper memory blocks.
Includes execution of specified CONFIG.SYS subsections (refer to IGNORE directive).

GTemplate:NbndI

Waits for a key press or times out, setting the error level to the ASCII value or 1024 if timed out.
Resumes processing of CONFIG.SYS at the specified label.
Continues nested CONFIG.SYS processing at a label, then returns to the previous point.
Refer to , , or for additional details.
See related information in .
Consult for further reference.
Refer to or for more information.
See or for context.
Additional details available in .
Loads a TSR program into memory following relocation of the DOS data segment; compare with INSTCDEX.
Refer to , , or for extended information.
See related commands in .
Consult or for further understanding.
Activates console and command line history buffers along with enhanced pattern search capabilities.
Defines the address for the High Memory Area (HMA) segment.
Configures energy-saving behavior related to HLT instruction usage.
Performs boot sector virus scanning during startup.
Loads installable file system drivers.
Prevents execution of specified subsections within CONFIG.SYS.
Permits certain programs to run at ring 2, enabling direct hardware I/O operations.
Incorporates directives from another menu section (DR-DOS supports this via GOSUB and RETURN).
Switches keyboard Insert mode on or off.
Installs a TSR program into memory.
Loads a TSR program into upper memory, similar to HIINSTALL in DR DOS 5.0.
Installs TSR after relocating DOS data segment, comparable to INSTCDEX.
Adjusts PIC interrupt priorities, assigning highest priority to a specified IRQ.

KTemplate:NbndM

Defines the keyboard layout configuration.
Specifies the address of the relocated keyboard buffer area.
Sets the maximum number of accessible drive letters.
Functions like LASTDRIVE but also loads the Current Directory Structure (CDS) into upper memory.
Specifies paths for searching DLL files.
Controls loading behavior of legacy applications.
Determines the number of file locks allowed.
Configures boot logo display and startup messages when using PTS-DOS boot manager.
Sets count, order, I/O port address, and timeout values for LPT1 device.
Configures count, order, I/O address, and timeout for LPT2 device similarly.
Defines count, order, I/O address, and timeout settings for LPT3 device.
Activates and configures LPT4 device with similar parameters.
Specifies time delay before elevating priority of waiting processes.
Manages memory allocation strategy settings.
Sets default method for DOS memory allocation.
Defines options available in menus.
Specifies menu color schemes (emulated under DR-DOS).
Sets default menu block (DR-DOS emulation).
Defines a menu block structure (emulated in DR-DOS).
Enables support for multitrack disk operations.
Continues CONFIG.SYS processing from another file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Specifies default No () character response in Yes/No/Resume prompts.
Sets keyboard [[Num Lock|Template:Keypress]] status as enabled or disabled.
Enables conditional execution based on last error code (e.g., ).
Displays text and waits for key input, similar to and commands in DR-DOS environments.
Requires user confirmation upon errors encountered in CONFIG.SYS processing.
Configures buffer sizes for printer ports LPT1 through LPT3.
Enables conditional execution on PC-compatible systems.
Adjusts scheduler priority settings.
Sets priority levels for disk I/O-related programs.
Changes default printer device assignment from LPT1 up to LPT4 ports.
Determines whether DOS applications are permitted to run.
Loads a user interface shell environment.
Allows conditional execution on IBM PS/1-compatible machines.
Enables conditional execution on IBM PS/2-compatible systems.
Silences output directed to STDOUT.

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS files.
Allocates drive letters for local block device drivers.
Defines the default character for Resume () prompts in Yes/No/Resume queries.
Returns nested CONFIG.SYS execution to the previous GOSUB or SWITCH point, optionally with a return code.
Sets the size of real mode memory available.
Functions like CALL but allows programs to load concurrently in the background during CONFIG.SYS processing.
Saves the first character of deleted files within the FAT reserved region.
Specifies video modes for FreeDOS or screen access methods for PTS-DOS.
Controls the status of the keyboard Scroll Lock, turning it on or off.
Assigns environment variables.
Loads the command interpreter shell.
Similar to SHELL but includes a SIZE parameter to pre-allocate COMMAND.COM in HMA or UMBs, reducing fragmentation, especially useful with third-party shells.
Adjusts keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines whether files are closed upon Ctrl+Alt+Del key combination.
Specifies if POST (Power-On Self Test) should be bypassed during reboot.
, STACKSIZE, STACKSHIGH
Configure stack parameters across different DOS versions and platforms; STACKS defines the count of hardware interrupt stacks but is ignored by some versions.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
Commands specific to PTS-DOS that manage boot processes, system loading locations, and optimize memory usage through UMBs.
Defines submenu blocks supported from DOS 6.0 onwards (excluding DR-DOS and FreeDOS); DR-DOS can emulate this functionality using CLS, ECHO, and SWITCH commands.
, SWAPPATH (OS/2)
Set paths for error logging drives and swap file locations respectively.
, SWITCHES
Enable conditional nested processing in CONFIG.SYS based on key inputs or specify special options depending on the OS variant.
, Designates the system switch character ('/' or '-') across various DOS versions including DR-DOS and FreeDOS.
, THREADS
OS/2 parameters handling FPU bug fixes and configuring concurrent thread counts.
, TRACE, TRACEBUF
Manage timeouts for CONFIG.SYS commands and enable single-step execution with configurable log buffer sizes, varying by operating system.

UTemplate:NbndZ

Configures DOS to allocate a specific segment as Upper Memory Block (UMB).
Determines which UMB server is utilized by the system.
Defines address ranges designated as UMB RAM areas.
Enables or disables verification of disk writes.
Specifies the DOS version reported to applications.
Controls VGA display status settings.
Indicates current video mode, similar to FreeDOS's SCREEN command.
Enables or disables use of virtual DMA capabilities.
Determines whether Virtual Mode Extensions (VME) are turned off.
Configures Virtual Device Driver (VxD) settings for Windows environments.
Sets system support parameters for Windows operation.
Manages relocation of the Extended BIOS Data Area (XBDA).
Conditional execution tailored for XT-compatible machines.
Enables built-in Year 2000 compliance support mechanisms.
Sets the default affirmative response character in prompts.
Configures file deletion tracking options.

Issues

Although it is possible for the system to boot without CONFIG.SYS or AUTOEXEC.BAT files present, these configuration files are critical for comprehensive operating system customization and satisfying software dependencies. If they become corrupted or damaged, troubleshooting is necessary.

In cases where 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. Earlier DOS versions prior to 6.0 will fail to boot if COMMAND.COM is not found, whereas MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later will prompt users to specify a command processor path. This prompt also appears if the primary shell terminates unexpectedly or exits intentionally, offering a limited runtime shell replacement without requiring a reboot.

The COMMAND.COM included with MS-DOS version 7.0 and above is incompatible with DR-DOS installations, which commonly reside in C:\ when dual-booting. From DR-DOS version 7.02 onward, bypassing SHELL directives during skip, trace, or step modes is restricted to prevent conflicts. Recovery procedures exist for invalid SHELL arguments involving specific key combinations that prompt users to enter valid shell filenames before loading COMMAND.COM.

CONFIG.SYS file size limitations vary depending on DOS versions: MS-DOS/PC DOS restricts size up to approximately 64 KB, whereas DR-DOS imposes no explicit size limit beyond filesystem constraints. MS-DOS processes CONFIG.SYS by compiling it into a tokenized format executed in a fixed sequence—device drivers load before TSRs—while DR-DOS interprets directives sequentially line-by-line. This approach allows precise control over driver and TSR loading order to resolve conflicts or facilitate debugging.

The line-by-line parsing method used by DR-DOS also supports conditional execution flows based on processor type detection, keypress events, error conditions, or return codes, enhancing configurability. The INSTALL directive enables integration of non-resident software into the CONFIG.SYS processing sequence.

Early MS-DOS releases limited SHELL command lines to a maximum length of 31 characters. Later versions expanded this limit up to 128 characters, while DR-DOS accepts up to 255 characters. It is important to note 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 files CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS to enable dual boot functionality between Windows 9x and DOS. Selecting the DOS boot option temporarily reverts these files to their original names. Additionally, backup copies of Windows 95's configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.

In setups where Caldera DR-DOS versions 7.02 or 7.03 coexist with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT remain intact, whereas DR-DOS utilizes alternative startup files named DCONFIG.SYS and AUTODOS7.BAT.

OS/2 and Windows NT

OS/2 heavily relies on CONFIG.SYS to load device drivers and set environment parameters before launching its graphical user interface.

Within the OS/2 subsystem of Windows NT, the CONFIG.SYS file is presented to OS/2 applications but is actually maintained within the system registry.

A variety of undocumented CONFIG.SYS commands are available for OS/2.

The use of CONFIG.SYS continues in OS/2-based 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 (archived) – summary of DR-DOS 7 commands
  • Details on FreeDOS CONFIG.SYS directives (archived)
  • PTS-DOS 2000 Pro User Manual including CONFIG.SYS directives (archived)
  • Comprehensive German-language PTS-DOS FAQ (archived) covering detailed CONFIG.SYS instructions