Jump to content

List of CONFIG.SYS directives

From Alfawiki
CONFIG.SYS
Company typeConfiguration file
IndustryOperating systems
FoundedDOS version 2.0
ProductsConfiguration of DOS and OS/2 systems

CONFIG.SYS serves as the central configuration file for DOS and OS/2 operating systems. This specialized ASCII text document holds user-defined setup instructions that the operating system's DOS BIOS—commonly found in IBMBIO.COM or IO.SYS—reads during the boot sequence. The CONFIG.SYS file was first introduced with DOS version 2.0.

Usage

CONFIG.SYS directives are utilized to configure DOS settings related to hardware devices, software applications, and memory allocation. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified by the SHELL directive; if none is defined, it defaults to launching COMMAND.COM, which subsequently executes AUTOEXEC.BAT.

Typically, CONFIG.SYS contains name=value pairs that establish adjustable parameters or load essential components like device drivers and terminate-and-stay-resident programs (TSRs).

In DOS environments, the CONFIG.SYS file is located in the boot drive’s root directory.

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

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

- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 prefer CCONFIG.SYS instead of CONFIG.SYS. Multiuser DOS may also use CCONFIG.INI, while REAL/32 opts for MCONFIG.SYS. These platforms support supplementary configuration data stored in binary formats such as CCONFIG.BIN, commonly managed through CONFIG.EXE.

- From version 3.31 onward, DR DOS, including variants like PalmDOS, Novell DOS, and DR-DOS 7.x, give precedence to DCONFIG.SYS over CONFIG.SYS. Initially associated with disk compression utilities, this file also enables multi-boot setups. OpenDOS 7.01 and DR-OpenDOS 7.02 search for ODCONFIG.SYS, while some DR-DOS releases recognize DRCONFIG.SYS. The command SYS /DR:ext allows customization of default file extensions to accommodate multiple concurrent system files and configurations, enhancing boot versatility.

- Starting with DR-DOS 6.0, the CHAIN=filespec[,label] command permits continuation of configuration processing from files located outside the root directory or jumping to specific labels within files. DR-DOS 7.03 and later include SYS /A, which copies CONFIG.SYS and AUTOEXEC.BAT alongside system files.

Other DOS variants offer comparable capabilities: for example, FreeDOS employs FDCONFIG.SYS, RxDOS uses RXCONFIG.SYS, and PTS-DOS utilizes CONFIG.PTS.

Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directory of Windows 95 and 98 boot drives but are generally left empty. 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.

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

Example

Sample CONFIG.SYS content 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>

:;*?!

Utilized in CONFIG.SYS to mark labels as jump points for , , , , and commands.
Functions similarly to , also employed for inline comments following directives. (Note: Under MS-DOS/PC DOS, inline comments within double quotes are not ignored.)
Used at the start of inline comments, alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS commands.[1] (FreeDOS does not support custom messages but allows conditional execution with boot menus via and .) DOS version 6.0 and later offers a comparable feature by appending after directives (e.g., ).
Executes the following CONFIG.SYS 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.
Executes conditionally on AT-compatible systems.
Boot management utility.
Adjusts the verbosity level of error messages.
Changes the default serial driver associated with the AUX device.
Prevents access to character devices outside the phantom \DEV directory.
Loads a fundamental device driver into system memory.
Produces a brief beep sound even when audible alerts are disabled.
Defines the subsequent operating system to boot.
Enables or disables extended Ctrl+C detection.
Specifies quantity of disk buffers.
Similar to BUFFERS but allocates buffers in HMA or UMB areas.
Maximum number of cache blocks allocated dynamically.
Maximum duration before unused cache blocks return to the system pool.
Maximum time allowed before dirty cache blocks are flushed to disk.
Loads programs within CONFIG.SYS and runs them in the foreground, pausing further processing until completion.
Sets Caps Lock status on the keyboard.
Defines the name of the CD-ROM hardware driver.
Number of buffers assigned for CD-ROM access.
Continues processing CONFIG.SYS from another file or label.
Specifies type of system clock used.
Clears the screen display.
Defines OEM codepages in use.
Specifies CMOS RAM address location.
Sets color schemes for boot menus.
, ;, ;, ;
Configures count, sequence, I/O addresses, and timeouts for COM ports (available in DR-DOS 7.02+).
Assigns buffer for DMA operations (PTS-DOS).
Redefines characters initiating inline comments or causes the following line to be ignored (behavior varies by OS).
Activates and configures internationalization support (varies between operating systems).
Sets cursor position within configuration menus (DR-DOS 6.0+).
Supports codepage switching (MS-DOS versions 4.00-4.01).
CPU-related commands such as CPU88, CPU86, CPU386 specify conditional execution depending on CPU type (applicable in PTS-DOS and DR-DOS).

DTemplate:NbndF

Adjusts relocation settings for drive descriptor tables.
Defines memory segment address used for multi-sector disk data deblocking.
Enables support for an internal debugger.
Boot management utility.
Loads device drivers into main memory.
Loads device drivers into upper memory area (equivalent to in DRDOS 5.0).
Configures country and codepage settings for keyboard, screen, and printer devices.
Sets sizes of cache memory regions.
Specifies compatibility mode for floppy disks.
Defines font used for display output.
Manages loading of DOS into high memory and utilization of upper memory (similar to in DRDOS 5.0).
Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory area.
Specifies alternative directory path for DOS system files.
Defines search paths for data files.
Specifies physical parameters of disk drives.
Sets parameters for drives that are not recognized by default.
Refer to .
Enables specification of error log drive for PDUMP.nnn files.
Displays a message on screen output.
Displays a message including ANSI escape sequences for formatting.
Specifies additional checks during program startup.
Defines error or return code expected next in sequence.
Controls A20 gate status when launching programs.
Terminates CONFIG.SYS processing prematurely except under certain conditions where SWITCHES and SHELL directives remain processed.
Sets size of hash table used to accelerate file open operations, differing from MS-DOS/PC DOS FASTOPEN driver implementation.
Determines number of cached File Control Blocks open simultaneously (shares buffer space with FILES under DR-DOS).
Similar to FCBS but explicitly loads FCBs into upper memory area.
Boot management command directive.
Sets maximum number of files that can be open at once simultaneously.
Identical to FILES but loads file handles explicitly into upper memory area.
Includes execution of specified subsections within CONFIG.SYS (see IGNORE).

GTemplate:NbndI

Pauses for a key press or timeout, setting the error level to the ASCII value of the key pressed or 1024 if timed out.
Resumes processing of CONFIG.SYS at a designated label.
Continues nested CONFIG.SYS execution at a specified label, then returns to the previous location.
Refer to , , or for additional details.
See for further information.
Consult for more guidance.
Refer to or as applicable.
See or for related commands.
Consult for additional context.
Loads a terminate-and-stay-resident (TSR) utility into memory following DOS data segment relocation.
Additional information available in , , or .
See for related usage.
Refer to or for more details.
Activates console and command line history buffer with extended search functionality.
Defines the address of the High Memory Area (HMA) segment.
Configures CPU halt (HLT) power-saving mode.
Performs boot sector virus scanning.
Loads installable file system drivers.
Prevents execution of specified sections within CONFIG.SYS.
Permits applications to run at privilege ring 2 for direct hardware input/output operations.
Incorporates directives from another menu block, emulated via GOSUB/RETURN in DR-DOS environments.
Sets the keyboard's Insert mode status.
Installs a TSR program into memory.
Loads TSR software into upper memory, equivalent to HIINSTALL in DR DOS version 5.0.
Installs TSR utilities after relocating the DOS data segment.
Adjusts Programmable Interrupt Controller (PIC) priorities to emphasize a particular IRQ line.

KTemplate:NbndM

Defines the keyboard layout configuration.
Specifies the address of the relocated keyboard buffer area.
Sets the maximum number of accessible drives.
Equivalent to LASTDRIVE, loads Current Directory Structure into upper memory space.
Lists directories for DLL search paths.
Manages loading of legacy software applications.
Determines the number of file locks allowed.
Controls boot logo display support settings.
Configures LPT1 device parameters including count, order, I/O port, and timeout values.
Applies similar settings to LPT2 device configuration.
Sets up LPT3 device with comparable parameters.
Enables and configures LPT4 device functionality.
Specifies delay before elevating process priority during wait states.
Defines memory allocation strategies for DOS operations.
Sets default memory allocation method used by DOS.
Establishes menu option definitions for user interface selection.
Specifies menu color schemes, emulated under DR-DOS systems.
Identifies default menu block, emulated within DR-DOS environments.
Details menu block specifications as emulated by DR-DOS implementations.
Activates support for multitrack disk operations.
Continues CONFIG.SYS processing from a new file, optionally loading a device driver and setting the %NEWFILE% environment variable.

NTemplate:NbndQ

Defines the default character interpreted as No () in Yes/No/Resume prompts.
Sets whether the keyboard’s [[Num Lock|Template:Keypress]] is enabled or disabled by default.
Enables conditional command execution based on the last error code, such as .
Shows text and waits for a key press, functioning similarly to and in DR-DOS environments.
Requires user confirmation upon encountering errors during CONFIG.SYS processing.
Configures buffer sizes for LPT1 through LPT3 devices.
Allows conditional execution on PC-compatible hardware platforms.
Sets process scheduling priority levels.
Adjusts priority settings specifically for disk I/O intensive programs.
Changes default printer device driver assignment from LPT1 to LPT4 ports.
Restricts execution of DOS programs under specified conditions.
Loads a user interface shell environment during startup.
Enables conditional execution on IBM PS/1 compatible systems.
Supports conditional command execution on IBM PS/2 compatible machines.
Suppresses output directed to standard output (STDOUT).

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Inserts annotations within CONFIG.SYS.
Allocates a drive letter for local block device drivers.
Defines the default Resume () character used in prompts.
Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH point, optionally with a return code.
Specifies the size of real mode memory.
Initiates concurrent loading of programs in CONFIG.SYS, running them in the background similarly to CALL or INSTALL commands under DOS.
Saves the first character of deleted files into a reserved FAT area.
Sets video modes for FreeDOS or screen access methods for PTS-DOS.
Controls the on/off state of the keyboard Scroll Lock key.
Establishes environment variables.
Loads the command interpreter shell.
Functions like SHELL but supports preloading COMMAND.COM into HMA or UMBs to minimize fragmentation.
Defines keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines whether files close upon pressing Ctrl+Alt+Del.
Bypasses POST during system reboot.
, STACKSIZE, STACKSHIGH
Configure stack sizes and hardware interrupt stacks across various DOS versions, including compatibility considerations.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
PTS-DOS-specific commands that manage boot options, system memory placement, and loading into UMBs.
, SUPPRESSPOPUPS, SWAPPATH, SWITCH, SWITCHAR, SWITCHES
Commands controlling conditional CONFIG.SYS execution, error handling preferences, swap file paths, switch characters ('/' or '-'), and special options across DOS variants.
, THREADS, TIMESLICE
OS/2-specific parameters addressing hardware bug fixes, thread concurrency, and scheduler time slices.
, TRACE, TRACEBUF
Manage CONFIG.SYS timeouts and enable single-step trace execution with adjustable log buffers in DR-DOS, PTS-DOS, and OS/2 environments.
, TRAPDUMP
Settings for temporary file extensions (PTS-DOS) and detailed error logging (OS/2).

UTemplate:NbndZ

Configures DOS to allocate a specific segment as Upper Memory Block (UMB) space.
Sets the UMB server to be used by DOS.
Defines address ranges designated as UMB RAM.
Enables or disables verification of disk write operations.
Specifies which DOS version is reported to applications.
Configures VGA display status settings.
Sets the current video mode parameters.
Determines if virtual DMA functionality is permitted.
Controls whether processor Virtual Mode Extensions (VME) are disabled.
Configures VxD drivers for Windows environments.
Sets up system support parameters for Windows integration.
Manages relocation of the Extended BIOS Data Area (XBDA).
Executes conditionally only on XT-compatible machines.
Enables built-in Year 2000 compliance features.
Defines the default affirmative response character in prompts.
Configures tracking for file deletions.

Issues

While the system can start without CONFIG.SYS or AUTOEXEC.BAT files present, these are crucial for comprehensive customization and meeting software prerequisites. Corrupted files necessitate troubleshooting procedures.

In cases where SHELL is absent from CONFIG.SYS or if that file is missing or damaged, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Earlier DOS editions fail to initiate without this file. However, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7+ will prompt users to provide a path to a command processor. This prompt also appears if COMMAND.COM terminates unexpectedly or exits intentionally, allowing limited shell replacement at runtime without rebooting.

Due to incompatibilities between MS-DOS version 7.0 and later COMMAND.COM and DR-DOS systems, DR-DOS versions 7.02 and above restrict skipping SHELL directives during skip/trace/step modes to maintain system stability. If no valid SHELL directive exists when bypassing CONFIG.SYS processing, users must specify a shell before COMMAND.COM loads.

The size of CONFIG.SYS is constrained to a few kilobytes under MS-DOS/PC DOS—up to 64 KB in later releases—whereas DR-DOS imposes no such limit because it processes directives differently. MS-DOS compiles CONFIG.SYS into tokenized form before sorting directives, while DR-DOS interprets each line sequentially. This approach grants precise control over driver and TSR load order via DEVICE and INSTALL commands, facilitating resolution of conflicts and integration of temporary software.

MS-DOS/PC DOS versions from 2.0 through 4.01 restrict SHELL lines to a maximum length of 31 characters. Subsequent versions permit up to 128 characters. DR-DOS supports SHELL lines up to 255 characters long. Note that CONFIG.SYS directives do not accommodate long filenames.

Dual Booting DOS and Windows 9x

When Windows 95 is installed over a pre-existing DOS or Windows system, the files CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS, enabling dual boot functionality between Windows 9x and DOS. When booting into DOS mode, these files are temporarily restored to their original names, CONFIG.SYS and AUTOEXEC.BAT. Additionally, backup copies of the Windows 95 versions are retained as CONFIG.W40 and AUTOEXEC.W40.

In setups where Caldera DR-DOS 7.02 or 7.03 coexists with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT files remain untouched. Instead, DR-DOS utilizes its own startup configuration files named DCONFIG.SYS and AUTODOS7.BAT.[2]

OS/2 and Windows NT

OS/2 relies heavily on CONFIG.SYS to configure device drivers and environment settings prior to launching its graphical user interface.

Within the OS/2 environment included in Windows NT, the equivalent configuration is maintained within the system registry rather than as a physical CONFIG.SYS file.

There are numerous undocumented CONFIG.SYS commands specific to OS/2.[3]

CONFIG.SYS continues to be supported by OS/2-based operating systems such as eComStation[4] and ArcaOS.[5]

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) – detailing DR-DOS 7 directives
  • FreeDOS CONFIG.SYS directive descriptions
  • PTS-DOS 2000 Pro User Guide – includes CONFIG.SYS commands (archived)
  • Unofficial German PTS-DOS FAQ with CONFIG.SYS information (archived)
  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Paul_2000_CONFIG
  2. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Caldera_1998_USER
  3. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Childs_1995_OS2
  4. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named ecom_2001
  5. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named ArcaOS_2020