CDDBUFFERS (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Headquarters | N/A |
| Products | System configuration for DOS and OS/2 |
CONFIG.SYS serves as the essential configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds setup instructions accessible to users that are interpreted by the operating system's DOS BIOS—typically found in IBMBIO.COM or IO.SYS—during the system startup. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The entries within CONFIG.SYS tailor DOS to accommodate hardware devices, software applications, and memory management utilities. Once these commands are processed, DOS launches the command interpreter specified on the SHELL directive; if none is specified, it defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.
The file predominantly contains name=value pairs that adjust configurable settings or load components like device drivers and terminate-and-stay-resident programs (TSRs). CONFIG.SYS is located in the boot drive’s root directory.
The same filename is also utilized by (DCP), an MS-DOS variant developed by the former East-German company VEB Robotron.
Certain DOS variants check for alternative filenames that supersede CONFIG.SYS:
- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 prioritize CCONFIG.SYS, enabling extended configuration options stored in binary files such as CCONFIG.BIN, managed through CONFIG.EXE.
- In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, and DR-DOS versions 7.02 and later, DCONFIG.SYS is preferred, facilitating disk compression techniques and multi-boot configurations.
- OpenDOS 7.01 and DR-OpenDOS 7.02 also scan for ODCONFIG.SYS, while some DR-DOS releases look for DRCONFIG.SYS.
- Starting with DR DOS 6.0, the SYS /DR:ext command allows custom extensions for system files to support multiple configurations running concurrently and selectable via boot loaders such as LOADER.
- The SHELL command accepts alternative AUTOEXEC.BAT filenames using /P[:filename.ext], a feature also supported by tools like 4DOS.
- From DR-DOS 6.0 onward, the CHAIN=filespec directive enables continuation of configuration processing from files located outside the root directory; DR-DOS 7.02 and newer versions add support for label-specific jumps within these chained files.
With DR-DOS 7.03 and later, the SYS /A option copies both CONFIG.SYS and AUTOEXEC.BAT alongside other system files.
FreeDOS employs FDCONFIG.SYS, while RxDOS (version 7.24+) uses RXCONFIG.SYS, and PTS-DOS utilizes CONFIG.PTS.
Both CONFIG.SYS and AUTOEXEC.BAT reside in the root directory of DOS-based Windows editions such as Windows 95 and Windows 98, where they are often left empty. In contrast, Windows Me does not process CONFIG.SYS during startup but instead loads environment variables from the Windows Registry.
For FlexOS, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded during system initialization.
Example
A sample CONFIG.SYS file for MS-DOS version 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>
:;*?!
- Defines labels within CONFIG.SYS used as jump points for , , , and commands.
- Functions like , but can also serve as inline comments following other directives in CONFIG.SYS. (Note: Under MS-DOS/PC DOS, inline comments inside double quotes are not ignored.)
- Introduces inline comments similar to ;.
- Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS directives.[1] FreeDOS lacks support for optional prompts but allows conditional execution via boot menus configured by and . Starting with DOS 6.0, similar functionality is available by appending after directives (e.g., ).
- Forces unconditional execution of the following directive within CONFIG.SYS.
ATemplate:NbndC
- Determines whether programs may be terminated upon encountering errors.
- Sets which drives maintain file access timestamps in FAT file systems.
- Enables conditional execution on AT-compatible systems.
- Manages boot options.
- Adjusts the detail level of error message output.
- Alters the default serial driver assigned to the AUX device.
- Prevents character devices from appearing outside the phantom \DEV directory.
- Loads a fundamental device driver into system memory.
- Produces a beep sound even if audible alerts are disabled.
- Specifies the operating system to boot next in sequence.
- Enables or disables extended Ctrl+C detection.
- Defines the number of disk buffers allocated.
- Similar to BUFFERS but allocates buffers in HMA or UMB areas.
- Maximum number of cache blocks reserved from the system pool.
- Maximum duration before unused cache blocks are released back to the system pool.
- Maximum interval before dirty cache blocks are written to disk.
- Loads and executes programs listed in CONFIG.SYS, running them in the foreground and pausing further processing until completion.
- Sets Caps Lock keyboard status on or off.
- Identifies the CD-ROM hardware driver name.
- Determines the number of buffers used for CD-ROM operations.
- Continues processing CONFIG.SYS from a new file or label reference.
- Specifies the type of system clock employed.
- Clears the display screen.
- Defines one or more OEM codepages in use.
- Indicates CMOS RAM address location.
- Sets color schemes for boot menu displays.
- Configures I/O port and timeout parameters for COM1 device.[2]
- Similarly defines settings for COM2, COM3, and COM4 devices (introduced in DR-DOS 7.02+).
- Provides buffer settings for DMA operations (specific to PTS-DOS).
- Redefines comment lead-in characters or causes the following line to be ignored, behavior varies by OS version.
- Enables or configures internationalization support, depending on OS variant.
- Positions display cursor for configuration menus (available in DR DOS 6.0+).
- Supports codepage switching (present in MS-DOS 4.x but ignored under DR-DOS 7.02+).
- CPU-related directives allow conditional execution based on processor type (applicable to PTS-DOS and DR-DOS).
DTemplate:NbndF
- Manages relocation of drive descriptor tables within memory.
- Sets memory segment limits for multi-sector disk data deblocking processes.
- Activates internal debugger functionality.
- Handles boot management tasks.
- Loads specified device drivers into memory space.
- Loads device drivers into upper memory blocks (functionality equivalent to in DRDOS 5.0).
- Configures country-specific and codepage information for keyboard, screen, and printer devices.
- Adjusts cache memory size allocations.
- Defines compatibility mode settings for floppy disk drives.
- Specifies font used for display output.
- Controls loading of DOS into high memory and/or use of upper memory areas (similar to in DRDOS 5.0).
- Directs loading of DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory regions.
- Specifies an alternative directory path for DOS system files.
- Sets search paths for locating data files during operation.
- Defines parameters related to physical disk drives configuration.
- Establishes parameters for drives that are unrecognized by default settings.
- See .
- Enables error logging and designates drive location for PDUMP.nnn files.
- Outputs a simple message on screen display.
- Displays messages incorporating ANSI Escape codes for enhanced formatting.
- Specifies additional verification steps when launching programs.
- Defines assumed error or return codes for program execution monitoring.
- Sets the state of the A20 address line when initiating programs.
- Terminates CONFIG.SYS processing prematurely except for SWITCHES and SHELL directives under certain conditions.
- Configures hash table size used to accelerate file open operations (differs from MS-DOS/PC DOS FASTOPEN driver).
- Determines number of cached File Control Blocks that can be open simultaneously (shares buffer with FILES on DR-DOS).
- Functions like FCBS but loads these into upper memory areas instead of conventional memory.
- Boot management utility similar to .
- Specifies maximum number of files that may be opened concurrently by the system.
- Functions similarly to FILES but loads file handles into upper memory blocks rather than conventional memory.
- Facilitates execution of designated CONFIG.SYS subsections (refer to IGNORE directive).
GTemplate:NbndI
- Pauses awaiting a key press or timeout, returns ASCII code or 1024 if timed out.
- Resumes CONFIG.SYS processing at a designated label.
- Initiates nested CONFIG.SYS processing at a label, with to continue afterward.
- Refer to , , or for additional details.
- Consult for further information.
- See for related instructions.
- Refer to or for comparable commands.
- See or for similar functionality.
- Consult for more context.
- Loads TSR after DOS relocates its data segment; compare with INSTCDEX.
- Refer to , , or for related directives.
- See .
- Enables command line and console history buffer along with enhanced pattern searching.
- Defines the address of the High Memory Area (HMA) segment.
- Configures energy-saving via HLT instruction.
- Performs boot sector virus detection.
- Loads installable filesystem drivers.
- Prevents execution of specific CONFIG.SYS subsections. See .
- Permits certain applications to operate at ring 2 level for direct hardware access.
- Incorporates directives from an alternate menu block (can be emulated by GOSUB/RETURN in DR-DOS).
- Sets the Insert mode status on the keyboard.
- Loads a TSR program into memory.
- Installs TSR into upper memory area (similar to HIINSTALL in DR DOS 5.0).
- Loads TSR after relocating DOS data segment; compare with INSTCDEX.
- Adjusts PIC interrupt priorities, prioritizing a specified IRQ line.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the relocated keyboard buffer's memory address.
- Sets the maximum number of accessible drive letters.
- Functions like LASTDRIVE but loads Current Directory Structure (CDS) into upper memory.
- Lists directories for DLL searching paths.
- Provides compatibility support for legacy software.
- Sets the number of allowable file locks.
- Configures boot logo display and startup messages visibility.
- Defines count, order, I/O address, and timeout settings for LPT1 device port.
- Applies similar configuration settings to LPT2 device port.
- Configures LPT3 device with comparable parameters.
- Enables and sets parameters for LPT4 device port.
- Establishes wait duration before elevating process priority level.
- Determines the memory allocation strategy employed by DOS.
- Sets default DOS memory allocation approach.
- Defines menu selection options available at startup.
- Specifies menu color schemes (emulatable under DR-DOS).
- Sets default menu block (emulatable in DR-DOS).
- Defines individual menu blocks (emulatable within DR-DOS).
- Enables multi-track disk read/write operations support.
- Continues processing CONFIG.SYS from another file, optionally after loading a device driver and setting the %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default 'No' () character response in Yes/No/Resume prompts.
- Determines whether keyboard [[Num Lock|Template:Keypress]] is enabled by default.
- Executes commands conditionally based on last return code or error status, e.g., .
- Functions similarly to and , displaying text and waiting for a key press input.
- Requires user confirmation on errors detected during CONFIG.SYS processing.
- Adjusts buffer sizes for LPT1, LPT2, and LPT3 devices.
- Enables conditional execution specifically on PC-compatible systems.
- Configures system priority scheduling parameters.
- Sets priority levels for disk I/O operations programs.
- Changes default printer device driver assignment (switching among LPT1 through LPT4).
- Specifies whether DOS applications are permitted to execute.
- Loads a user interface component during boot process.
- Enables conditional execution on IBM PS/1 compatible machines only.
- Enables conditional execution on IBM PS/2 compatible machines only.
- Suppresses output sent to STDOUT display.
RTemplate:NbndT
- Enables automatic system reboot when errors occur.
- Permits inclusion of comments within CONFIG.SYS.
- Allocates a drive letter for local block device drivers.
- Defines the default Resume () character used in Yes/No/Resume prompts.
- Returns nested CONFIG.SYS processing to the previous GOSUB or SWITCH location, optionally with a return code.
- Sets the size of real mode memory.
- Allows programs in CONFIG.SYS to load simultaneously in the background.
- Determines whether the first character of a deleted file is stored in the FAT reserved area.
- Specifies video mode (for FreeDOS) or screen access methods (for PTS-DOS).
- Indicates the on/off status of keyboard Scroll Lock.
- Establishes environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but supports a size parameter for pre-allocating memory to load COMMAND.COM into HMA or UMBs, optimizing memory usage with third-party shells.
- Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Controls whether files close upon pressing Ctrl+Alt+Del.
- Determines if POST is bypassed during reboot.
- , STACKSIZE, STACKSHIGH
- Configure hardware interrupt stacks and loading buffers into upper memory across various DOS versions and derivatives.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- Manage boot configuration, alternative OS boot files, locations of DOS components in memory, and loading DOS data/code into UMBs (specific to PTS-DOS).
- , SUBMENU, SUPPRESSPOPUPS, SWAPPATH
- Handle internal strings usage, submenu blocks (DOS-only), error logging drives (OS/2), and swap file directory paths (OS/2).
- , SWITCHES, SWITCHAR
- Enable conditional nested CONFIG.SYS processing triggered by key presses, define special options (DOS), and set system-wide default switch characters (‘/’ or ‘-’).
- , THREADS, TIMESLICE
- Address FPU bug fixes (OS/2), configure concurrent threads count, and set scheduler time slices (OS/2).
- , TMPEXT, TRACE, TRACEBUF, TRAPDUMP
- Control CONFIG.SYS processing timeouts (DR-DOS, PTS-DOS), temporary file extensions (PTS-DOS), enable single-step execution tracing with log buffer sizing (DR-DOS, PTS-DOS, OS/2), and detailed error logging (OS/2).
UTemplate:NbndZ
- Assigns a specific segment as an Upper Memory Block (UMB) for DOS usage.
- Configures the UMB server settings.
- Defines address ranges designated for UMB RAM.
- Enables or disables verification of disk writes.
- Determines the DOS version reported to applications.
- Sets VGA display parameters.
- Specifies the active video mode.
- Indicates whether virtual DMA is permitted.
- Enables or disables processor Virtual Mode Extensions (VME).
- Configures VxD drivers for Windows environments.
- Sets system support parameters for Windows operation.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Allows conditional execution on XT-compatible hardware.
- Configures integrated Year 2000 compliance support.
- Sets the default character for affirmative responses in prompts.
- Controls deletion tracking functionality.
Issues
Although the system can boot without CONFIG.SYS or AUTOEXEC.BAT files present, these are critical for tailoring DOS behavior and loading necessary software components. If these files become damaged or corrupted, troubleshooting is required.
In cases where CONFIG.SYS lacks a SHELL directive or is missing/corrupted entirely, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Earlier versions prior to 6.0 will fail to boot if COMMAND.COM is absent. However, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later will prompt users to provide a path to a command processor. This prompt also appears if the command interpreter terminates unexpectedly or exits intentionally, allowing shell substitution during runtime without rebooting.
Due to incompatibilities between MS-DOS 7+ COMMAND.COM and DR-DOS systems, DR-DOS version 7.02 and newer restricts bypassing SHELL directives during skip/trace/step operations to prevent errors. When skipping CONFIG.SYS processing without locating a valid SHELL, users must specify a shell before COMMAND.COM loads from the root directory.
CONFIG.SYS file size limits vary by system: MS-DOS/PC DOS restricts size to several kilobytes (up to approximately 64 KB in recent releases), whereas DR-DOS imposes practically no limit due to its line-by-line parsing method. This flexibility allows enhanced control over driver and TSR load sequencing via DEVICE and INSTALL directives, aiding resolution of load conflicts and enabling temporary program inclusion during startup.
For MS-DOS/PC DOS versions 2.0 through 4.01, the SHELL directive was limited to a maximum length of 31 characters. Later versions expanded this limit up to 128 characters. DR-DOS supports up to 255 characters for this directive. It is important to note that CONFIG.SYS commands do not support 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 respectively. This change supports dual boot functionality between Windows 9x and DOS. During a DOS boot, these files are temporarily reverted to CONFIG.SYS and AUTOEXEC.BAT. Meanwhile, the Windows 95 versions are backed up under the filenames CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02/7.03 coexists with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT retain their original names, whereas DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT as its startup scripts.
OS/2 and Windows NT
OS/2 depends extensively on CONFIG.SYS for loading drivers and setting environment variables before its graphical user interface initiates.
Within the OS/2 subsystem integrated into Windows NT, CONFIG.SYS is presented to OS/2 applications in its standard form but is actually maintained within the system registry.
Numerous CONFIG.SYS commands employed by OS/2 are either undocumented or only partially documented.
The use of CONFIG.SYS persists in OS/2-based systems 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 at Computer Hope
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS directives (archived)
- Caldera’s CONFIG.SYS Command Reference (archived) – summary of DR-DOS 7 directives
- FreeDOS CONFIG.SYS directive descriptions
- PTS-DOS 2000 Pro User Manual including CONFIG.SYS commands
- Unofficial German-language PTS-DOS FAQ (PTS/FAQD) with CONFIG.SYS information