VERIFY (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Operating systems |
| Founded | DOS version 2.0 |
| Products | System configuration directives for DOS and OS/2 |
CONFIG.SYS serves as the chief configuration file within DOS and OS/2 operating system environments. This plain text file, composed in ASCII format, holds setup instructions processed by the OS's DOS BIOS—typically found in IBMBIO.COM or IO.SYS—during system startup. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives contained in CONFIG.SYS are responsible for configuring DOS devices, software applications, and memory management utilities. Once CONFIG.SYS has been interpreted, DOS proceeds to launch the command interpreter specified on the SHELL line; if none is defined, it defaults to COMMAND.COM. Subsequently, the shell executes commands from AUTOEXEC.BAT.
This configuration file primarily comprises name=value pairs that adjust system parameters or load device drivers and terminate-and-stay-resident programs (TSRs) into memory.
Within DOS systems, CONFIG.SYS is located in the root directory of the boot drive.
Certain DOS variants recognize alternate filenames that supersede CONFIG.SYS:
- Successive iterations of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 utilize CCONFIG.SYS or CCONFIG.INI instead. These versions also maintain supplementary settings in a binary file called CCONFIG.BIN, which is managed through CONFIG.EXE.
- In DR DOS 3.31 and later releases (PalmDOS, Novell DOS, OpenDOS, DR-DOS 7.02+), the filename DCONFIG.SYS takes precedence to support multi-boot configurations and disk compression functionalities.
- OpenDOS 7.01 and DR-OpenDOS 7.02 additionally check for ODCONFIG.SYS or DRCONFIG.SYS files.
- Starting with DR-DOS 6.0, the default file extension can be altered using SYS /DR:ext, allowing multiple system files to coexist within a single root directory to enable flexible boot options.
- The SHELL directive permits specifying alternative AUTOEXEC.BAT files via /P[:filename.ext], a feature supported by COMMAND.COM and enhanced command interpreters like 4DOS.
- From DR-DOS 6.0 onward, the CHAIN=filespec directive enables continuation of processing another configuration file; versions 7.02 and later add support for label-based navigation within chained files.
- DR-DOS 7.03 and beyond introduce SYS /A, which copies both CONFIG.SYS and AUTOEXEC.BAT alongside system files.
Other DOS variants incorporate comparable capabilities: - FreeDOS employs FDCONFIG.SYS - RxDOS version 7.24 and later use RXCONFIG.SYS - PTS-DOS relies on CONFIG.PTS
In Windows 95 and Windows 98—both based on DOS—CONFIG.SYS and AUTOEXEC.BAT exist but are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, environment variables are loaded from the Windows Registry at:
- HKLM\System\CurrentControlSet\Control\SessionManager\Environment
In contrast, under FlexOS, CONFIG.SYS is a binary file that specifies resource managers along with device drivers.
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 within CONFIG.SYS to act as jump targets for directives such as , , , and .
- Functions similarly to but also serves to introduce in-line comments following other commands. (Note: MS-DOS/PC DOS does not ignore inline comments enclosed in double quotes.)
- Used at the beginning of in-line comments alongside ;.
- Prompts a Yes/No question with an optional message requesting user confirmation before executing subsequent commands. DOS version 6.0 and later supports equivalent syntax using trailing question marks.
- Executes the following directive without any conditions.
ATemplate:NbndC
- Determines if programs should terminate upon encountering errors.
- Specifies which drives maintain file access timestamps within FAT file systems.
- Enables conditional execution on AT-compatible hardware.
- Manages boot options.
- Adjusts the level of error message detail.
- Changes the default serial port driver (from COM1: to COM4:) for the AUX device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads a fundamental device driver into system memory.
- Produces a beep sound even when audible alerts are turned off.
- Defines the operating system to load on next boot.
- Activates or deactivates extended Ctrl+C interrupt checking.
- Allocates a specified number of disk buffers.
- Functions like BUFFERS but loads buffers into High Memory Area or Upper Memory Blocks.
- , ,
- Controls parameters for cache block allocation and flushing behavior.
- Executes programs within CONFIG.SYS, pausing further processing until completion.
- Sets the Caps Lock key state during startup.
- ,
- Configures CD-ROM driver name and number of buffers allocated.
- Continues processing CONFIG.SYS commands from a new file or label.
- , , , etc.
- Various system settings including clock configurations, screen clearing, and OEM codepage adjustments (primarily for OS/2 or PTS-DOS).
- , ...,
- Defines count, sequence, I/O addresses, and timeouts for COM ports.
- , etc.
- Allows redefinition of comment characters or ignores lines under certain DOS versions.
This segment details essential CONFIG.SYS commands pertinent to system setup and device control across multiple DOS variants, emphasizing their relevance for business operations maintaining legacy systems or embedded DOS environments.
DTemplate:NbndF
- Configures relocation parameters for drive descriptor tables.
- Sets memory segment limits for multi-sector disk data deblocking processes.
- Activates internal debugger functionality.
- Manages boot options.
- Loads device drivers into conventional memory.
- Loads device drivers into upper memory areas (comparable to in DRDOS 5.0).
- Sets country and codepage information for keyboard, screen, and printer devices.
- Adjusts cache memory size settings.
- Configures floppy disk compatibility modes.
- Specifies display font selection.
- Controls whether DOS loads into high memory and manages upper memory usage.
- Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory segments.
- Defines an alternative directory path for DOS files.
- Specifies the search path used for locating data files.
- Sets physical disk drive parameters explicitly.
- Defines parameters for drives not recognized by default configurations.
- Refer to .
- Enables error logging with PDUMP.nnn files and assigns the target drive for logs.
- Outputs a message to the display screen.
- Displays messages utilizing ANSI escape sequences.
- Activates additional validation checks when launching programs.
- Defines expected error or return codes from program execution.
- Sets the A20 gate status upon program startup.
- Terminates CONFIG.SYS processing prematurely except for SWITCHES and SHELL directives under specific conditions.
- Specifies hash table size to optimize file open operations, differing from MS-DOS/PC DOS FASTOPEN driver implementations.
- Determines the number of cached File Control Blocks that can be open concurrently (shares buffer space with FILES in DR-DOS).
- Similar to FCBS but explicitly loads File Control Blocks into upper memory areas.
- Manages boot options.
- Sets the maximum number of simultaneously open files allowed.
- Functions like FILES but explicitly loads file handle tables into upper memory segments.
- Supports execution of designated CONFIG.SYS subsections (refer to IGNORE).
GTemplate:NbndI
- Waits for a keystroke 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 processing at a specified label, then returns to the previous location.
- Refer to , , or for additional information.
- Consult for further details.
- See for more context.
- Refer to or for related commands.
- See or for relevant usage.
- Consult for specifics.
- Loads a terminate-and-stay-resident (TSR) program into memory after relocating the DOS data segment. Compare with INSTCDEX.
- See , , or for extra options.
- Refer to for additional guidance.
- See or for more on this topic.
- Activates console and command line history buffers with advanced pattern searching capabilities.
- Defines the address of the High Memory Area (HMA) segment.
- Configures energy-saving settings via the HLT instruction.
- Determines whether the system performs boot sector virus checks.
- Loads installable file system drivers.
- Prevents execution of selected CONFIG.SYS sections. See for details.
- Specifies programs authorized to run at ring 2, allowing direct hardware I/O access.
- Includes directives from another menu block, emulated through GOSUB/RETURN in DR-DOS.
- Sets the Insert key mode status on the keyboard.
- Loads a TSR program into memory.
- Installs a TSR program into upper memory, equivalent to HIINSTALL in DR-DOS 5.0.
- Loads a TSR program post DOS data segment relocation. Compare with INSTCDEX.
- Rotates interrupt priority levels in the PIC to assign highest priority to a specified interrupt number.
KTemplate:NbndM
- Defines which keyboard layout to use.
- Indicates the address of the relocated keyboard buffer.
- Sets the maximum number of drives accessible by the system.
- Similar to LASTDRIVE but additionally loads Current Directory Structure into upper memory.
- Specifies search paths for dynamic link libraries (DLLs).
- Manages execution parameters for legacy applications.
- Determines the number of file locks permitted.
- Configures display of boot logos when using the PTS-DOS boot manager.
- Specifies count, sequence, I/O port address, and timeout values for LPT1 device configuration.
- Applies similar configuration parameters to LPT2 device.
- Configures LPT3 device with analogous settings.
- Enables and sets up LPT4 device functionality.
- Defines delay before increasing process priority during execution.
- Sets memory allocation policies and strategies.
- Specifies default methods for DOS memory allocation.
- Defines menu options presented during system startup or configuration.
- Sets color schemes for menus, with emulation support under DR-DOS environments.
- Indicates default menu block, also emulatable in DR-DOS systems.
- Declares a menu block definition, compatible with DR-DOS emulation techniques.
- Enables or disables multitrack disk operations functionality.
- Continues processing CONFIG.SYS from another file, optionally loading device drivers and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default character representing No () in Yes/No/Resume prompts.
- Controls keyboard [[Num Lock|Template:Keypress]] state—enabled or disabled at startup.
- Allows conditional execution based on previous error codes, such as .
- Displays messages and waits for user key press, similar to and commands in DR-DOS systems.
- Requires user confirmation to acknowledge errors encountered during CONFIG.SYS processing.
- Adjusts buffer sizes allocated for LPT (printer) ports.
- Executes commands conditionally on PC-compatible hardware platforms.
- Configures scheduling priorities within the system’s priority scheduler framework.
- Modifies priority levels assigned to disk I/O operations programs.
- ; Changes default printer device driver assignment among LPT1 through LPT4 ports.
- ; Specifies whether DOS applications are permitted to execute under current settings.
- ; Loads the user interface shell environment during startup sequence.
- ; Executes conditionally on IBM PS/1-compatible systems only.
- ; Executes conditionally 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 files.
- Allocates a drive letter to prevent its use by local block device drivers.
- Sets the default character for Resume () responses in Yes/No/Resume dialogs.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally providing a return code.
- Specifies the size of real mode memory available.
- Allows concurrent background loading of programs within CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
- Manages the storage of the initial character of deleted files in the FAT reserved sector.
- Defines video modes for FreeDOS or screen access methods for PTS-DOS systems.
- Controls the Scroll Lock key status on the keyboard, toggling it on or off.
- Sets environment variables for system operation.
- Loads the command interpreter shell.
- Similar to SHELL but includes a size parameter to pre-allocate COMMAND.COM into HMA or UMBs, reducing fragmentation and improving performance with third-party shells.
- Determines keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Specifies whether files close automatically upon pressing Ctrl+Alt+Del.
- Bypasses POST during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Define stack parameters across multiple DOS versions to manage interrupts and memory effectively, influencing system stability and multitasking capabilities.
- , SYSBOOT, SYSGEN, SYSLOAD
- PTS-DOS specific commands that handle boot procedures, alternative operating system loading, and memory allocation techniques vital for system customization and enhanced performance.
- , SWITCH
- Enables conditional processing within CONFIG.SYS and supports submenu blocks for sophisticated configuration management in DOS variants excluding DR-DOS and FreeDOS.
- , SWAPPATH
- OS/2 directives specifying error log locations and swap file paths to improve reliability and resource handling.
- , SWITCHES
- Establish default switch characters (such as '/' or '-') along with special options impacting command parsing across DOS flavors, essential for consistent command-line behavior.
- , TRACE
- Manages timeouts for CONFIG.SYS processing and allows single-step execution useful for debugging in DR-DOS, PTS-DOS, and OS/2 environments, facilitating efficient troubleshooting.
- Additional directives like TMPEXT, TRAPDUMP, THREADS, TIMESLICE enhance temporary file management, error logging, concurrency control, and scheduler time slice allocation to boost OS responsiveness and stability.
UTemplate:NbndZ
- Configures DOS to utilize a designated segment as Upper Memory Block (UMB).
- Specifies which UMB server is employed by the system.
- Defines address ranges assigned as UMB RAM areas.
- Enables or disables verification of disk write operations.
- Reports a specific DOS version number to running applications.
- Sets VGA display status parameters.
- Indicates the current video mode in use.
- Determines whether virtual DMA functionality is permitted.
- Controls deactivation of processor Virtual Mode Extensions if necessary.
- Configures Virtual Device Drivers (VxD) settings for Windows environments.
- Adjusts system support parameters related to Windows operation.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Allows conditional execution tailored for XT-compatible machines.
- Enables built-in Year 2000 compliance support features.
- Defines the default character used for affirmative responses in prompts.
- Controls tracking behavior for file deletions.
Challenges
The system is capable of booting even if CONFIG.SYS is absent or damaged; however, this file, together with AUTOEXEC.BAT, plays a crucial role in tailoring the DOS startup process and meeting software prerequisites. When these files are compromised, troubleshooting becomes necessary.
In cases where CONFIG.SYS is missing, corrupted, or does not include a SHELL directive, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Early DOS editions (prior to version 6.0) will not proceed without this file, whereas MS-DOS 6.0, PC DOS 6.1, and Novell DOS 7 or later versions prompt the user to specify the path of a command processor. This recovery prompt also appears if the main shell terminates unexpectedly or is exited intentionally, permitting a temporary shell replacement without requiring a system reboot.
The COMMAND.COM from MS-DOS 7.0 and later is not compatible with DR-DOS, yet it is commonly found in the C:\ directory on systems configured for dual booting. Starting with DR-DOS 7.02, SHELL directives are strictly enforced during skip, trace, and step modes to prevent their circumvention, thereby improving system reliability during boot-related difficulties. Certain key combinations can restore some skip functionalities to facilitate recovery from invalid SHELL parameters by prompting users to enter a valid shell filename before COMMAND.COM loads.
CONFIG.SYS size restrictions differ depending on the DOS variant—MS-DOS and PC DOS limit CONFIG.SYS to a maximum of 64 KB, while DR-DOS imposes no such size constraints beyond those dictated by the file system. MS-DOS and PC DOS parse CONFIG.SYS by first tokenizing it into memory and then processing directives in a fixed sequence (loading device drivers before TSRs). Conversely, DR-DOS reads CONFIG.SYS sequentially line-by-line, granting detailed control over the loading order of drivers and TSRs via DEVICE and INSTALL commands. This approach resolves conflicts during loading and supports conditional execution based on hardware detection, key presses, errors, or return codes—features that are particularly useful for debugging and customized workflows.
Furthermore, DR-DOS’s use of INSTALL allows incorporation of non-resident programs into CONFIG.SYS processing, broadening customization capabilities.
Earlier MS-DOS and PC DOS releases limited the length of the SHELL command line to 31 characters; subsequent versions increased this limit to 128 characters, while DR-DOS supports up to 255 characters. It is important to note that CONFIG.SYS directives do not accommodate long filenames.
Dual Booting DOS with Windows 9x
When Windows 95 is installed over an existing DOS or Windows environment, it renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual-boot functionality between Windows 9x and DOS. During a DOS boot session, these files are temporarily restored to their original names (CONFIG.SYS and AUTOEXEC.BAT). The Windows 95 versions are backed up as CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02 or 7.03 coexists with Windows 95, Windows retains its original CONFIG.SYS and AUTOEXEC.BAT filenames, while DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT as its startup configuration files.
OS/2 / Windows NT
OS/2 depends extensively on CONFIG.SYS for driver configuration and environment setup prior to loading its graphical interface.
Within the OS/2 subsystem of Windows NT, however, the CONFIG.SYS data is stored inside the system registry instead of existing as a standalone file.
There exist numerous undocumented CONFIG.SYS directives specific to OS/2.
CONFIG.SYS continues to be employed 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
- Comprehensive details 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 guide (archived) – summary of DR-DOS 7 directives
- Explanation of FreeDOS CONFIG.SYS settings
- User manual for PTS-DOS 2000 Pro featuring CONFIG.SYS directives (archived)
- Unofficial German-language PTS-DOS FAQ (PTS/FAQD) including CONFIG.SYS information