Jump to content

DDSCS (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article DDSCS (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 chief configuration file for DOS and OS/2 operating systems. This plain text ASCII file holds setup instructions that the operating system's DOS BIOS—typically found in IBMBIO.COM or IO.SYS—executes during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The 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 launches the command interpreter specified by the SHELL directive, defaulting to COMMAND.COM if none is provided; this interpreter then runs AUTOEXEC.BAT.

The content primarily consists of name=value pairs that define system parameters or initiate loading of files 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 company VEB Robotron.

Certain DOS versions search for alternative filenames that supersede CONFIG.SYS:

Advanced iterations of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 prioritize CCONFIG.SYS (the "Concurrent" prefix) over CONFIG.SYS. Some Multiuser DOS editions employ CCONFIG.INI instead, while REAL/32 looks for MCONFIG.SYS. These operating systems maintain supplementary configuration data in a binary file named CCONFIG.BIN, which is usually edited through CONFIG.EXE.

In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS versions 7.02 and above, a file named DCONFIG.SYS (where "D" stands for "DR DOS") takes precedence over CONFIG.SYS. Originally intended for disk compression utilities, this approach now facilitates multi-boot setups.

OpenDOS 7.01 and DR-OpenDOS 7.02 also check for ODCONFIG.SYS, whereas some DR-DOS 7.02+ releases look for DRCONFIG.SYS. Starting with DR DOS 6.0, the SYS /DR:ext command enables users to assign custom file extensions to support multiple system configuration files within a single root directory, selectable via boot loaders like LOADER included with Multiuser DOS and DR-DOS 7.x.

The SHELL command has been extended to allow specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], with COMMAND.COM supporting extensions beyond ".BAT" in these cases—a capability also available in 4DOS.

From DR-DOS 6.0 onward, the CHAIN=filespec instruction allows continuation of configuration processing from another file located outside the root directory; DR-DOS 7.02+ adds an optional label argument to jump directly to specific sections within chained files.

With DR-DOS 7.03 and later versions, the SYS /A option copies matching CONFIG.SYS and AUTOEXEC.BAT files alongside system files.

FreeDOS employs a comparable configuration file named FDCONFIG.SYS; meanwhile, RxDOS version 7.24 and above uses RXCONFIG.SYS, and PTS-DOS relies on CONFIG.PTS.

Due to their DOS heritage, both CONFIG.SYS and AUTOEXEC.BAT reside in the root directories of Windows 95 and Windows 98 boot drives but are generally left empty. In contrast, Windows Me does not process CONFIG.SYS at startup; instead, it retrieves environment variables from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

In the case of FlexOS, CONFIG.SYS is a binary file that specifies resource managers and device drivers loaded during 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 in CONFIG.SYS that serve as jump targets for , , , , and commands.
Functions similarly to , also used for inline comments after other directives. (In MS-DOS/PC DOS, inline comments enclosed in double quotes are not ignored.)
Used at the beginning of inline comments, an alternative to the ; directive.
Prompts with a Yes/No confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS does not support custom messages but allows conditionals with boot menus.) DOS version 6.0 and later provides a comparable feature by appending to directives.
Forces unconditional execution of the next CONFIG.SYS command.

ATemplate:NbndC

Determines whether programs can be interrupted on errors.
Sets which drives record file access timestamps on FAT file systems.
Enables conditional execution on AT-compatible hardware.
Acts as a boot manager.
Controls the verbosity level of error messages.
Changes the default serial device driver (COM1 through COM4) associated with the AUX device.
Prevents access to character devices outside of the virtual \DEV directory.
Loads a base device driver into memory.
Produces a beep sound even when notification sounds are disabled via switches.
Specifies the operating system to boot next.
Enables or disables extended Ctrl+C checking.
Sets the number of disk buffers allocated.
Similar to BUFFERS but loads buffers into High Memory Area or Upper Memory Blocks.
, ,
Configure cache size, time-to-live (TTL), and flush intervals.
Loads and runs programs within CONFIG.SYS, halting further processing until completion.
Sets the keyboard Caps Lock state.
,
Defines CD-ROM driver name and buffer count.
Continues processing CONFIG.SYS from another file or label.
, , , etc.
Various system settings related to clocks, screen clearing, OEM codepages (primarily for OS/2 or PTS-DOS).
Defines count, order, I/O address, and timeout for serial devices (available in DR-DOS 7.02+).
, , etc.
Manage inline comments and internationalization support.

Additional CPU-specific directives such as CPU88 and CPU386 permit conditional execution based on processor type (used in PTS-DOS and DR-DOS).

DTemplate:NbndF

Configures relocation of drive descriptor tables in memory.
Specifies memory segment address for multi-sector disk data deblocking operations.
Enables support for an internal debugger.
Functions as a boot manager.
Loads device drivers into conventional memory.
Loads device drivers into upper memory blocks (equivalent to in DRDOS 5.0).
Configures country and codepage settings for keyboard, screen, and printer devices.
Sets cache memory sizes.
Defines floppy disk compatibility mode.
Specifies display font settings.
Controls loading DOS into high memory and utilizing upper memory areas.
Loads DOS tables (BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory regions.
Specifies alternative paths for DOS files.
Defines search paths for data files.
Sets physical disk drive parameters.
Provides parameters for unrecognized drives.
See .
Enables error logging to PDUMP.nnn files and selects drive location.
Displays messages on screen during boot or configuration processing.
Displays messages including ANSI escape sequences for formatting.
Determines if extra checks occur when launching programs.
Specifies assumed error or return codes for subsequent commands.
Controls A20 gate state upon starting programs.
Terminates CONFIG.SYS processing early except for SWITCHES and SHELL directives under certain conditions.
Defines hash table size to accelerate file open operations (differs from MS-DOS/PC DOS FASTOPEN driver).
Sets number of cached File Control Blocks open simultaneously (shares buffer with FILES under DR-DOS).
Similar to FCBS but explicitly loads into upper memory areas.
Functions as a boot manager.
Sets maximum number of concurrently open files allowed.
Equivalent to FILES but loads file handles explicitly into upper memory regions.
Includes execution of specified CONFIG.SYS subsections (see IGNORE).

GTemplate:NbndI

Waits for a key press or timeout, assigning the error level to the key's ASCII value or 1024 if timed out.
Resumes CONFIG.SYS processing at a designated label.
Continues nested CONFIG.SYS processing at a specified label, then returns to the prior point.
Refer to , , or for additional information.
Consult for further details.
See for more context.
Refer to or for related information.
Consult or for further guidance.
See for additional reference.
Loads a TSR program after relocating the DOS data segment; compare with INSTCDEX.
Refer to , , or for related commands.
See for more information.
Consult or for details.
Activates console and command line history buffers featuring advanced pattern searching capabilities.
Defines the address of the High Memory Area (HMA) segment.
Configures energy-saving mode using HLT instruction.
Specifies whether to perform boot sector virus scanning.
Loads installable file system drivers.
Skips execution of designated CONFIG.SYS subsections.
Permits specified programs to operate at ring 2, allowing direct hardware I/O access.
Incorporates directives from another menu block (emulated in DR-DOS through GOSUB/RETURN).
Sets the status of keyboard Insert mode.
Loads a TSR program into memory.
Installs a TSR program into upper memory area (similar to HIINSTALL in DR DOS 5.0).
Loads TSR post DOS data segment relocation; see also INSTCDEX.
Adjusts PIC interrupt priorities to give precedence to a specified IRQ number.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the address for the relocated keyboard buffer.
Determines the maximum number of accessible drives.
Similar function to LASTDRIVE but loads Current Directory Structure (CDS) into upper memory.
Specifies search paths for dynamic link libraries (DLLs).
Manages backward compatibility with legacy applications.
Configures the number of allowable file locks.
Enables boot logo display and configures startup message options.
Defines parameters such as count, order, I/O address, and timeout for LPT1 device configuration.
Provides similar configuration settings for LPT2 device.
Applies analogous settings to LPT3 device configuration.
Enables and configures LPT4 device parameters.
Sets delay before increasing process priority level.
Configures strategy for memory allocation management.
Specifies default memory allocation method used by DOS.
Defines available menu options within the system interface.
Sets color schemes for menus (emulatable in DR-DOS).
Specifies default menu block selection (emulatable in DR-DOS).
Identifies a particular menu block (emulatable in DR-DOS).
Enables or disables multitrack disk read/write operations.
Continues processing CONFIG.SYS from a new file after loading certain drivers and setting environment variables.

NTemplate:NbndQ

Assigns default character used for No () responses in Yes/No/Resume prompts.
Controls status of keyboard [[Num Lock|Template:Keypress]] key upon startup.
Allows conditional execution based on previous error code, e.g., .
Displays text and waits for user key press, similar to and commands in DR-DOS functionality.
Requires user confirmation on errors encountered during CONFIG.SYS processing.
Configures buffer sizes assigned to LPT ports.
Enables conditional execution specifically on PC-compatible systems.
Sets scheduler priority levels for processes.
Assigns priority levels for disk I/O intensive programs.
Changes default printer device driver from LPT1 to either LPT3 or LPT4 port drivers.
Specifies whether DOS applications are permitted to execute within the environment.
Loads a user interface shell component during startup.
Enables conditional execution on IBM PS/1 compatible systems only.
Enables conditional execution on IBM PS/2 compatible systems only.
Suppresses output sent 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 a drive letter for local block device drivers.
Sets the default character for Resume () prompts in Yes/No/Resume dialogues.
Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally passing a return code.
Defines the size of real mode memory available.
Enables concurrent loading of programs in CONFIG.SYS, running them in the background similarly to CALL or INSTALL commands in other DOS variants.
Stores the first character of deleted filenames within the FAT reserved area.
Determines video mode under FreeDOS or selects screen access methods under PTS-DOS.
Manages the Scroll Lock key status on the keyboard.
Assigns environment variables.
Loads the command interpreter shell.
Functions like SHELL but includes a SIZE parameter to load COMMAND.COM into HMA or UMBs, optimizing memory when using third-party shells.
Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert.
Controls whether files close upon pressing Ctrl+Alt+Del.
Bypasses POST during system reboot sequences.
, STACKSIZE, STACKSHIGH
Configure interrupt stacks and buffer locations with varying support across DOS implementations.
, SYSBOOT, SYSGEN, SYSLOAD
PTS-DOS-specific options for managing system boot processes, including alternate OS booting and memory layout control.
, SWITCH
Enables submenu blocks and conditional nested CONFIG.SYS processing (supported with RETURN in DR-DOS).
, SWAPPATH
OS/2 features that specify drive selection for error logs and swap file locations.
, SWITCHES
Define default switch characters ('/' or '-') and special options across different DOS versions.
, THREADS, TIMESLICE
OS/2-specific parameters to activate FPU bug fixes, configure concurrent threads, and adjust scheduler time slices.
, TRACE, TRACEBUF
Control CONFIG.SYS execution timeouts, enable single-step debugging, and set log buffer sizes across DR-DOS, PTS-DOS, FreeDOS, and OS/2 variants.
, TRAPDUMP
Defines temporary file extensions (PTS-DOS) and detailed error logging capabilities (OS/2).

UTemplate:NbndZ

Configures DOS to designate a particular segment as an Upper Memory Block (UMB).
Sets parameters for the UMB server operation.
Defines address ranges utilized as UMB RAM areas.
Enables or disables verification of disk writes.
Determines the DOS version reported to software applications.
Configures VGA display status settings.
Specifies the active video mode.
Indicates whether virtual DMA is permitted.
Enables or disables Virtual Mode Extensions (VME).
Configures VxD drivers for Windows environments.
Sets options related to Windows compatibility support.
Adjusts relocation settings for the Extended BIOS Data Area (XBDA).
Allows conditional execution on XT-compatible machines.
Configures built-in Year 2000 compliance support.
Sets the default 'Yes' character used in prompt dialogs.
Enables tracking of file deletions.

Issues

Although the system can initiate booting without CONFIG.SYS or AUTOEXEC.BAT files, these remain crucial for comprehensive operating system customization and meeting software requirements. If either file becomes corrupted or missing, troubleshooting is necessary.

When CONFIG.SYS lacks a SHELL directive or is absent/corrupted, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions prior to 6.0 will fail to boot if COMMAND.COM is not found. MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later prompt users to specify a command interpreter path if missing or aborted, allowing limited shell replacement at runtime without rebooting.

COMMAND.COM from MS-DOS 7.0 onward is incompatible with DR-DOS but often resides in C:\ during dual-boot configurations. Consequently, DR-DOS 7.02 and newer strictly enforce SHELL directives during skip/trace/step modes. Recovery procedures include reactivating skip mode through specific key combinations and prompting users for valid shell filenames before loading COMMAND.COM.

CONFIG.SYS file size restrictions differ among systems: MS-DOS and PC DOS limit files to several kilobytes (up to 64 KB in recent editions), whereas DR-DOS imposes no practical size limit due to its line-by-line interpretation instead of tokenization. This approach grants DR-DOS users precise control over driver and TSR loading order via DEVICE and INSTALL commands, aiding conflict resolution and debugging.

MS-DOS/PC DOS versions 2.0 through 4.01 restrict SHELL line length to 31 characters; later versions extend this limit up to 128 characters while DR-DOS supports lines up to 255 characters. None of the CONFIG.SYS directives accommodate long filenames.

Dual booting DOS with Windows 9x

During the installation of Windows 95 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. When the system boots into DOS mode, these files are temporarily reverted to their original filenames. Meanwhile, backups of the Windows 95 versions are stored as CONFIG.W40 and AUTOEXEC.W40.

In cases where Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the original CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain intact. DR-DOS instead utilizes DCONFIG.SYS and AUTODOS7.BAT as its configuration files for startup.

OS/2 and Windows NT

OS/2 extensively depends on CONFIG.SYS to set up drivers and environment parameters prior to launching its graphical user interface.

Within the OS/2 subsystem integrated into Windows NT, the file perceived by OS/2 applications as CONFIG.SYS is actually maintained within the system registry.

Numerous CONFIG.SYS commands applicable to OS/2 are not officially documented.

CONFIG.SYS continues to be employed 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 CONFIG.SYS directives for Windows 98 / MS-DOS 7.10 (archived)
  • Caldera's CONFIG.SYS Command Reference (archived) – Summary of DR-DOS 7 directives
  • Guide to FreeDOS CONFIG.SYS directives
  • PTS-DOS 2000 Pro User Manual featuring CONFIG.SYS directives (archived)
  • Unofficial German PTS-DOS FAQ including details on CONFIG.SYS directives (archived)