INSTALLHIGH (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Operating systems |
| Founded | 1983 |
| Products | System configuration for DOS and OS/2 |
CONFIG.SYS serves as the central configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, includes setup instructions that the operating system's DOS BIOS evaluates during the boot sequence. CONFIG.SYS made its debut with DOS version 2.0.
Usage
CONFIG.SYS directives are used to configure DOS settings related to hardware devices, software applications, and memory management. Once these instructions are processed, DOS initiates the command interpreter specified by the SHELL directive or defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.
The file primarily contains name=value pairs that specify adjustable parameters or instruct the system to load components such as device drivers and terminate-and-stay-resident programs (TSRs) into memory. CONFIG.SYS is located in the root directory of the system’s bootable drive.
This filename is also utilized by (DCP), an MS-DOS variant developed by East-German manufacturer VEB Robotron.
Certain DOS versions prioritize alternative configuration filenames over CONFIG.SYS:
Earlier releases of Concurrent DOS (versions 3.2 through 4.1) did not support CONFIG.SYS; however, later iterations including Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 rely on CCONFIG.SYS or CCONFIG.INI instead. REAL/32 may alternatively use MCONFIG.SYS. These platforms also accommodate extra configuration stored in binary files such as CCONFIG.BIN, which can be modified using CONFIG.EXE.
In environments like DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, and DR-DOS 7.x, the filename DCONFIG.SYS (where "D" stands for "DR DOS") takes precedence over CONFIG.SYS. Originally introduced alongside disk compression utilities to handle drive letter reassignment, it has since been employed for multi-boot management purposes.
OpenDOS versions 7.01 and DR-OpenDOS 7.02 search for ODCONFIG.SYS, while some DR-DOS 7.x editions look for DRCONFIG.SYS. Starting with DR DOS 6.0, the command SYS /DR:ext enables modification of default system file extensions, allowing multiple sets of system files to coexist within a single root directory and be selected via boot loaders such as LOADER from Multiuser DOS and DR-DOS 7.x.
The SHELL command supports specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], and COMMAND.COM accepts extensions other than .BAT when launched in this mode—functionality also available in 4DOS. The CHAIN=filespec directive directs processing to another configuration file, which does not have to be located in the root directory; DR-DOS 7.x enhances this with an optional label parameter for targeted continuation.
Beginning with DR-DOS 7.03, the SYS /A option copies both CONFIG.SYS and AUTOEXEC.BAT alongside other system files during setup.
In other systems, FreeDOS uses FDCONFIG.SYS, RxDOS version 7.24 and above utilizes RXCONFIG.SYS, and PTS-DOS employs CONFIG.PTS.
Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directories of Windows 95 and Windows 98, although they are generally empty. In contrast, Windows Me does not process CONFIG.SYS at startup but instead loads environment variables directly from the registry.
For FlexOS, CONFIG.SYS is a binary file that specifies resource managers and device drivers loaded during system initialization.
Example
A sample CONFIG.SYS configuration for MS-DOS 5 might look like this: <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>
:;*?!
- Used to create labels within CONFIG.SYS, serving as jump points for commands such as , , , , and .
- Functions similarly to , permitting inline comments directly after directives. (Note that MS-DOS/PC DOS treats inline comments differently if enclosed in double quotes.)
- Introduces inline comments as an alternative to the ; directive.
- Prompts the user with a Yes/No confirmation before executing CONFIG.SYS commands. (FreeDOS supports conditional execution linked to boot menus.) From DOS 6.0 onward, similar functionality is available by appending to directives.
- Forces unconditional execution of the subsequent CONFIG.SYS command.
ATemplate:NbndC
- Determines whether programs can be aborted when errors occur.
- Controls whether file access dates are recorded on FAT file systems.
- Enables conditional execution on AT-compatible hardware.
- Acts as a boot manager.
- Adjusts the verbosity level of error messages.
- Changes the default serial device driver assigned to the AUX device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads a base device driver into memory.
- Produces a beep sound even if notification sounds are disabled.
- Specifies the operating system to boot next.
- Enables or disables extended Ctrl+C detection.
- Sets the quantity of disk buffers allocated.
- Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
- , CACHETTL, CACHEFLUSH (Embedded DOS 6-XL)
- Manage cache block allocation and flushing intervals.
- Loads programs during CONFIG.SYS processing, running them in the foreground and pausing further processing until they return.
- Sets the Caps Lock keyboard status.
- , CDDBUFFERS (PTS-DOS)
- Defines CD-ROM driver name and buffer settings.
- Continues processing CONFIG.SYS from a new file or label.
- , CLS, CODEPAGE, CMOSADDR, COLOR (various OS variants)
- Configure system clock type, clear screen, OEM code pages, CMOS RAM address, and boot menu color schemes respectively.
- , COM2, COM3, COM4 (DR-DOS 7.02+)
- Specify count, order, I/O address, and timeout parameters for serial COM ports.
- , COMMENT(S), COUNTRY (various DOS versions)
- Define DMA buffer size, redefine inline comment characters, and enable internationalization support respectively.
- , CPSW (MS-DOS versions), CPU variants (PTS-DOS)
- Control cursor positioning on screen, codepage switching capabilities, and conditional execution based on CPU type.
This concise overview highlights essential CONFIG.SYS directives that influence system setup and management across various DOS platforms, focusing on their role in device control, memory allocation, and boot sequence optimization—key factors for maintaining IT infrastructure stability and enhancing performance.
DTemplate:NbndF
- Configures relocation settings for drive descriptor tables.
- Defines the memory segment limit up to which multi-sector disk data deblocking is permitted.
- Activates internal debugger functionalities.
- Functions as a boot manager.
- Loads a device driver into conventional memory.
- Loads a device driver into upper memory areas (equivalent to in DRDOS 5.0).
- Sets country and codepage parameters for keyboard (KBD), screen (SCR), and printer (LPT) devices.
- Configures sizes of cache memory segments.
- Defines floppy disk compatibility mode settings.
- Specifies the font used for display output.
- Controls loading of DOS into high memory and/or usage of upper memory blocks (similar function to in DRDOS 5.0).
- Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory areas.
- Sets an alternative directory path for DOS system files.
- Specifies search paths for data files utilized by DOS.
- Defines physical parameters for disk drives.
- Establishes configuration for unrecognized or unknown drives.
- See .
- Enables error logging with PDUMP.nnn files on specified drives.
- Displays messages on the screen during boot or processing phases.
- Outputs messages containing ANSI escape sequences for enhanced formatting.
- Determines whether additional verification occurs when launching programs.
- Sets an assumed error or return code for subsequent commands in batch processing.
- Controls the A20 gate state when starting applications.
- Allows early termination of CONFIG.SYS processing except where SWITCHES and SHELL directives require continuation under certain conditions.
- Configures hash table size used to speed up file open operations (distinct from MS-DOS/PC DOS FASTOPEN driver).
- Specifies the number of cached File Control Blocks open simultaneously (note that FCBS and FILES share buffers in DR-DOS).
- Similar to FCBS but explicitly loads File Control Blocks into upper memory areas.
- Functions as a boot manager utility.
- Sets the maximum number of files that can be opened concurrently.
- Like FILES but loads file handles into upper memory explicitly.
- Includes execution of designated CONFIG.SYS subsections (refer to IGNORE directive).
GTemplate:NbndI
- Waits for a key press or timeout, setting the error level to the ASCII code of the key or 1024 if timed out.
- Resumes processing of CONFIG.SYS at the 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 .
- See also .
- Consult or for more information.
- Consult or for further reference.
- See .
- Loads a TSR program into memory following relocation of the DOS data segment.
- Refer to , , or for related commands.
- See also .
- Consult or for additional context.
- Activates console and command line history buffers along with enhanced pattern searching.
- Defines the segment address for High Memory Area (HMA).
- Configures power-saving mode using HLT instructions.
- Sets system checks to detect boot sector viruses.
- Loads installable file system drivers.
- Prevents execution of specified CONFIG.SYS subsections.
- Designates programs permitted to operate at ring 2, allowing direct hardware I/O access.
- Includes directives from another menu block, simulated via GOSUB/RETURN in DR-DOS.
- Sets the keyboard’s Insert mode status.
- Loads a TSR program into memory.
- Loads a TSR program into upper memory (equivalent to HIINSTALL in DR DOS 5.0).
- Loads a TSR program after relocating the DOS data segment.
- Adjusts PIC interrupt priorities to assign highest priority to a specific IRQ number.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the address of the relocated keyboard buffer in memory.
- Sets the maximum number of accessible drive letters.
- Similar to LASTDRIVE but loads Current Directory Structure (CDS) into upper memory regions.
- Specifies search paths used for locating DLL files.
- Manages compatibility settings for legacy applications.
- Determines the number of allowed file locks.
- Controls boot logo display, used alongside PTS-DOS boot manager.
- Defines parameters such as count, order, I/O port address, and timeout for LPT1 device configuration.
- Similarly configures LPT2 device settings.
- Likewise sets parameters for LPT3 device operation.
- Enables and configures LPT4 device support.
- Sets delay before increasing process priority level.
- Configures strategy for memory allocation management.
- Establishes default DOS memory allocation method.
- Defines menu options available during boot or configuration phases.
- Sets menu color schemes, emulated through ECHO commands under DR-DOS environments.
- Specifies default menu block selection, emulated using TIMEOUT and SWITCH commands in DR-DOS.
- Defines individual menu blocks, emulated via ECHO and SWITCH commands under DR-DOS systems.
- Enables multitrack disk operations support.
- Continues processing CONFIG.SYS from an external file, optionally loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets the default "No" character response in Yes/No/Resume prompts.
- Determines whether keyboard [[Num Lock|Template:Keypress]] is enabled or disabled by default.
- Executes commands conditionally based on last return code or error status, e.g., .
- Similar to and , displays text and waits for user key input.
- Specifies whether users must acknowledge errors encountered during CONFIG.SYS processing.
- Configures buffer sizes for parallel ports LPT1, LPT2, and LPT3 devices.
- Enables conditional execution on PC-compatible systems only.
- Sets parameters for priority scheduling of processes.
- Adjusts priority levels assigned to disk I/O programs.
- Changes default printer device driver assignment (for example, switching from LPT1 to LPT3 or LPT4).
- Determines whether DOS applications are allowed to execute.
- Loads a user interface component during startup or configuration phases.
- Conditional execution applies only on IBM PS/1-compatible hardware platforms.
- Conditional execution applies only on IBM PS/2-compatible hardware platforms.
- Suppresses output sent to STDOUT by muting display output.
RTemplate:NbndT
- Determines whether the system should automatically reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS.
- Allocates a drive letter for local block device drivers.
- Defines the default Resume () response character in Yes/No/Resume prompts.
- Returns nested CONFIG.SYS processing control to the prior GOSUB or SWITCH point, optionally with a return value.
- Specifies the size of real mode memory.
- Functions like CALL but initiates concurrent program loading in CONFIG.SYS running in the background.
- Indicates if the first character of deleted files is retained in the FAT reserved area.
- Sets video mode under FreeDOS; for PTS-DOS, defines screen access methods.
- Controls keyboard Scroll Lock status activation.
- Establishes environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but includes a SIZE parameter allowing pre-allocation of COMMAND.COM in HMA or UMBs, enhancing memory efficiency with third-party shells.
- Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines whether files close automatically when Ctrl+Alt+Del is pressed.
- Indicates if POST should be bypassed during reboot.
- Defines the number of hardware interrupt stacks.
- Sets default stack size for newly created threads.
- Similar to STACKS but loads buffers into upper memory areas.
- Configuration settings for the boot manager.
- Defines submenu blocks (emulation available under DR-DOS).
- Records error information to a drive instead of displaying a popup window.
- Specifies the path for the swap file.
- Conditionally continues nested CONFIG.SYS processing at specified labels based on key presses, with RETURN resuming previous locations.
- Sets the default system switch character, either '/' or '-'.
- Defines special configuration options.
- Activates a fix for floating-point unit rounding errors.
- Specifies an alternative DOS operating system filename for booting purposes.
- Configures memory locations where DOS components are loaded.
- Loads the system from an alternative disk area.
- Defines the size of the dynamic system memory pool allocation.
- Loads DOS data and code into upper memory blocks (UMBs).
- Sets the maximum number of threads allowed to run concurrently.
- Configures CONFIG.SYS timeouts for single-step execution, SWITCH, GETKEY commands, and default responses to Yes/No queries.
Timeout functionality is exclusively supported by PTS-DOS. - Sets minimum and maximum scheduler time slice durations.
- Defines file extension used for temporary files.
- Enables or disables single-step execution of CONFIG.SYS (and AUTOEXEC.BAT) either globally or locally.
Behavior varies significantly between OS/2 and DOS systems. - Determines the size of the TRACE log buffer.
- Logs detailed error data on system traps.
UTemplate:NbndZ
- Configures DOS to utilize a specified segment as an Upper Memory Block (UMB).
- Sets up the UMB server parameters.
- Defines address ranges allocated as UMB RAM areas.
- Enables or disables verification of disk write operations.
- Reports DOS version information to applications.
- Manages VGA display status settings.
- Specifies current video mode, comparable to FreeDOS's SCREEN setting.
- Enables use of virtual DMA capabilities.
- Controls processor Virtual Mode Extensions (VME) functionality.
- Configures VxD driver support for Windows environments.
- Manages system support features related to Windows integration.
- Relocates Extended BIOS Data Area (XBDA) in memory.
- Enables conditional execution on XT-compatible hardware platforms.
- Configures built-in Year 2000 compliance support features.
- Sets default 'Yes' character responses in prompts.
- Controls deletion tracking mechanisms.
Issues
Although the system can initiate without CONFIG.SYS or AUTOEXEC.BAT, these files are crucial for comprehensive DOS customization and meeting application demands. Any damage or corruption necessitates diagnostic efforts.
When CONFIG.SYS is missing a SHELL directive or is absent or corrupted, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. In earlier DOS releases (prior to version 6.0), the absence of COMMAND.COM prevents startup. From MS-DOS 6.0, PC DOS 6.1, and Novell DOS 7 onward, users are prompted to provide a command processor path if it is missing or if loading fails. This feature also enables limited replacement of the shell during runtime without requiring a system reboot.
Because MS-DOS 7.0+ COMMAND.COM is incompatible with DR-DOS, versions 7.02 and later of DR-DOS enforce strict SHELL directives during skip, trace, and step modes to block bypass methods that were possible in earlier editions. Recovery options include reactivating skip functionality or requesting a valid shell filename before loading COMMAND.COM.
The maximum size allowed for CONFIG.SYS varies depending on the operating system—MS-DOS and PC DOS impose limits of a few kilobytes (up to 64 KB in newer releases), whereas DR-DOS effectively has no size restriction beyond file system constraints. This disparity arises because MS-DOS compiles CONFIG.SYS into a tokenized form before execution, while DR-DOS processes it line-by-line, granting enhanced control over the sequence in which drivers and TSRs load via DEVICE and INSTALL commands. Such flexibility assists in resolving conflicts during loading and enables dynamic incorporation of temporary external programs.
The permitted length for the SHELL directive also differs: MS-DOS/PC DOS versions 2.0 through 4.01 restrict it to 31 characters; later versions extend this limit up to 128 characters; DR-DOS allows up to 255 characters. It is important to note that CONFIG.SYS directives do not support long filenames.
Dual booting DOS and Windows 9x
When Windows 95 is installed over an existing DOS or Windows environment, the original CONFIG.SYS and AUTOEXEC.BAT files are renamed to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual-boot operation between Windows 9x and DOS. Booting into DOS temporarily restores these files under their original names. Backup copies of Windows 95’s configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.
If Caldera DR-DOS versions 7.02 or 7.03 coexist with Windows 95, Windows' CONFIG.SYS and AUTOEXEC.BAT remain unaltered. Instead, DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT as its startup configuration files.
OS/2 / Windows NT
OS/2 depends extensively on CONFIG.SYS for configuring system parameters, loading device drivers, and setting up the environment prior to launching its graphical user interface.
Within the OS/2 subsystem embedded in Windows NT, what appears as CONFIG.SYS to OS/2 applications is actually stored within the Windows registry rather than as a separate file.
Several undocumented CONFIG.SYS directives are utilized internally by OS/2.
CONFIG.SYS continues to be a fundamental component in OS/2-based operating 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 – Computer Hope (2017)
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS directives – Microsoft Support (archived)
- CONFIG.SYS Command Reference – Caldera (1998) (partial coverage of DR-DOS 7 directives)
- FreeDOS CONFIG.SYS directives description
- PTS-DOS 2000 Pro User Manual (contains incomplete CONFIG.SYS directives)
- German-language unofficial PTS-DOS FAQ (2004) (includes additional CONFIG.SYS directives)