Jump to content

IDTCHK (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article IDTCHK (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 2025
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983
ProductsConfiguration file for DOS and OS/2

CONFIG.SYS serves as the chief configuration file for the DOS and OS/2 operating system families. This plain text ASCII file holds setup commands accessible to users, which are interpreted by the operating system's DOS BIOS during the startup sequence. The CONFIG.SYS file was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS tailor DOS to manage devices, applications, and memory allocation. Once CONFIG.SYS is processed, DOS initiates the command interpreter indicated on the SHELL line; if none is specified, it defaults to COMMAND.COM, which then executes AUTOEXEC.BAT.

CONFIG.SYS primarily contains name=value pairs that specify adjustable settings or load essential files such as device drivers and terminate-and-stay-resident programs (TSRs). It is located in the root directory of the boot partition.

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

Certain DOS variants check for alternative filenames that override CONFIG.SYS:

Later iterations of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 employ CCONFIG.SYS or CCONFIG.INI instead, accompanied by a binary configuration store called CCONFIG.BIN. These are generally managed through a utility named CONFIG.EXE.

In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, and DR-DOS versions 7.02 and above, DCONFIG.SYS takes precedence over CONFIG.SYS. This naming scheme supports disk compression utilities and multi-boot environments. Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 recognize ODCONFIG.SYS, while some DR-DOS releases also search for DRCONFIG.SYS.

Starting with DR-DOS 6.0, the command SYS /DR:ext allows modification of default system file extensions, enabling multiple system file sets to coexist within a single root directory—selectable via boot loaders such as LOADER included with Multiuser DOS and DR-DOS 7.x. The SHELL directive supports specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], and COMMAND.COM can accept extensions other than .BAT in these cases.

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 later add an optional label parameter to jump to specific sections within chained files. DR-DOS 7.03 introduced SYS /A, which copies both CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

FreeDOS utilizes FDCONFIG.SYS, RxDOS uses RXCONFIG.SYS, and PTS-DOS employs CONFIG.PTS for comparable configuration roles.

In the case of DOS-based systems like Windows 95 and Windows 98, CONFIG.SYS and AUTOEXEC.BAT remain present in the boot drive's root but are usually left empty. Conversely, Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables directly from the Windows Registry.

For FlexOS, CONFIG.SYS is a binary file that specifies resource managers and device drivers to be loaded at boot time.

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>

:;*?!

Establishes labels within CONFIG.SYS to serve as jump points for , , , and commands.
Functions similarly to , also utilized for inline comments following other CONFIG.SYS instructions. (Note: Inline comments enclosed in double quotes are not disregarded in MS-DOS/PC DOS.)
Introduces inline 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 allows conditional execution through boot menus.) DOS version 6.0 and later provide a comparable feature by appending after directives.
Executes the next CONFIG.SYS command without condition.

ATemplate:NbndC

Determines whether programs can be terminated upon encountering errors.
Sets which drives record file access timestamps on FAT file systems.
Enables conditional execution on AT-compatible hardware.
Boot management utility.
Adjusts the detail level of error messages.
Alters the default serial device driver assigned to 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 even if notification sounds are disabled by switches.
Specifies the operating system to load next during boot.
Enables or disables extended Ctrl+C checking functionality.
Defines the number of disk buffers allocated.
Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
, ,
Configure cache size, timeout durations, and flush intervals respectively.
Loads executable programs within CONFIG.SYS, running them in the foreground and pausing further processing until they return.
Sets the keyboard’s Caps Lock state.
,
Designates CD-ROM driver name along with buffer quantity.
Continues processing of CONFIG.SYS from a different file or label.
, , , etc., configure system clock type, screen clearing behavior, and OEM codepage support respectively.

... [Additional directives omitted for brevity] ...

DTemplate:NbndF

Adjusts relocation settings for drive descriptor tables.
Specifies memory segment address used for multi-sector disk data deblocking.
Activates internal debugger support.
Boot management tool.
Loads device drivers into conventional memory.
Loads device drivers into upper memory area (equivalent to in DRDOS 5.0).
Configures country and codepage parameters for keyboard, screen, and printer devices (KBD, SCR, LPT).
Sets sizes for cache memory buffers.
Defines floppy disk compatibility mode settings.
Specifies display font selection.
Manages loading DOS into high memory and/or utilizing upper memory blocks.
Loads DOS internal tables (BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory area.
Specifies an alternate directory path for DOS system files.
Defines search paths for data files.
; Specifies physical parameters of disk drives.
; Sets parameters for unrecognized drives.
; See .
; Enables PDUMP.nnn error logging and selects drive location for logs.
; Displays a message on screen during processing.
; Shows message containing ANSI escape sequences.
; Adds extra verification steps when launching programs.
; Defines assumed error or return codes from programs.
; Sets A20 gate status upon program startup.
; Terminates CONFIG.SYS processing prematurely (with certain exceptions).
; Adjusts hash table size used for fast file opening operations, differing from MS-DOS/PC DOS FASTOPEN driver implementation.
; Sets maximum number of cached File Control Blocks open simultaneously (shares buffer with FILES under DR-DOS).
; Similar to FCBS but loads these into upper memory area.
; Boot management utility.
; Defines maximum number of files allowed to be opened concurrently.
; Same as FILES but loads handles into upper memory blocks.
; Includes execution of specified subsections within CONFIG.SYS (see IGNORE).

GTemplate:NbndI

Waits for a key press or timeout, setting the error level to the ASCII value of the key 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 point.
Refer to , , or for additional details.
See also .
Refer to .
Consult or for further information.
See or for guidance.
Reference .
Loads a TSR program into memory after relocating the DOS data segment. Compare with INSTCDEX.
See , , or for related commands.
Refer to .
Consult or for more information.
Activates console and command line history buffers, including advanced search capabilities.
Defines the HMA segment address.
Configures energy-saving mode via HLT instruction.
Sets system boot sector virus scanning options.
Loads installable file system drivers.
Skips execution of selected CONFIG.SYS subsections.
Grants certain programs permission to run at ring 2 for direct hardware I/O interaction.
Incorporates directives from another menu block, emulated through GOSUB/RETURN in DR-DOS.
Sets the status of keyboard Insert mode.
Installs a TSR program into memory.
Loads TSR programs into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
Installs TSR after relocating DOS data segment. Compare with INSTCDEX.
Rotates PIC interrupt priorities, assigning highest priority to the specified interrupt number.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the address for the relocated keyboard buffer.
Specifies the maximum number of accessible drives.
Similar to LASTDRIVE but loads Current Directory Structure (CDS) into upper memory.
Designates search paths for DLL files.
Manages compatibility with legacy applications.
Determines the number of allowable file locks.
Configures boot logo display when using PTS-DOS boot manager.
Specifies count, order, I/O address, and timeout settings for LPT1 device.
Sets similar parameters for LPT2 device.
Configures LPT3 device with corresponding settings.
Enables and sets up LPT4 device parameters.
Defines wait duration before increasing process priority.
Adjusts memory allocation policies.
Establishes default DOS memory allocation strategy.
Defines available menu options.
Specifies menu color schemes (emulatable in DR-DOS).
Sets default menu block (emulatable under DR-DOS).
Creates a menu block definition (emulatable in DR-DOS).
Enables or disables multitrack disk functionality.
Continues CONFIG.SYS processing from a new file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Defines default No () response character in Yes/No/Resume prompts.
Sets the status of keyboard Num Lock on or off at startup.
Enables conditional execution based on previous error code, e.g., .
Displays message and waits for key input, similar to DR-DOS's and .
Requires user confirmation of errors encountered in CONFIG.SYS processing.
Configures print buffer size for LPT ports.
Enables conditional execution specifically on PC-compatible systems.
Sets priority scheduler parameters.
Adjusts priority levels for disk I/O operations.
Changes default printer device driver assignment (e.g., switching from LPT1 to LPT3 or LPT4).
Controls whether DOS applications are permitted to run.
Loads the user interface shell environment.
Enables conditional execution on IBM PS/1-compatible systems.
Enables conditional execution on IBM PS/2-compatible systems.
Suppresses output directed to STDOUT.

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS files.
Allocates a drive letter specifically for block device drivers.
Sets the default Resume () prompt character.
Returns nested CONFIG.SYS processing control to the previous GOSUB or SWITCH point, optionally passing a return code.
Defines the size of real mode memory.
Allows concurrent loading of programs in the background during CONFIG.SYS execution.
Determines whether the initial characters of deleted files are saved in the reserved FAT area.
Establishes video mode settings under FreeDOS or screen access methods in PTS-DOS.
Controls the Scroll Lock key status on the keyboard (on or off).
Assigns environment variables.
Loads the command interpreter shell.
Functions similarly to SHELL but supports pre-allocating memory for COMMAND.COM in HMA or UMBs to minimize memory fragmentation.
Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Defines whether files close automatically upon pressing Ctrl+Alt+Del.
Bypasses POST during reboot sequences.
, STACKSIZE, STACKSHIGH
Configure hardware interrupt stack sizes and buffer locations across various DOS platforms and variants.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
PTS-DOS-specific commands managing boot procedures, memory layout, and system loading addresses.
(DOS 6.0+) Establishes submenu blocks (unsupported by DR-DOS and FreeDOS).
, SWAPPATH, THREADS, TIMESLICE
OS/2-exclusive parameters managing error logging, swap file locations, threading concurrency, and scheduler time slices.
, SWITCHES
Conditional processing directives for CONFIG.SYS utilized in DR DOS and Novell DOS variants.
, TMPEXT
Defines system switch characters ("/" or "-") and temporary file extensions under certain DOS versions.
, TRACEBUF
Enables step-by-step execution logging for CONFIG.SYS/AUTOEXEC.BAT with adjustable log buffer sizes across DR-DOS, PTS-DOS, FreeDOS, and OS/2 platforms.
Records detailed diagnostic error information.

UTemplate:NbndZ

Configures DOS to use a designated segment as Upper Memory Block (UMB) space.
Sets the UMB manager utilized by the system.
Specifies address ranges allocated as UMB RAM areas.
Enables or disables verification of disk writes.
Reports a specified DOS version to applications.
Manages VGA display status settings.
Indicates the current video mode in use.
Determines 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).
Executes conditionally only on XT-class machines.
Enables built-in Year 2000 (Y2K) compatibility support.
Defines the default character used for Yes responses in prompts requiring Yes/No/Resume input.
Configures tracking of file deletions.

Issues

Although the system can initiate boot without CONFIG.SYS present or intact, this file along with AUTOEXEC.BAT is crucial for complete DOS startup customization and proper software configuration. These files specify essential software dependencies and system settings. Repair is necessary if either becomes corrupted.

In cases where CONFIG.SYS lacks a SHELL directive or is missing/corrupted, DOS attempts to locate COMMAND.COM within the root directory. Versions predating DOS 6.0 will fail to boot without it, whereas MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 or later will prompt users to provide a command interpreter path. This prompt also appears if the main command processor terminates unexpectedly or exits intentionally, enabling limited shell replacement without restarting.

Due to incompatibilities between MS-DOS 7.0+ COMMAND.COM and DR-DOS, versions of DR-DOS from 7.02 onward prevent bypassing SHELL directives during skip/trace/step modes (activated via Ctrl+F5/F7/F8). Subsequent releases partially restored skip capabilities through Ctrl+F6 to recover from invalid SHELL arguments. If no valid SHELL directive is detected during skipping operations, users are prompted to input a shell filename before COMMAND.COM loads, defaulting if left blank.

CONFIG.SYS file size restrictions differ by operating system: MS-DOS and PC DOS impose limits up to 64 KB in newer versions, whereas DR-DOS enforces no explicit size limitation beyond filesystem constraints. MS-DOS compiles CONFIG.SYS into a tokenized internal structure processed sequentially—device drivers load before TSRs—while DR-DOS interprets each directive line-by-line. This approach grants precise management over driver and TSR loading order through DEVICE and INSTALL commands, facilitating resolution of loading conflicts and supporting conditional execution based on hardware presence or error states. The INSTALL directive additionally allows integration of non-resident programs within CONFIG.SYS processing.

In MS-DOS/PC DOS versions 2.0 through 4.01, the maximum length for SHELL command lines was restricted to 31 characters. Later releases expanded this limit up to 128 characters, while DR-DOS supports up to 255 characters. None of these CONFIG.SYS directives accommodate 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, enabling a dual-boot setup between Windows 9x and DOS. During the boot process under DOS, these files are temporarily restored to their original names, CONFIG.SYS and AUTOEXEC.BAT. Additionally, backup copies of the Windows 95 configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.

In cases where Caldera DR-DOS versions 7.02 or 7.03 are installed alongside Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT filenames remain unchanged. Instead, DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT to manage its startup configuration.

OS/2 / Windows NT

OS/2 heavily relies on CONFIG.SYS for setting up drivers and environment variables prior to launching its graphical user interface.

Within the OS/2 subsystem of Windows NT, CONFIG.SYS is represented as a configuration stored in the system registry, accessible to OS/2 applications.

A variety of undocumented CONFIG.SYS commands exist specifically for OS/2.

CONFIG.SYS continues to be employed by OS/2-based operating systems such as eComStation and ArcaOS.

See also

External links

  • Information on AUTOEXEC.BAT and CONFIG.SYS from 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 documentation
  • PTS-DOS 2000 Pro User Manual including CONFIG.SYS commands
  • Unofficial German PTS-DOS FAQ (PTS/FAQD) with extended CONFIG.SYS directive information