Jump to content

REIPL (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article REIPL (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 20251 source
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983 (with DOS version 2.0)
ProductsConfiguration commands for DOS and OS/2 startup

CONFIG.SYS serves as the principal configuration file for DOS and OS/2 operating systems. This plain text file contains configuration commands that the operating system's DOS BIOS—commonly located in IBMBIO.COM or IO.SYS—executes during the startup process. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS set up DOS to manage hardware devices, software applications, and memory management utilities. Following the execution of CONFIG.SYS, DOS launches the command interpreter specified by the SHELL directive, defaulting to COMMAND.COM if none is provided. Subsequently, the shell processes the AUTOEXEC.BAT script.

This file primarily contains name=value pairs that define configurable options or instruct loading of files such as device drivers and terminate-and-stay-resident programs (TSRs). CONFIG.SYS is located in the boot drive’s root directory.

The same filename is utilized by (DCP), an MS-DOS variant developed by East-German company VEB Robotron.

Certain DOS variants recognize alternative configuration filenames that override CONFIG.SYS:

Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 employ CCONFIG.SYS or CCONFIG.INI instead, with their settings maintained in a binary file called CCONFIG.BIN, which is managed through CONFIG.EXE.

In versions of DR DOS from 3.31 onward—including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+—a DCONFIG.SYS file takes priority over CONFIG.SYS. This approach supports disk compression and multi-boot scenarios. Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 recognize ODCONFIG.SYS, while some DR-DOS editions look for DRCONFIG.SYS.

Starting with DR DOS 6.0, the SYS /DR:ext command permits customization of default system file extensions to allow multiple system files to coexist in one root directory, selectable via boot loaders such as LOADER included with Multiuser DOS and DR-DOS 7.x releases. The SHELL directive can specify alternative AUTOEXEC.BAT files using /P[:filename.ext], and in this mode COMMAND.COM accepts extensions other than .BAT (a feature also supported by 4DOS). The CHAIN=filespec command enables continuation of processing in another configuration file, with optional label jumps supported from DR-DOS 7.02 onward.

From DR-DOS 7.03 onwards, the SYS /A option allows copying CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

Similar alternative configuration filenames are used by other systems: FDCONFIG.SYS in FreeDOS, RXCONFIG.SYS in RxDOS, and CONFIG.PTS in PTS-DOS.

In Windows 95 and Windows 98, both CONFIG.SYS and AUTOEXEC.BAT reside in the boot drive’s root directory but are generally empty files. Windows Me does not process CONFIG.SYS during startup; instead, it reads environment variables from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

For FlexOS, CONFIG.SYS is a binary file that specifies resource managers and device drivers 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>

:;*?!

Serves as a label for jump targets used by , , , and commands.
Functions similarly to , allowing in-line comments after other directives. (Note: Inline comments in double quotes are not ignored under MS-DOS/PC DOS.)
Initiates in-line comments, used alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent directives.[1] (While FreeDOS does not support optional messages, it allows conditional processing with boot menus.) DOS version 6.0 and later enable a comparable feature by appending after commands, which is also supported by DR DOS.
Forces the immediate execution of the following directive without conditions.

ATemplate:NbndC

Determines whether programs should be aborted upon encountering errors.
Configures drives to maintain file access timestamps within FAT directory entries.
Executes conditionally on AT-compatible systems.
Boot management utility.
Adjusts verbosity of error messages.
Alters the default serial driver assigned to the AUX device.
Prevents character devices from being accessible outside the virtual \DEV directory.
Loads a fundamental device driver into system memory.
Produces an audible beep even if notification sounds are disabled.
Defines which operating system to boot next.
Enables or disables extended Ctrl-C interrupt checking.
Sets the number of disk buffers to allocate in memory.
Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
, CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
Manage cache block allocation and flushing intervals.
Executes programs specified in CONFIG.SYS in the foreground, halting further processing until completion.
(DR-DOS 7.02+)
Controls keyboard Caps Lock state.
, CDDBUFFERS (PTS-DOS only)
Specifies CD-ROM driver name and buffer parameters.
(DR DOS 5.0+, Embedded DOS)
Continues processing CONFIG.SYS from a new file or label.
, CLS, CODEPAGE (various OS-specific)
Define clock type, screen clearing behavior, and OEM codepages.
, COM2, COM3, COM4 (DR-DOS 7.02+)
Configure serial port devices including quantity, sequence, I/O addresses, and timeouts.
, COMMENT(S) (various DOS versions)
Define DMA buffer sizes and control inline commenting features.
, CPOS, CPSW
Provide internationalization support, manage cursor position for menus, and enable codepage switching.
CPU-related directives (PTS-DOS only) specify conditional execution based on CPU model or speed such as CPU88, CPU286+, CPU386.

DTemplate:NbndF

Adjusts relocation settings for drive descriptor tables.
Defines the upper memory segment address limit for multi-sector disk data deblocking operations.
Activates internal debugger capabilities.
Boot management utility.
Loads device drivers into memory space.
Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
Sets country and codepage parameters for keyboard, screen, and printer devices.
Configures sizes of cache memory segments.
Specifies compatibility mode for floppy disk drives.
Defines display font settings.
Controls loading DOS into high memory and utilization of upper memory blocks (similar to in DRDOS 5.0).
Loads DOS internal tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory regions.
Specifies an alternative directory path for DOS system files.
Establishes search paths for data files.
Defines physical parameters of disk drives.
Sets parameters for unrecognized or unknown drives.
Refer to .
Enables error logging with PDUMP.nnn files and designates target drive for logs.
Displays textual messages on screen output.
Outputs messages incorporating ANSI escape sequences for enhanced formatting.
Determines whether additional verification occurs when launching programs.
Sets an anticipated error or return code for subsequent operations.
Configures the A20 gate state during program startup sequences.
Terminates CONFIG.SYS processing prematurely except under certain SWITCHES and SHELL configurations.
Defines hash table size to accelerate file opening processes, differing from MS-DOS/PC DOS FASTOPEN driver functionality.
Specifies the number of cached File Control Blocks that can be opened simultaneously (shares buffer space with FILES setting under DR-DOS).
Similar to FCBS but loads File Control Blocks into upper memory areas.
Boot management utility.
Defines maximum number of files that can be open at once.
Similar to FILES but loads file handles into upper memory regions.
Incorporates execution of designated CONFIG.SYS subsections as controlled by IGNORE directive.

GTemplate:NbndI

Waits for a keystroke or timeout, setting the error level to the ASCII code of the key pressed or 1024 if timed out.
Resumes processing of CONFIG.SYS at a designated label.
Continues nested CONFIG.SYS execution at a specified label, returning afterward to the previous point.
Refer to , , or for additional details.
See also .
Consult .
Refer to or for further information.
See or for related commands.
Consult .
Loads a TSR program into memory following relocation of the DOS data segment.
See , , or for more information.
Refer to .
See or for related options.
Activates console and command line history buffers with enhanced search capabilities.
Defines the address of the HMA segment.
Configures the HLT power-saving mode.
Enables scanning of the boot sector for viruses.
Loads installable file system drivers.
Prevents execution of specified CONFIG.SYS subsections.
Allows execution of programs at ring 2, granting direct hardware access.
Incorporates directives from another menu block (simulated via GOSUB/RETURN in DR-DOS).
Sets the status of the keyboard Insert mode.
Installs a TSR program into memory.
Loads a TSR program into upper memory (equivalent to HIINSTALL in DR DOS 5.0).
Installs a TSR program after relocating the DOS data segment.
Adjusts PIC interrupt priorities to give precedence to a specified IRQ number.

KTemplate:NbndM

Defines the keyboard layout configuration.
Specifies the location of the relocated keyboard buffer in memory.
Sets the maximum number of accessible drives.
Similar to LASTDRIVE but loads Current Directory Structure into upper memory.
Lists paths for DLL searches.
Manages compatibility settings for legacy applications.
Determines the number of file locks allowed.
Controls boot logo display using PTS-DOS boot manager settings.
Specifies count, order, I/O address, and timeout parameters for LPT1 device configuration.
Configures LPT2 device with similar parameters.
Applies analogous configuration to LPT3 device.
Enables and configures LPT4 device support.
Sets delay before elevating process priority.
Defines memory allocation methods used by DOS.
Establishes default DOS memory allocation strategy.
Specifies menu options available during boot or configuration phases.
Sets color schemes for menus (can be emulated using ECHO commands in DR-DOS).
Defines default menu block (emulatable through TIMEOUT and SWITCH commands in DR-DOS).
Creates a menu block (can be emulated with ECHO and SWITCH in DR-DOS).
Activates multitrack disk operation support.
Continues processing CONFIG.SYS from an external file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Sets the default response character to No () in Yes/No/Resume prompts.
Controls keyboard [[Num Lock|Template:Keypress]] status, enabling or disabling it at startup.
Executes commands conditionally based on previous error codes, such as .
Displays text and waits for user key press, functioning similarly to and in DR-DOS environments.
Requires user confirmation upon encountering errors during CONFIG.SYS processing.
Adjusts buffer sizes for parallel ports LPT1 through LPT3.
Enables conditional execution on PC-compatible hardware platforms.
Configures scheduler priority levels for processes.
Sets priority levels specifically for disk I/O operations.
Changes default printer device driver assignment (e.g., switching from LPT1 to LPT3 or LPT4).
Determines whether DOS applications are permitted to execute.
Loads a user interface shell environment during startup.
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.
Inserts explanatory remarks within CONFIG.SYS.
Reserves a drive letter from local block device drivers.
Defines the default character for Resume () prompts in Yes/No/Resume queries.
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.
Allows simultaneous loading of programs in CONFIG.SYS in the background, functioning similarly to CALL or INSTALL commands under DOS.
Stores the initial character of deleted files in the reserved FAT area.
Determines video mode settings (FreeDOS) or screen access methods (PTS-DOS).
Sets the Scroll Lock key status on the keyboard, toggling it on or off.
Establishes environment variables.
Loads the command interpreter shell.
Functions like SHELL but supports a SIZE parameter that pre-allocates COMMAND.COM into HMA or UMBs, enhancing memory efficiency with third-party shells.
Configures keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Controls file closure behavior when pressing Ctrl+Alt+Del.
Determines whether to bypass POST during reboot sequences.
, STACKSIZE, STACKSHIGH, STACK
Various parameters for stack configuration across different DOS variants and embedded systems, managing interrupt stacks and memory allocation approaches.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
PTS-DOS-specific commands that manage boot options, system memory placement, and loading DOS components into upper memory blocks (UMBs).
, SWITCH, SWITCHES
Directives that enable conditional branching within CONFIG.SYS for DOS versions supporting advanced scripting capabilities.
, SWAPPATH, THREADS, TIMESLICE
OS/2-specific settings that handle error log suppression, swap file directory paths, concurrent thread management, and scheduler time slice allocation respectively.
, TRACE, TRACEBUF
Configure timeout durations for CONFIG.SYS prompts and enable step-by-step execution with log buffer sizing across DR-DOS, PTS-DOS, FreeDOS, and OS/2 platforms.
, TRAPDUMP
A PTS-DOS directive specifying temporary file extensions and an OS/2 directive that logs detailed error information for diagnostic purposes.

UTemplate:NbndZ

Assigns a specific segment to function as an Upper Memory Block (UMB) in DOS.
Defines the UMB server component.
Sets address ranges designated for UMB RAM.
Enables or disables verification of disk writes.
Declares the reported DOS version number.
Configures VGA display status parameters.
Specifies the active video mode setting.
Enables use of virtual DMA channels.
Controls activation of Virtual Mode Extensions (VME).
Configures VxD drivers intended for Windows environments.
Manages Windows system support features.
Relocates the Extended BIOS Data Area (XBDA).
Executes conditionally on XT-compatible hardware platforms.
Sets Year 2000 compliance options.
Defines the default character used for Yes responses in prompts.
Tracks file deletion operations.

Issues

Although booting is possible without CONFIG.SYS or AUTOEXEC.BAT files present, these are critical for comprehensive DOS customization and meeting software requirements. Problems arise if these files are missing or corrupted, necessitating troubleshooting efforts.

In cases where CONFIG.SYS lacks a SHELL directive or is damaged or absent altogether, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions prior to 6.0 will fail to boot if COMMAND.COM is not found. From MS-DOS 6.0/PC DOS 6.1 onward and in Novell DOS 7+, users are prompted to specify the path to a command processor, allowing limited shell replacement at runtime without rebooting.

COMMAND.COM versions from MS-DOS 7.0 onward are incompatible with DR-DOS systems, which can complicate dual-boot configurations. Starting with DR-DOS 7.02, SHELL directives are strictly enforced during skip, trace, or step modes. If missing, users are prompted to enter valid shell filenames before COMMAND.COM loads.

CONFIG.SYS size constraints differ: MS-DOS and PC DOS limit file size to several kilobytes (up to approximately 64 KB in newer editions), whereas DR-DOS imposes no practical limit due to its line-by-line interpretation approach instead of tokenizing. This grants DR-DOS enhanced flexibility in controlling driver and TSR loading sequences through DEVICE and INSTALL commands—beneficial for resolving conflicts or incorporating debuggers.

Earlier MS-DOS releases restrict SHELL command line length to 31 characters, increasing to 128 characters in later versions. DR-DOS supports up to 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 configuration, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS to enable dual-boot functionality. Selecting DOS during startup temporarily reverts to these original filenames, while the versions used by Windows 95 are backed up as CONFIG.W40 and AUTOEXEC.W40.

In scenarios where Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT files remain intact without modification. Instead, DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT as its initialization scripts.

OS/2 and Windows NT

OS/2 relies heavily on CONFIG.SYS for loading drivers and setting environment parameters prior to launching its graphical user interface. Within the OS/2 subsystem of Windows NT, these CONFIG.SYS configurations are maintained within the system registry rather than as standalone files. Numerous CONFIG.SYS commands for OS/2 lack official documentation.

Variants of OS/2, including eComStation and ArcaOS, continue to make use of CONFIG.SYS.

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
  • Guide to FreeDOS CONFIG.SYS directives
  • PTS-DOS 2000 Pro User Manual including CONFIG.SYS directives overview
  • German-language unofficial PTS-DOS FAQ (PTS/FAQD) with additional CONFIG.SYS directive details
  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Paul_2000_CONFIG