DRIVPARM (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Operating systems |
| Founded | 1983 |
| Products | System configuration directives for DOS and OS/2 |
CONFIG.SYS serves as the main configuration file for the DOS and OS/2 operating system families. This specialized ASCII text document contains setup commands that the operating system's DOS BIOS—typically found in IBMBIO.COM or IO.SYS—interprets during the boot process. The CONFIG.SYS file 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.
CONFIG.SYS primarily contains name=value instructions that set parameters or load files, predominantly device drivers and terminate-and-stay-resident programs (TSRs). This file is located in the root directory of the bootable drive.
Certain DOS variants check for alternative filenames that override CONFIG.SYS:
Early iterations of Concurrent DOS did not support CONFIG.SYS, but subsequent versions such as Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 utilize CCONFIG.SYS instead. Additionally, some Multiuser DOS editions employ CCONFIG.INI, with settings stored in a binary CCONFIG.BIN file, which can be modified using CONFIG.EXE.
In DR DOS 3.31 and later releases (including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+), DCONFIG.SYS takes precedence over CONFIG.SYS. This naming convention facilitates disk compression schemes where drive letters shift after loading compression drivers and supports multi-boot environments. Furthermore, OpenDOS 7.01 and DR-OpenDOS 7.02 recognize ODCONFIG.SYS, while certain DR-DOS 7.02+ versions look for DRCONFIG.SYS. The command SYS /DR:ext allows customization of the default configuration file extensions, enabling multiple system files to coexist in a single root directory and be selected via boot loaders such as LOADER used by Multiuser DOS and DR-DOS.
Advanced SHELL directives allow specifying alternate AUTOEXEC.BAT filenames using /P[:filename.ext], with COMMAND.COM supporting extensions other than ".BAT" in these cases—a feature also implemented by 4DOS. From DR-DOS 6.0 onward, the CHAIN=filespec directive enables continuation of configuration processing from another file outside the root directory; versions 7.02 and later add an optional label parameter for jumping to specific sections within that file.
Starting with DR-DOS 7.03, the command SYS /A was introduced to copy corresponding CONFIG.SYS and AUTOEXEC.BAT files alongside system files during setup.
Other operating systems use similar configuration files: FreeDOS employs FDCONFIG.SYS; RxDOS version 7.24 and above uses RXCONFIG.SYS; and PTS-DOS utilizes CONFIG.PTS.
On boot drives for Windows 95 and Windows 98, both CONFIG.SYS and AUTOEXEC.BAT are present in the root directory but are generally left empty. In contrast, Windows Me does not interpret CONFIG.SYS at startup, instead relying on environment variables stored within the Windows Registry at HKLM\System\CurrentControlSet\Control\SessionManager\Environment.
Within the context of FlexOS, CONFIG.SYS is a binary configuration file that defines resource managers and device drivers loaded during system initialization.
Example
Below 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 in CONFIG.SYS, serving as jump points for , , , , and commands.
- Functions like , but also allows inline comments following directives. (Note: MS-DOS/PC DOS does not ignore inline comments enclosed in quotes.)
- Used to start inline comments, similar to the ; symbol.
- Prompts the user with a Yes/No question to confirm execution of subsequent CONFIG.SYS commands. DOS version 6.0 and later support a comparable feature by appending after directives (e.g., ).
- Forces execution of the next CONFIG.SYS command without condition.
ATemplate:NbndC
- Determines whether programs can be aborted upon encountering errors.
- Sets which drives will record file access date stamps within FAT filesystems.
- Enables conditional execution on AT-compatible hardware.
- Acts as a boot manager utility.
- Adjusts the verbosity level of error messages.
- Alters the default internal serial device driver (COM1 through COM4) assigned to the AUX device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads a base device driver into system memory.
- Produces a brief beep even if audible alerts are disabled.
- Defines the operating system to be loaded during boot.
- Enables or disables extended Ctrl+C interrupt checking.
- Specifies how many disk buffers should be allocated.
- Explicitly loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
- , , (Exclusive to Embedded DOS 6-XL)
- Control cache allocation and flushing parameters.
- Loads programs specified in CONFIG.SYS, executing them in the foreground and pausing further processing until they return.
- (DR-DOS 7.02 and later)
- Sets keyboard Caps Lock status.
- , , and other CD-ROM related commands (PTS-DOS only).
- (DR DOS 5.0+, Embedded DOS)
- Continues processing of CONFIG.SYS from a new file or label.
- , , and additional display-related commands (PTS-DOS, DR DOS).
- , (OS/2)
- Specifies OEM codepages used by the system.
- , ..., , (DR-DOS 7.02+)
- Configures number, order, I/O addresses, and timeouts for serial COM devices.
- , (DOS 4.0+ and RxDOS)
- Redefines inline comment characters or causes following lines to be ignored (not recognized by DR-DOS 7.02+).
- , (DOS 3.0+, DR DOS 3.31+, OS/2)
- Enables internationalization support.
- CPU-specific directives (PTS-DOS and DR-DOS) determine execution based on CPU type and features.
This concise overview underlines essential CONFIG.SYS directives pertinent to managing system configurations in professional environments utilizing MS-DOS, DR-DOS, FreeDOS, OS/2, and related platforms, highlighting their functional roles and interoperability.
DTemplate:NbndF
- Configures relocation settings for drive descriptor tables.
- Defines memory segment address used for multi-sector disk data deblocking operations.
- Activates internal debugger functionality.
- Functions as a boot manager component.
- Loads device drivers into conventional memory.
- Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
- Sets country code and codepage information for keyboard, screen, and printer devices.
- Adjusts sizes of cache memory allocations.
- Defines compatibility mode for floppy disk drives.
- Specifies font used for display output.
- Controls whether DOS loads into high memory and uses upper memory areas (similar to in DRDOS 5.0).
- Loads DOS internal tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory regions.
- Indicates an alternative directory path for DOS system files.
- Specifies search paths for data files used by DOS utilities.
- Provides parameters defining physical disk drive characteristics.
- Establishes settings for unrecognized or unknown drives.
- See .
- Enables error log creation with PDUMP.nnn files on a designated drive.
- Displays a message on the screen during processing.
- Outputs messages including ANSI escape sequences for enhanced formatting.
- Determines whether additional validation checks occur when launching programs.
- Assigns assumed error or return codes for subsequent commands executed by DOS.
- Controls A20 gate state during program startup sequences.
- Terminates CONFIG.SYS processing prematurely except for SWITCHES and SHELL directives under specific conditions.
- Defines hash table size utilized for accelerating file open operations, differing significantly from the MS-DOS/PC DOS FASTOPEN driver implementation.
- Sets maximum number of cached File Control Blocks (FCBs) that can be open simultaneously (shares buffer space with FILES under DR-DOS).
- Similar to FCBS but explicitly loads FCBs into upper memory areas.
- Boot manager configuration directive.
- Specifies maximum number of files that may be opened simultaneously by the system.
- Similar to FILES but loads file handles into upper memory regions explicitly.
- Includes execution of selected CONFIG.SYS subsections (refer to IGNORE directive).
GTemplate:NbndI
- Waits for a key press or timeout, returning the ASCII code or 1024 if timed out.
- Resumes processing of CONFIG.SYS at a designated label.
- Initiates nested CONFIG.SYS processing at a label and returns to the previous point afterward.
- Refer to , , or for additional details.
- See for related information.
- Consult for further reference.
- Refer to and for more context.
- See and for related commands.
- Consult for further guidance.
- Loads a TSR after relocating the DOS data segment. Compare with INSTCDEX.
- Refer to , , or for additional options.
- Consult for more details.
- See or for related usage.
- Activates console and command line history buffers along with enhanced pattern searching.
- Defines the address of the High Memory Area (HMA) segment.
- Configures energy-saving mode via HLT instruction.
- Specifies whether to perform boot sector virus scanning.
- Loads installable file system drivers.
- Excludes execution of certain CONFIG.SYS subsections.
- Permits designated programs to execute at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block (emulated through GOSUB/RETURN in DR-DOS).
- Sets the status of keyboard Insert mode.
- Loads a TSR program into memory.
- Installs TSR into upper memory area, equivalent to HIINSTALL in DR DOS 5.0.
- Loads TSR after relocating DOS data segment—compare with INSTCDEX.
- Adjusts PIC interrupt priorities, elevating specified IRQ to highest priority.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Indicates the address of the relocated keyboard buffer.
- Sets the maximum number of accessible drives.
- Functions like LASTDRIVE but loads the Current Directory Structure (CDS) into upper memory.
- Specifies search paths for Dynamic Link Libraries (DLLs).
- Handles compatibility settings for legacy software.
- Determines the number of file locks allowed.
- Configures display options for the boot logo screen.
- Sets parameters including count, order, I/O address, and timeout for LPT1 port.
- Defines count, order, I/O address, and timeout settings for LPT2 port.
- Establishes count, order, I/O address, and timeout for LPT3 port configuration.
- Enables and configures LPT4 device similarly to other LPT ports.
- Sets delay duration before increasing process priority.
- Manages strategy for memory allocation during operation.
- Specifies default method used by DOS to allocate memory resources.
- Defines options available in system menus.
- Sets color schemes for menus (can be emulated in DR-DOS).
- Designates default menu block (DR-DOS emulation compatible).
- Creates a menu block definition (emulatable under DR-DOS).
- Enables support for multitrack disk operations.
- Continues CONFIG.SYS processing from a new file after loading a device driver and setting %NEWFILE%.
NTemplate:NbndQ
- Establishes the default "No" character used in Yes/No/Resume prompts.
- Controls the status of the keyboard’s [[Num Lock|Template:Keypress]] key.
- Allows conditional execution based on the last error code, such as .
- Displays a message and waits for a key press, similar to commands found in DR-DOS.
- Requires user confirmation when errors occur within CONFIG.SYS processing.
- Configures buffer sizes allocated to LPT ports.
- Enables conditional execution on PC-compatible systems only.
- Sets priority level within the system scheduler.
- Adjusts disk I/O priority assigned to running programs.
- Changes default printer device driver assignment (e.g., switching from LPT1 to LPT3 or LPT4).
- Indicates whether DOS applications are permitted to execute.
- Loads a user interface shell environment.
- Enables conditional execution on IBM PS/1 compatible hardware only.
- Allows conditional execution on IBM PS/2 compatible systems exclusively.
- 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 a drive letter to prevent assignment by local block device drivers.
- Establishes the default character for Resume () prompts.
- Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH point, optionally passing a return code.
- Specifies the size of real mode memory.
- Initiates simultaneous loading of programs in CONFIG.SYS in the background, analogous to CALL or INSTALL commands in other DOS variants.
- Saves the initial character of deleted files in a reserved FAT area.
- Determines video mode under FreeDOS or defines screen access methods under PTS-DOS.
- Manages the Scroll Lock key status on the keyboard.
- Assigns environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but allows pre-allocation of memory for COMMAND.COM to load into HMA or UMBs, enhancing memory efficiency with third-party shells.
- Defines states for keyboard modifiers such as Shift Lock, Num Lock, Scroll Lock, and Insert.
- Specifies file closure behavior triggered by Ctrl+Alt+Del key combination.
- Omits POST during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Set stack size parameters across various DOS platforms, with some directives disregarded depending on system version.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- PTS-DOS-specific commands managing boot processes, system loading locations, and memory optimization strategies.
- , SWITCHES
- Establish submenu sections and special options within CONFIG.SYS (support varies or is emulated differently among DOS versions).
- , SWAPPATH, THREADS, TIMESLICE
- OS/2 directives controlling error logging suppression, swap file directory, thread concurrency, and scheduler time slice durations.
- , SWITCHES
- Manage conditional nested CONFIG.SYS execution based on keyboard input or special options (implementation differs by DOS variant).
- , Sets the default switch character ('/' or '-') used across multiple DOS systems including DR-DOS and FreeDOS.
- , TRAPDUMP
- OS/2-specific settings addressing hardware FPU bugs and enabling detailed error diagnostics.
- , TRACE
- Controls timeouts for single-step execution in CONFIG.SYS and AUTOEXEC.BAT files with varying support across DR-DOS, PTS-DOS, and others.
This assortment of CONFIG.SYS commands illustrates the broad range of features supported across DOS variants such as DR-DOS, PTS-DOS, FreeDOS, Novell DOS, and OS/2—demonstrating their distinct methodologies for system setup, memory handling, device management, and error recovery essential for maintaining legacy enterprise computing systems.
UTemplate:NbndZ
- Sets a specific memory segment for use as Upper Memory Block (UMB) space by DOS.
- Selects which UMB server is utilized for memory management.
- Defines address ranges allocated as UMB RAM areas.
- Toggles disk write verification on or off.
- Specifies the version of DOS reported to applications.
- Configures VGA display operational status.
- Indicates the active video mode setting.
- Enables virtual DMA functionality.
- Controls processor Virtual Mode Extensions (VME) capabilities.
- Sets parameters for VxD drivers under Windows environments.
- Adjusts system-level support settings for Windows operation.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Enables conditional execution tailored for XT-compatible hardware.
- Configures built-in support addressing Year 2000 compliance issues.
- Sets the default affirmative response character used in prompts.
- Enables tracking of file deletions.
Challenges
Although the system can initiate startup without CONFIG.SYS or AUTOEXEC.BAT, these configuration files are crucial for complete operating system customization and meeting software prerequisites. Any corruption or loss of these files requires diagnostic intervention.
In cases where CONFIG.SYS is missing a SHELL command or is damaged, DOS attempts to locate COMMAND.COM in the root directory. Versions of DOS 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 versions prompt the user to enter the path for a command interpreter. This prompt also appears if the command processor terminates unexpectedly or exits intentionally, enabling a limited runtime shell replacement without needing to reboot.
COMMAND.COM from MS-DOS 7.0 onward is not compatible with DR-DOS, which impacts dual-boot configurations where COMMAND.COM resides on the C: drive. Starting with DR-DOS 7.02, the SHELL directive is strictly enforced during skip, trace, and step modes, eliminating bypass techniques prevalent in earlier releases. Subsequent updates restored certain skip functionalities to allow recovery from invalid SHELL parameters. If no SHELL directive is detected when CONFIG.SYS skipping occurs, users are asked to provide a valid shell filename before COMMAND.COM loads; defaults are used if no input is given.
The maximum size allowed for CONFIG.SYS differs between systems: MS-DOS and PC DOS limit it to a few kilobytes (with recent versions permitting up to 64 KB), while DR-DOS imposes no effective size restriction due to its line-by-line parsing method rather than tokenization. This approach grants DR-DOS enhanced flexibility in managing driver and TSR loading order through DEVICE and INSTALL commands, offering solutions for load conflicts as well as integrating temporary external utilities into the boot sequence.
For MS-DOS/PC DOS releases between versions 2.0 and 4.01, the length of the SHELL line was capped at 31 characters; later editions expanded this limit to 128 characters. In contrast, DR-DOS supports up to 255 characters for this directive. It should be noted that CONFIG.SYS commands do not accommodate long filenames.
Dual Booting DOS with Windows 9x
When Windows 95 is installed over an existing DOS or Windows environment, the original CONFIG.SYS and AUTOEXEC.BAT files are renamed to CONFIG.DOS and AUTOEXEC.DOS respectively to enable dual boot functionality. During a DOS boot session, these backup files are temporarily restored under their original filenames. Additionally, Windows 95 creates backups of its own configuration files labeled CONFIG.W40 and AUTOEXEC.W40.
In setups involving Caldera DR-DOS versions 7.02 or 7.03 alongside Windows 95, Windows retains its standard CONFIG.SYS and AUTOEXEC.BAT filenames, whereas DR-DOS employs alternative startup files named DCONFIG.SYS and AUTODOS7.BAT.
OS/2 and Windows NT
OS/2 makes extensive use of CONFIG.SYS for driver setup and environment configuration prior to launching its graphical user interface.
Within the OS/2 subsystem of Windows NT, the CONFIG.SYS file that OS/2 applications access is actually stored within the Windows registry rather than as a conventional file.
There exist numerous undocumented CONFIG.SYS directives specific to OS/2.
CONFIG.SYS continues to be utilized by OS/2 derivatives such as eComStation and ArcaOS.
See also
- IBMBIO.COM / IO.SYS
- IBMDOS.COM / MSDOS.SYS
- CONFIG (environment variable)
- AUTOEXEC.BAT
- COMMAND.COM
- List of DOS commands
External links
- AUTOEXEC.BAT and CONFIG.SYS details available at Computer Hope
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS commands (archived)
- Caldera's CONFIG.SYS Command Guide (archived) – summary of DR-DOS 7 instructions
- Explanation of FreeDOS CONFIG.SYS commands
- PTS-DOS 2000 Pro Manual featuring CONFIG.SYS commands (archived)
- Unofficial German PTS-DOS FAQ containing CONFIG.SYS instructions (archived)