Jump to content

UMBSRV (CONFIG.SYS directive)

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

CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This distinctive ASCII text document holds user-modifiable setup instructions that the operating system's DOS BIOS—usually found in IBMBIO.COM or IO.SYS—interprets during the boot process. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

Directives within CONFIG.SYS are responsible for configuring DOS to support hardware devices, software applications, and memory management utilities. Once CONFIG.SYS has been processed, DOS loads the command interpreter specified by the SHELL directive, or defaults to COMMAND.COM, which then executes the commands in AUTOEXEC.BAT.

The file primarily consists of name=value entries that set adjustable parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs) into system memory.

In DOS environments, CONFIG.SYS is located in the root directory of the active boot drive.

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

Certain DOS variants recognize alternative filenames that supersede CONFIG.SYS:

Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 seek CCONFIG.SYS (derived from "Concurrent") instead of CONFIG.SYS. Some Multiuser DOS releases use CCONFIG.INI, while REAL/32 looks for MCONFIG.SYS. These platforms accommodate extended configuration parameters stored in binary files like CCONFIG.BIN, which are commonly modified using CONFIG.EXE.

Starting with DR DOS 3.31 and continuing through versions such as PalmDOS, Novell DOS, and OpenDOS, the filename DCONFIG.SYS (originating from "DR DOS") takes priority over CONFIG.SYS. Initially designed to support disk compression utilities managing drive letter reassignments, it also enables multi-boot setup flexibility. OpenDOS 7.01 and DR-OpenDOS 7.02 may additionally look for ODCONFIG.SYS, while some DR-DOS releases from 7.02 onward check for DRCONFIG.SYS.

From DR DOS 6.0 onwards, the command SYS /DR:ext permits customization of default file extensions, allowing multiple system files to coexist in a single root directory and be selected by boot loaders like LOADER. The SHELL directive supports alternative AUTOEXEC.BAT filenames via /P[:filename.ext], with COMMAND.COM accepting extensions other than .BAT—capabilities also found in 4DOS. The CHAIN=filespec directive enables continuation of configuration processing in a different file, which does not have to reside in the root directory; DR-DOS 7.02 and later versions support labeled sections within chained files. Additionally, DR-DOS 7.03 and newer introduce SYS /A to duplicate CONFIG.SYS and AUTOEXEC.BAT alongside system files.

FreeDOS provides an equivalent feature through FDCONFIG.SYS, whereas RxDOS version 7.24 and above utilizes RXCONFIG.SYS. The PTS-DOS operating system uses CONFIG.PTS for this purpose.

Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directory of Windows 95 and Windows 98 boot drives but are generally left empty.

Windows Me does not process CONFIG.SYS during startup; instead, it retrieves environment variables directly from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

In the case of FlexOS, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded at system initialization.

Example

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 targets for , , , and commands.
Functions similarly to , but also supports in-line comments. (In MS-DOS/PC DOS, inline comments enclosed in double quotes are not ignored.)
Used at the start of in-line comments alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS directives. (FreeDOS lacks customizable messages but allows conditional execution via boot menus.) DOS 6.0 and later implement a comparable feature using a suffix.
Forces the following CONFIG.SYS command to execute unconditionally.

ATemplate:NbndC

Determines whether programs can be interrupted upon errors.
Sets drives to record file access dates on FAT file systems.
Executes conditionally on AT-compatible hardware.
Boot management utility.
Adjusts verbosity of error messages.
Alters the default serial driver assigned to the AUX device.
Prevents character devices from being accessible outside the phantom \DEV directory.
Loads fundamental device drivers into system memory.
Produces a brief beep even if sound notifications are disabled.
Indicates which operating system should boot next.
Enables or disables extended Ctrl+C checking.
Specifies how many disk buffers to allocate.
Similar to BUFFERS but places buffers in HMA or UMB memory areas.
Maximum count of cache blocks allocated dynamically.
Maximum duration before unused cache blocks return to the system pool.
Maximum interval before dirty cache blocks are flushed to disk.
Loads external programs within CONFIG.SYS, pausing processing until they complete.
Defines keyboard Caps Lock state.
Specifies the driver name for CD-ROM hardware.
Number of buffers allocated for CD-ROM operations.
; Continues processing CONFIG.SYS from a new file or label location.
; Selects the type of system clock used.
; Clears the display screen.
; Defines OEM codepages utilized by the system.
; Sets CMOS RAM address parameters.
; Configures colors used in boot menus.
Defines count, order, I/O addresses, and timeout values for COM ports (available in DR-DOS 7.02+).
Buffer allocation for DMA operations (specific to PTS-DOS).
Redefines characters that lead inline comments or causes lines to be ignored (introduced in DOS 4.0+, RxDOS).
Enables and configures internationalization support (supported by various DOS versions and OS/2).
, CPSW, CPU*, and others
Various directives managing cursor position, codepage switching, and CPU-specific conditional execution (found in PTS-DOS and other variants).

DTemplate:NbndF

; Adjusts relocation settings for drive descriptor tables.
; Specifies segment address in memory for multi-sector disk data deblocking operations.
; Enables support for internal debugging features.
; Boot management utility.
; Loads device drivers into memory.
; Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
; Configures country codes and codepages for keyboard, screen, and printer devices.
; Sets sizes for cache memory allocations.
; Defines compatibility mode for floppy disk drives.
; Specifies font used on display devices.
; Controls loading DOS into high memory and usage of upper memory blocks.
; Loads DOS-related tables (BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory regions.
; Sets an alternative directory path for DOS system files.
; Defines search paths for data files used by DOS utilities.
; Specifies physical parameters for disk drives.
; Configures parameters for unrecognized drive types.
; See .
; Enables PDUMP error logging and defines drive location for logs named PDUMP.nnn.
; Outputs messages directly on screen display.
; Displays messages including ANSI escape sequences for enhanced formatting.
; Applies additional validation checks when launching programs.
; Defines assumed error or return codes for subsequent commands executed by CONFIG.SYS or batch files.
; Sets A20 gate state prior to program execution to control memory access above 1MB boundary.
; Terminates CONFIG.SYS processing prematurely (with some exceptions).
; Defines hash table size used to speed up file open operations, differing from MS-DOS/PC DOS FASTOPEN driver implementation.


GTemplate:NbndI

Pauses for a key press or timeout, assigning the error level to the ASCII value or 1024 if timed out.
Resumes processing of CONFIG.SYS at a given label.
Continues nested CONFIG.SYS execution at a specified label, then returns to the previous point.
Refer to , , or for details.
See for further information.
Consult for additional context.
Refer to or as needed.
See or for more details.
Consult for related information.
Loads a terminate-and-stay-resident (TSR) program into memory after DOS relocates its data, similar in function to .
See , , or for related commands.
Consult for further reference.
Refer to or for more details.
Activates console and command line history buffers with advanced pattern searching capabilities.
Sets the address of the High Memory Area (HMA) segment.
Configures the energy-saving mode using the HLT instruction.
Enables scanning of the boot sector for viruses.
Loads file systems that can be installed dynamically.
Prevents execution of designated CONFIG.SYS subsections.
Permits certain programs to operate at ring 2 level, allowing direct hardware input/output access.
Incorporates directives from another menu block by emulating GOSUB/RETURN in DR-DOS.
Sets the status of the keyboard Insert mode.
Installs a TSR program into memory.
Loads a TSR program into upper memory, functioning similarly to HIINSTALL in DR DOS version 5.0.
Installs a TSR after DOS data relocation, akin to the INSTALL command.
Adjusts PIC interrupt priorities, elevating a specified IRQ number to highest priority.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the relocated address of the keyboard buffer.
Determines the maximum number of accessible drives.
Functions like LASTDRIVE but loads Current Directory Structure into upper memory instead.
Lists paths where DLLs are searched for.
Manages handling of legacy software compatibility.
Specifies how many file locks are allowed concurrently.
Enables boot logo display support with PTS-DOS boot manager integration.
Configures count, order, I/O address, and timeout parameters for LPT1 port.
Applies similar settings as LPT1 for LPT2 device configuration.
Mirrors LPT1 settings for LPT3 device configuration.
Enables and configures LPT4 device in a comparable manner.
Sets delay before increasing process priority level.
Adjusts strategy for memory allocation management.
Specifies default approach used by DOS for memory allocation tasks.
Defines options available within menu structures.
Sets color schemes used in menus (can be emulated in DR-DOS).
Assigns default menu block (emulatable in DR-DOS environment).
Defines multiple menu blocks (also emulatable in DR-DOS).
Enables or disables multitrack operations on disk drives.
Continues processing CONFIG.SYS commands from an external file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Establishes default No () character response in Yes/No/Resume prompts.
Controls keyboard [[Num Lock|Template:Keypress]] status—turning it on or off by default.
Enables conditional command execution based on last error code, such as .
Displays text and waits for user key press, resembling DR-DOS commands and .
Requires user confirmation upon encountering errors during CONFIG.SYS processing.
Configures buffer sizes used by LPT ports.
Allows conditional execution targeting PC-compatible systems specifically.
Sets parameters related to priority scheduling of processes.
Defines priority level assigned to disk input/output operations.
Changes default printer device driver assignment among LPT1 through LPT4 ports.
Controls whether DOS applications are permitted to execute or not.
Loads a user interface shell environment upon startup.
Enables conditional execution on IBM PS/1-compatible hardware platforms.
Enables conditional execution on IBM PS/2-compatible hardware platforms.
Suppresses output directed to standard output (STDOUT).

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS (ignored by PTS-DOS).
Allocates drive letters for local block device drivers.
Establishes the default Resume () character used in command prompts.
Returns nested CONFIG.SYS processing control 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, similar to CALL or INSTALL commands under DOS.
Determines whether the first character of deleted files is saved in the FAT reserved area.
Sets video mode under FreeDOS or defines screen access methods for PTS-DOS.
Controls the keyboard Scroll Lock key status (on/off).
Assigns environment variables.
Loads the command interpreter shell.
Functions like SHELL but supports a size parameter to pre-allocate COMMAND.COM in HMA or UMBs, reducing fragmentation.
Defines keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines if files should close when Ctrl+Alt+Del is pressed.
Skips Power-On Self Test (POST) during reboot sequences.
, STACKSIZE, STACKSHIGH
Configure stack parameters across various DOS versions, with differing levels of support and compatibility considerations.
, SYSBOOT, SYSGEN, SYSLOAD
PTS-DOS-specific directives managing boot processes and system loading configurations.
(DOS 6.0+) Defines submenu blocks within CONFIG.SYS (unsupported by DR-DOS and FreeDOS).
, SWAPPATH, THREADS, TIMESLICE
OS/2-specific settings related to error handling, swap file locations, threading behavior, and scheduler time slices.
, SWITCHES
Conditional processing commands for CONFIG.SYS used by DR DOS and Novell DOS, with limited applicability in PTS-DOS.
, TMPEXT
Defines default switch characters ('/' or '-') and temporary file extensions across different DOS variants.
, TRACEBUF, TRAPDUMP
Enable tracing and logging of CONFIG.SYS execution and error dumping primarily in DR-DOS, PTS-DOS, and OS/2 environments.

This section details essential CONFIG.SYS directives that influence system startup procedures, environment configuration, device management, and error handling—crucial for organizations relying on tailored DOS setups for legacy applications or embedded platforms.

UTemplate:NbndZ

Configures a specific memory segment to function as an Upper Memory Block (UMB).
Specifies the UMB server component.
Defines address ranges allocated for UMB RAM usage.
Enables or disables disk write verification processes.
Sets the DOS version number reported to applications.
Manages VGA display status settings.
Specifies the active video mode.
Activates virtual Direct Memory Access (DMA).
Controls processor Virtual Mode Extensions functionality.
Configures VxD drivers utilized by Windows systems.
Sets Windows support parameters.
Manages relocation of the Extended BIOS Data Area (EBDA).
Enables conditional execution on XT-compatible hardware platforms.
Configures Year 2000 (Y2K) compliance support.
Defines the default 'Yes' response character in prompts.
Tracks file deletions.

Issues

Although it is possible for the system to boot without a CONFIG.SYS file present, this file along with AUTOEXEC.BAT remains critical for customizing the operating system and managing software dependencies. Corruption or damage to these files requires diagnostic efforts.

If a SHELL directive is missing from CONFIG.SYS or if the file itself is absent or corrupted, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions prior to DOS 6.0 will fail to boot if COMMAND.COM cannot be found. MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later will prompt users to specify the command interpreter's location. This prompt also appears if the primary shell terminates unexpectedly or exits normally, offering a limited ability to replace the shell at runtime without rebooting.

COMMAND.COM from MS-DOS version 7.0 onwards is incompatible with DR-DOS. This incompatibility impacts dual-boot scenarios where DR-DOS versions 7.02 and higher enforce SHELL directives during skip/trace/step modes to improve recovery options when invalid shell arguments occur.

CONFIG.SYS file size restrictions differ depending on the operating system version. MS-DOS and PC DOS limit file size to several kilobytes (up to approximately 64 KB), whereas DR-DOS imposes no practical size constraints because it interprets lines sequentially rather than tokenizing them. This design grants users comprehensive control over driver and TSR loading order, facilitating resolution of conflicts and enabling sophisticated conditional processing based on hardware configurations or runtime conditions.

In MS-DOS/PC DOS versions from 2.0 through 4.01, SHELL line length is restricted to 31 characters. Later versions extend this limit up to 128 characters, while DR-DOS supports up to 255 characters. It is important to note that CONFIG.SYS directives do not accept long filenames.

Dual Booting Between DOS and Windows 9x

When Windows 95 is installed over a pre-existing DOS or Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS to enable dual boot functionality between Windows 9x and DOS. During a DOS boot, these files are temporarily reverted to their original filenames. Additionally, the Windows 95 versions are preserved under the names CONFIG.W40 and AUTOEXEC.W40.

In configurations where Caldera DR-DOS 7.02 or 7.03 coexists with Windows 95, the CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain unaltered. Instead, DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT for its startup procedures.

OS/2 and Windows NT

OS/2 extensively utilizes CONFIG.SYS for system setup, including driver loading and environment configuration prior to initializing its graphical user interface.

Within the OS/2 subsystem of Windows NT, the functionality of CONFIG.SYS is replicated through registry entries. OS/2 supports numerous CONFIG.SYS commands that are not officially documented.

CONFIG.SYS continues to be employed by OS/2-based operating systems such as eComStation and ArcaOS.

See also

External links

  • AUTOEXEC.BAT and CONFIG.SYS details – Computer Hope (2017)
  • Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS parameters
  • Caldera’s CONFIG.SYS Command Reference (1998) covering DR-DOS 7 options
  • FreeDOS CONFIG.SYS parameter descriptions
  • PTS-DOS 2000 Pro User Guide including CONFIG.SYS commands
  • German-language unofficial PTS-DOS FAQ (2004) with extended CONFIG.SYS directives