CDDNAME (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | System configuration for DOS and OS/2 |
CONFIG.SYS serves as the main configuration file for the DOS and OS/2 operating system families. This plain text file, written in ASCII, holds setup instructions accessible to users and is interpreted by the system's DOS BIOS—usually found in IBMBIO.COM or IO.SYS—during the boot process. The CONFIG.SYS file made its debut 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 command; if none is specified, it defaults to COMMAND.COM, which then executes commands from AUTOEXEC.BAT.
This configuration file primarily consists of name=value pairs that set parameters or load specific files, predominantly device drivers and terminate-and-stay-resident (TSR) programs into memory.
In DOS environments, CONFIG.SYS is located in the boot drive’s root directory.
Certain DOS variants prioritize alternative configuration filenames over CONFIG.SYS:
- Systems such as Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS) and MCONFIG.SYS (in REAL/32). These platforms also maintain supplementary configuration data in binary files like CCONFIG.BIN, typically managed through CONFIG.EXE.
- Starting with DR DOS 3.31 and continuing through PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+, the DCONFIG.SYS file takes precedence over CONFIG.SYS. This arrangement facilitates scenarios involving disk compression and multi-boot setups.
- OpenDOS 7.01 and DR-OpenDOS 7.02 additionally check for ODCONFIG.SYS, while some DR-DOS 7.02+ builds also look for DRCONFIG.SYS.
From DR-DOS 6.0 onward, users can customize system file extensions using the SYS /DR:ext command, allowing multiple sets of boot files to coexist within a single root directory and be selected by boot loaders such as LOADER. The SHELL directive supports specifying alternative AUTOEXEC.BAT files via the /P[:filename.ext] parameter—a capability also available in 4DOS.
Moreover, DR-DOS supports a CHAIN=filespec instruction that enables continuation of configuration processing from another file; versions 7.02 and later allow an optional label parameter (CHAIN=filespec,label) to specify a section within that file.
DR-DOS releases from version 7.03 forward include the SYS /A option to copy both CONFIG.SYS and AUTOEXEC.BAT alongside other system files.
Similar functionality exists in other DOS variants: FreeDOS employs FDCONFIG.SYS, RxDOS uses RXCONFIG.SYS, and PTS-DOS relies on CONFIG.PTS.
In Windows 95 and Windows 98, which are built upon DOS foundations, CONFIG.SYS and AUTOEXEC.BAT remain present in the root directory but are generally left empty. Conversely, 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
Within FlexOS, CONFIG.SYS differs as a binary file that specifies resource managers and device drivers loaded during system initialization.
Example
Below is a sample CONFIG.SYS used with 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>
:;*?!
- Establishes labels within CONFIG.SYS to serve as jump targets for , , , and commands.
- Functions similarly to , but additionally supports in-line comments following other CONFIG.SYS commands. (In MS-DOS/PC DOS, inline comments enclosed in double quotes are not disregarded.)
- Used at the start of in-line comments alongside the ; directive.
- Presents a Yes/No prompt to confirm the execution of subsequent CONFIG.SYS commands. (FreeDOS does not support custom messages but includes conditional boot menus.) (DOS version 6.0 and later offers comparable functionality by appending after directives.)
- Executes the following CONFIG.SYS command without condition.
ATemplate:NbndC
- Determines whether programs can be interrupted upon encountering errors.
- Sets which drives record file access timestamps within FAT file systems.
- Enables conditional execution on AT-compatible hardware.
- Provides boot management capabilities.
- Adjusts the level of detail in error message reporting.
- Alters the default serial driver associated with the AUX device.
- Prevents access to character devices outside the virtual \DEV directory.
- Loads core device drivers into memory.
- Produces a beep sound irrespective of notification settings.
- Defines the operating system to be booted next.
- Enables or disables extended Ctrl+C interrupt checking.
- Specifies the quantity of disk buffers allocated.
- Loads buffers explicitly into HMA or UMB memory areas.
- Sets the maximum count of cache blocks allocated from the system pool.
- Defines the maximum duration before unused cache blocks return to the system pool.
- Sets the maximum interval before modified cache blocks are flushed to disk storage.
- Executes programs listed in CONFIG.SYS, running them in the foreground and pausing further processing until completion.
- Configures keyboard Caps Lock status on startup.
- Identifies the hardware driver name for CD-ROM devices.
- Specifies buffer count for CD-ROM data access.
- Continues processing CONFIG.SYS directives from a new file or label reference.
- Indicates the type of system clock used.
- Clears the display screen during processing.
- Defines OEM codepage(s) utilized by the system.
- Specifies CMOS RAM address parameters.
- Sets color schemes for boot menus.
- , ;, ;, ;
- Define count, sequence, I/O addresses, and timeouts for COM port devices (applicable from DR-DOS 7.02 onward).
- , ;, ;, ;, ;, ;, ;, and others
- Various configuration options for device buffers, comment insertion, internationalization support, cursor positioning, codepage switching, CPU type conditions—primarily relevant to PTS-DOS, DR-DOS, Embedded DOS, and OS/2 platforms.
This concise overview emphasizes essential CONFIG.SYS commands that influence system operation and hardware setup, particularly pertinent for IT professionals managing legacy DOS environments or embedded systems within business contexts.
DTemplate:NbndF
- Adjusts relocation parameters for drive descriptor tables.
- Specifies memory segment addresses used for multi-sector disk data deblocking operations.
- Activates internal debugger functionality.
- Provides boot management features.
- Loads device drivers into conventional memory space.
- Loads device drivers into upper memory blocks (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 modes for floppy disk drives.
- Selects display font types used by the system.
- Controls loading of DOS into high memory areas and utilization of upper memory blocks.
- Loads DOS internal tables (BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory regions.
- Specifies alternative search paths for DOS files.
- Defines search paths for data files used by applications or drivers.
- Sets parameters describing physical disk drives connected to the system.
- Establishes configurations for unrecognized or generic drives.
- See .
- Enables specification of drives for PDUMP.nnn error logging files.
- Outputs messages directly on screen during processing.
- Displays messages incorporating ANSI escape sequences for formatting or control.
- Activates additional validation checks when launching programs.
- Assigns an assumed error or return code for program execution results.
- Controls A20 line gate state during program startup sequences.
- Terminates CONFIG.SYS processing prematurely while allowing exceptions to continue processing certain commands.
- Defines hash table size used to accelerate file open operations (differs from MS-DOS/PC DOS FASTOPEN driver implementation).
- Specifies how many File Control Blocks (FCBs) can be cached simultaneously (under DR-DOS FCBS and FILES share buffer resources).
- Similar to FCBS but loads into upper memory segments instead of conventional memory.
- Boot management utility command variant.
- Sets maximum number of files that may be opened concurrently by applications or system processes.
- Functions like FILES directive but allocates file handles into upper memory areas rather than conventional memory space.
- Includes execution of designated CONFIG.SYS subsections (see IGNORE directive).
GTemplate:NbndI
- Pauses for a key press or timeout, setting the error level to the ASCII value 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 prior location.
- Refer to , , or for additional details.
- See further information in .
- Consult for related commands.
- Refer to or for more context.
- See or for related usage.
- Consult for additional reference.
- Loads a TSR program after relocating the DOS data segment; compare with INSTCDEX.
- See , , or for related instructions.
- Refer to for further guidance.
- See or for more information.
- Activates and configures the console and command line history buffer with advanced pattern searching capabilities.
- Defines the address of the High Memory Area (HMA) segment.
- Sets up the HLT power-saving mode configuration.
- Enables scanning of system boot sector for viruses.
- Loads installable file system drivers.
- Excludes execution of particular CONFIG.SYS sections.
- Permits specified programs to operate at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block (can be emulated using GOSUB/RETURN in DR-DOS).
- Sets the keyboard's Insert mode status.
- Installs a TSR program into conventional memory.
- Loads a TSR program into upper memory (equivalent to HIINSTALL in DR DOS 5.0).
- Installs TSR post DOS data segment relocation; compare with INSTCDEX.
- Adjusts PIC interrupt priorities, assigning top priority to a defined IRQ number.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the relocated address of the keyboard buffer.
- Sets the maximum number of accessible drives.
- Similar to LASTDRIVE but loads Current Directory Structure into upper memory area.
- Lists paths for DLL file searches.
- Manages loading of legacy software applications.
- Specifies count for file locking mechanisms.
- Configures display of boot logos when using PTS-DOS boot manager.
- Defines quantity, sequence, I/O address, and timeout parameters for LPT1 device configuration.
- Likewise configures LPT2 device settings.
- Applies similar configuration to LPT3 device.
- Enables and sets parameters for LPT4 device operation.
- Establishes delay before increasing process priority levels.
- Determines strategy for memory allocation management.
- Specifies default method used by DOS for allocating memory resources.
- Defines available menu options within CONFIG.SYS interface.
- Sets color schemes for menus (can be simulated using ECHO commands in DR-DOS).
- Selects default menu block (emulatable via TIMEOUT and SWITCH commands in DR-DOS).
- Defines individual menu blocks (emulatable with ECHO and SWITCH in DR-DOS).
- Enables or disables multitrack disk drive operations.
- Continues processing CONFIG.SYS from an external file, optionally loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Configures default No () character used in Yes/No/Resume prompt dialogs.
- Controls the status of keyboard [[Num Lock|Template:Keypress]] key on startup.
- Enables conditional execution based on the most recent error code, e.g., .
- Displays a message and waits for key input, similar to and commands in DR-DOS environments.
- Requires user confirmation when errors occur during CONFIG.SYS processing.
- Sets buffer size parameters for LPT port communications.
- Enables conditional execution specifically on PC-compatible hardware platforms.
- Configures scheduling priority levels for processes.
- Assigns priority values to disk I/O operations programs.
- Switches default printer device driver among LPT1 through LPT4 ports.
- Specifies whether DOS programs are allowed to execute within current environment settings.
- Loads the user interface components as specified by system configuration.
- Allows conditional execution on IBM PS/1-compatible machines only.
- Allows conditional execution on IBM PS/2-compatible systems exclusively.
- Suppresses STDOUT output display by muting console output.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS.
- Allocates a drive letter to prevent local block device conflicts.
- Defines the default character for Resume () prompts.
- Returns nested CONFIG.SYS execution control to the previous GOSUB or SWITCH location, optionally passing a return code.
- Sets the size of real mode memory available.
- Enables loading of programs concurrently in the background during CONFIG.SYS processing.
- Determines whether the first character of deleted files is stored in the FAT reserved area.
- Specifies video mode settings for FreeDOS or screen access methods for PTS-DOS.
- Controls the status of the Scroll Lock key on the keyboard.
- Establishes environment variable values.
- Loads the command interpreter shell.
- Similar to SHELL but supports pre-allocation of space for relocating COMMAND.COM into HMA or UMBs to reduce fragmentation.
- Defines keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines whether files are closed automatically when Ctrl+Alt+Del is pressed.
- Specifies whether POST is skipped during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Configure interrupt stack sizes and buffer locations across different DOS versions and platforms.
- , SYSBOOT, SYSGEN, SYSLOAD
- PTS-DOS-specific commands that manage boot processes, alternative system loading, and memory setup.
- , SWITCH, SWITCHES
- Provide conditional processing and submenu block functionality within CONFIG.SYS for various DOS variants.
- , SWAPPATH, THREADS, TIMESLICE
- OS/2 directives that handle error logging paths, swap file locations, thread concurrency levels, and scheduler time slice durations.
- , TRACE, TRACEBUF
- Manage timeouts during CONFIG.SYS execution and enable tracing or logging features across DOS variants and OS/2 environments.
- , TRAPDUMP
- Designates temporary file extensions (PTS-DOS) and controls detailed error logging mechanisms (OS/2).
UTemplate:NbndZ
- Sets a specific memory segment for use as Upper Memory Block (UMB) by DOS management routines.
- Configures the UMB server parameters.
- Defines address ranges designated as UMB RAM areas.
- Enables or disables verification of disk writes.
- Specifies the DOS version reported to software applications.
- Controls VGA display settings status.
- Indicates current video mode configuration.
- Determines whether virtual DMA is permitted.
- Configures deactivation of processor Virtual Mode Extensions (VME).
- Sets parameters for VxD drivers under Windows environments.
- Manages system support configurations for Windows integration.
- Controls relocation settings for the Extended BIOS Data Area (XBDA).
- Enables conditional execution on XT-compatible machines.
- Configures built-in support for Year 2000 compliance.
- Defines the default affirmative character used in query prompts.
- Manages deletion tracking features.
Issues
While the system can initiate booting without a CONFIG.SYS file present, this file along with AUTOEXEC.BAT is critical for comprehensive DOS customization and loading necessary software components. If either file becomes damaged or corrupted, troubleshooting is required.
In cases where CONFIG.SYS lacks a SHELL directive or is missing or corrupted entirely, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Early DOS versions prior to 6.0 will fail to boot without this file. However, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later versions prompt users to specify a command interpreter path. This recovery prompt also appears if COMMAND.COM terminates unexpectedly or aborts during execution, allowing a limited shell replacement at runtime without needing a reboot.
Because MS-DOS version 7.0 and later COMMAND.COM versions are incompatible with DR-DOS, DR-DOS releases from 7.02 onward restrict bypassing SHELL directives during skip/trace/step debugging modes in dual-boot environments. Later updates introduced functionality prompting users to enter valid shell filenames when invalid SHELL arguments are detected before loading COMMAND.COM.
The maximum size allowed for CONFIG.SYS varies by operating system version—MS-DOS and PC DOS impose limits ranging from several kilobytes up to approximately 64 KB in newer releases. In contrast, DR-DOS interprets CONFIG.SYS line-by-line without practical size constraints. This enables precise control over driver and TSR load order through commands like DEVICE and INSTALL, which aids in resolving conflicts and streamlining debugging processes. Furthermore, INSTALL allows temporary external utilities to be incorporated into CONFIG.SYS processing.
Limits on SHELL command line length differ as well: MS-DOS/PC DOS versions from 2.0 through 4.01 permit up to 31 characters, later versions allow up to 128 characters, while DR-DOS supports lines as long as 255 characters. It should be noted that CONFIG.SYS directives do not accept long filenames.
Dual Booting 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 restored as CONFIG.SYS and AUTOEXEC.BAT. Backup copies of Windows 95 configuration files are saved under the names CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the original Windows CONFIG.SYS and AUTOEXEC.BAT filenames are preserved, while DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT as its startup scripts.[1]
OS/2 / Windows NT
OS/2 makes extensive use of CONFIG.SYS to manage drivers and environment settings before launching its graphical user interface.
Within the OS/2 subsystem included in Windows NT, configuration parameters traditionally found in CONFIG.SYS are instead maintained within the system registry rather than as separate files.
OS/2 also incorporates several undocumented CONFIG.SYS commands.[2]
The CONFIG.SYS file continues to play a vital role in OS/2-based operating systems such as eComStation[3] and ArcaOS.[4]
External links
- Information on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS commands (archived)
- Caldera’s CONFIG.SYS Command Reference (archived) – summary of DR-DOS 7 directives
- Details on FreeDOS CONFIG.SYS commands (archived)
- PTS-DOS 2000 Pro User Manual featuring CONFIG.SYS directives (archived)
- German-language unofficial PTS-DOS FAQ (PTS/FAQD) including CONFIG.SYS directives (archived)
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedCaldera_1998_USER - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedChilds_1995_OS2 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedecom_2001 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedArcaOS_2020