Jump to content

DEVINFO (CONFIG.SYS directive)

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

CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds configuration commands that the operating system's DOS BIOS interprets during the startup process. CONFIG.SYS made its debut with DOS version 2.0.

Usage

The directives within CONFIG.SYS set up DOS to manage devices, software, and memory management utilities. 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 commands from AUTOEXEC.BAT.

Primarily, the file contains name=value pairs that adjust system parameters or load device drivers and terminate-and-stay-resident programs (TSRs) into memory.

In DOS environments, CONFIG.SYS is located in the root directory of the bootable drive.

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

Certain DOS derivatives recognize alternative configuration filenames:

- Advanced versions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 employ CCONFIG.SYS in place of CONFIG.SYS. Multiuser DOS may alternatively use CCONFIG.INI, whereas REAL/32 looks for MCONFIG.SYS. These platforms incorporate extra settings saved in a binary CCONFIG.BIN file, commonly edited through CONFIG.EXE.

- In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, and DR-DOS versions 7.02 and above, DCONFIG.SYS (with "D" denoting DR DOS) overrides CONFIG.SYS. Initially linked to disk compression tools, this mechanism also supports multi-boot setups.

- OpenDOS 7.01 and DR-OpenDOS 7.02 look for ODCONFIG.SYS; some DR-DOS 7.02+ releases additionally check for DRCONFIG.SYS.

Starting with DR-DOS 6.0, it is possible to modify default configuration file extensions using the SYS /DR:ext command. This allows multiple configuration files to coexist in a single root directory, selectable by boot loaders such as LOADER. Enhanced SHELL commands permit specifying alternative AUTOEXEC.BAT files or those with different extensions—a capability also supported by 4DOS. The CHAIN=filespec directive enables sequential processing of extra configuration files located outside the root directory; from DR-DOS 7.02 onward, labels within chained files are supported.

With DR-DOS 7.03 and later, the SYS /A command copies both CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

Other operating systems use similar but distinct configuration filenames: FreeDOS employs FDCONFIG.SYS; RxDOS version 7.24 and above uses RXCONFIG.SYS; and PTS-DOS utilizes CONFIG.PTS.

In Windows 95 and Windows 98 boot drives, both CONFIG.SYS and AUTOEXEC.BAT reside in the root directory but are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it retrieves environment variables from the Windows Registry.

In contrast, under FlexOS, CONFIG.SYS is a binary file that specifies resource managers and device drivers to be loaded at startup.

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 targets for , , , , and commands.
Functions like , but additionally supports in-line comments following other CONFIG.SYS instructions. (In MS-DOS/PC DOS, inline comments inside double-quotes are not ignored.)
Used at the start of in-line comments alongside the ; command.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS instructions. (FreeDOS does not support custom messages but allows conditional execution via boot menus defined by and .) DOS versions 6.0 and later provide comparable functionality by appending after the command, e.g., .
Executes the following CONFIG.SYS directive unconditionally.

ATemplate:NbndC

Determines whether programs can be aborted when errors occur.
Controls which drives record file access timestamps on FAT file systems.
Enables conditional execution on AT-compatible hardware.
Boot management utility.
Adjusts the verbosity level of error messages.
Alters the default serial driver assigned to the AUX: device.
Restricts access to character devices outside of the phantom \DEV directory.
Loads a core device driver into memory.
Produces an audible beep even if sound notifications are disabled.
Specifies the operating system to boot next.
Enables or disables extended Ctrl+C checking.
Defines how many disk buffers are allocated.
Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
, ,
Manage cache block allocation and timing of cache flushes.
Loads programs specified in CONFIG.SYS, running them in the foreground and pausing further processing until they complete.
Sets the Caps Lock state on the keyboard.
,
Configures CD-ROM driver name and buffer quantity.
Continues processing CONFIG.SYS from another file or label.
, , and other display-related commands configure system clock types and screen clearing behavior.
, etc., handle OEM codepage settings and internationalization support, varying by operating system.
, ..., configure serial device drivers in DR-DOS version 7.02 and later.
, used for inline comments or line ignoring, with behavior differing among OS versions.
Additional directives manage conditional execution based on CPU type (e.g., CPU386), device setup, memory management, and system optimization tailored for various DOS variants.

DTemplate:NbndF

Adjusts relocation of drive descriptor tables in memory.
Sets the memory segment limit up to which multi-sector disk data deblocking is permitted.
Activates internal debugger capabilities.
Boot management utility.
Loads device drivers into conventional memory.
Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
Configures country-specific and codepage settings for keyboard, screen, and printer devices.
Sets sizes for cache memory allocation.
Defines compatibility mode for floppy disks.
Specifies screen font selection.
Controls loading DOS into high or upper memory (similar to in DRDOS 5.0).
Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory segments.
Specifies an alternative directory path for DOS system files.
Defines search paths for data files used by DOS utilities.
Sets physical drive parameters for disk drives.
Specifies parameters for drives that are not recognized automatically.
See .
Enables error logging with PDUMP.nnn files on a specified drive.
Displays a plain text message on screen during boot or processing.
Displays messages incorporating ANSI escape sequences for formatting.
Adds extra validation checks when launching programs.
Assigns an assumed error or return code for subsequent commands executed by DOS.
Controls A20 gate status during program startup to manage memory addressing above 1 MB.
Terminates CONFIG.SYS processing prematurely, except that SWITCHES and SHELL directives continue to be processed.
Configures hash table size for accelerating file open operations (distinct from MS-DOS/PC DOS FASTOPEN driver approach).
Sets number of File Control Blocks (FCBs) cached simultaneously (shares buffer space with FILES under DR-DOS).
Similar to FCBS but explicitly loads FCBs into upper memory regions.
Boot management utility.
Determines maximum number of files that can be open concurrently.
Same as FILES but loads file handles explicitly into upper memory areas.
Includes execution of specific CONFIG.SYS subsections via IGNORE command.

GTemplate:NbndI

Waits for a key press or timeout, setting the error level to the ASCII code or 1024 if timed out.
Resumes CONFIG.SYS execution at a specified label.
Processes nested CONFIG.SYS commands at a label and returns with .
Refer to , , or for additional details.
See also .
Consult .
Refer to , or for further information.
See , or for related commands.
Consult .
Installs TSR programs after relocating the DOS data segment; compare with INSTCDEX.
See , , or for more information.
Refer to .
See , or for related options.
Activates console and command line history buffer along with pattern search capability.
Designates the HMA segment address.
Configures energy-saving settings through HLT instruction.
Performs boot sector virus checks.
Loads installable file system drivers.
Prevents execution of specific CONFIG.SYS subsections.
Grants programs ring 2 privilege for direct hardware I/O access.
Incorporates directives from another menu block (simulated by GOSUB/RETURN in DR-DOS).
Sets the keyboard's Insert mode status.
Installs TSR utilities into memory.
Installs TSRs into upper memory, similar to HIINSTALL in DR DOS 5.0.
Installs TSR after relocating DOS data segment, akin to INSTALL.
Rotates PIC interrupt priorities to assign the highest priority.

KTemplate:NbndM

Defines the keyboard layout configuration.
Specifies the relocated keyboard buffer's memory address.
Determines the maximum number of accessible drive letters.
Functions like LASTDRIVE but loads Current Directory Structure into upper memory.
Sets paths for DLL file searches.
Manages compatibility settings for legacy applications.
Configures the number of allowable file locks.
Controls boot logo display and startup message settings.
Defines count, order, I/O address, and timeout parameters for LPT1 device.
Defines count, order, I/O address, and timeout parameters for LPT2 device.
Defines count, order, I/O address, and timeout parameters for LPT3 device.
Enables and configures parameters for the LPT4 device.
Sets delay before increasing process priority during wait states.
Determines memory allocation method preferences.
Establishes default DOS memory allocation strategy.
Specifies menu configuration options.
Sets color schemes for menus (can be emulated via ECHO in DR-DOS).
Defines default menu block (emulatable through TIMEOUT and SWITCH in DR-DOS).
Creates a menu block (emulatable via ECHO and SWITCH in DR-DOS).
Enables multitrack disk operation support.
Continues CONFIG.SYS processing from a new file after loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Sets the default response character for No () in Yes/No/Resume prompts.
Controls keyboard [[Num Lock|Template:Keypress]] status (on/off).
Allows conditional execution based on the last error code, e.g. .
Displays a message and waits for key press, similar to and in DR-DOS environments.
Requires user confirmation upon encountering errors in CONFIG.SYS processing.
Configures buffer sizes for LPT port communication.
Enables conditional execution on PC-compatible systems.
Adjusts scheduler priority settings.
Sets priority levels for disk input/output operations.
Changes the default printer device driver among LPT1-LPT4 ports.
Determines if DOS applications are permitted to run.
Loads a user interface shell environment.
Conditional execution targeting IBM PS/1-compatible machines.
Conditional execution targeting IBM PS/2-compatible machines.
Suppresses output sent to 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 for local block device drivers.
Establishes the default character used for Resume () prompts.
Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally passing a return code.
Specifies the size of real mode memory.
Allows programs to load concurrently in the background from CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
Determines if the initial character of a deleted file is stored in the reserved FAT area.
Defines video mode under FreeDOS or screen access methods under PTS-DOS.
Sets the Scroll Lock key status on the keyboard as either enabled or disabled.
Assigns environment variables.
Loads the command interpreter shell.
Similar to SHELL but supports a SIZE parameter to pre-allocate COMMAND.COM into HMA or UMBs, reducing fragmentation.
Configures keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Controls whether files are closed when rebooting via Ctrl+Alt+Del.
Specifies if the Power-On Self Test (POST) is bypassed during reboot.
, STACKSIZE, STACKSHIGH
Various stack-related configuration options across DOS variants for hardware interrupt handling and memory allocation.
, SYSBOOT, SYSGEN, SYSLOAD
PTS-DOS-specific directives managing boot procedures and system memory allocation strategies.
(DOS 6.0+ excluding DR DOS/FreeDOS)
Defines submenu blocks for batch processing control flow (emulatable in DR-DOS).
, SWAPPATH, THREADS, TIMESLICE
OS/2 directives that regulate error logging paths, swap file locations, thread concurrency levels, and scheduler time slices.
, SWITCHES
Conditional processing commands within CONFIG.SYS for DR DOS and Novell DOS that enable dynamic configuration based on key inputs or special options.
, STRING
Defines system switch characters ('/' or '-') with legacy or internal usage mostly disregarded by modern DOS versions.
, TRAPDUMP
OS/2 settings to address hardware FPU bugs and enable detailed error logging respectively.
, TRACE, TRACEBUF
Manage timeout durations for CONFIG.SYS prompts and facilitate single-step execution with configurable log buffers across DR-DOS, PTS-DOS, FreeDOS, and OS/2 environments.

UTemplate:NbndZ

Designates a specific memory segment as an Upper Memory Block (UMB) for DOS usage.
Configures the Upper Memory Block server settings.
Defines address ranges allocated as UMB RAM areas.
Enables or disables verification of disk writes.
Sets the DOS version string reported to software applications.
Manages VGA display status parameters.
Specifies the current video mode, analogous to FreeDOS's SCREEN directive.
Activates virtual DMA functionality.
Controls processor Virtual Mode Extensions (VME) features.
Configures VxD drivers for Windows environments.
Manages Windows system support parameters.
Adjusts relocation settings for the Extended BIOS Data Area (XBDA).
Enables conditional execution on XT-compatible hardware platforms.
Activates built-in Year 2000 compliance support.
Sets the default affirmative response character in prompts.
Configures tracking for file deletions.

Issues

Although booting can occur without CONFIG.SYS or AUTOEXEC.BAT files, these are crucial for tailoring DOS behavior and meeting software prerequisites. Corruption or damage necessitates troubleshooting efforts.

If CONFIG.SYS does not include a SHELL directive or is missing/corrupt, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions earlier than 6.0 will fail if COMMAND.COM cannot be found. Starting with MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later, users are prompted to specify a command interpreter path if COMMAND.COM is absent. These versions also offer recovery options when the shell terminates unexpectedly, enabling shell replacement during runtime without requiring a reboot.

Due to incompatibilities between MS-DOS 7.0+ COMMAND.COM and DR-DOS implementations, DR-DOS versions 7.02 and higher prevent bypassing SHELL directives during skip/trace/step modes invoked by Ctrl+F5/F7/F8 keys. Subsequent updates introduced Ctrl+F6 to restore skip functionality for recovery from invalid SHELL arguments. In cases where no SHELL is found during skipped CONFIG.SYS processing, users must manually specify a valid shell before loading COMMAND.COM.

CONFIG.SYS file size limitations differ among operating systems: MS-DOS/PC DOS limits range from a few kilobytes up to 64 KB in recent releases, whereas DR-DOS imposes no restrictions beyond those inherent to the file system. MS-DOS compiles CONFIG.SYS into a tokenized format and processes directives in a fixed sequence—loading device drivers before TSRs—while DR-DOS interprets each directive sequentially. This approach grants precise control over loading order through DEVICE and INSTALL commands, facilitating resolution of load conflicts and supporting conditional execution based on hardware detection or user input. Such flexibility enhances customization possibilities and debugging efficiency.

The maximum length of SHELL command lines varies by version: MS-DOS/PC DOS versions 2.0 through 4.01 restrict it to 31 characters, later versions allow up to 128 characters, and DR-DOS supports lengths up to 255 characters. Notably, CONFIG.SYS directives do not accept long filenames.

Dual Booting DOS and Windows 9x

During the installation of Windows 95 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. When booting into DOS, these files are temporarily restored to their original names, CONFIG.SYS and AUTOEXEC.BAT, while backup copies of the Windows 95 versions are saved as 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 files remain untouched. Instead, DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT as its configuration files during startup.

OS/2 / Windows NT

OS/2 heavily relies on CONFIG.SYS for system configuration, driver initialization, and environment preparation prior to loading its graphical user interface.

Within the OS/2 subsystem of Windows NT, the CONFIG.SYS file is emulated through the registry. OS/2 makes use of a variety of CONFIG.SYS commands that are either undocumented or lack comprehensive documentation.

CONFIG.SYS continues to be a fundamental component in OS/2-based operating systems such as eComStation and ArcaOS.

See also

External links

  • Information on AUTOEXEC.BAT and CONFIG.SYS 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
  • Details on FreeDOS CONFIG.SYS directives (archived)
  • User Manual for PTS-DOS 2000 Pro including CONFIG.SYS directives (archived)
  • Unofficial German FAQ for PTS-DOS featuring CONFIG.SYS directives (archived)