MULTITRACK (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Operating systems |
| Founded | 1983 |
| Products | Configuration for DOS and OS/2 |
CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds setup instructions accessible to users, which are interpreted by the operating system's DOS BIOS during the startup process. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS are responsible for setting up DOS to manage devices, applications, and memory allocation. 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 AUTOEXEC.BAT.
Primarily composed of name=value pairs, this file defines configuration parameters or loads files such as device drivers and terminate-and-stay-resident programs (TSRs). It is located in the root directory of the bootable drive.
The CONFIG.SYS filename is also utilized by (DCP), a variant of MS-DOS developed by the former East-German company VEB Robotron.
Certain DOS derivatives check for alternative filenames that override CONFIG.SYS:
- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 replace CONFIG.SYS with CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS), alongside a binary configuration file CCONFIG.BIN, which can be altered using CONFIG.EXE.
- In DR DOS 3.31 and subsequent releases (including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01), DCONFIG.SYS takes priority over CONFIG.SYS to support disk compression and multi-boot configurations.
- OpenDOS 7.01 and DR-OpenDOS 7.02 also acknowledge ODCONFIG.SYS, while some DR-DOS versions from 7.02 onward look for DRCONFIG.SYS.
Starting with DR-DOS 6.0, users can modify default configuration file extensions via the SYS /DR:ext command, allowing multiple system files to coexist in a single root directory and be selected by boot loaders such as LOADER. The SHELL directive permits specifying alternate AUTOEXEC.BAT files using /P[:filename.ext], a feature also supported by 4DOS. The CHAIN=filespec directive enables continuation of processing in another file, with optional label targeting available in DR-DOS 7.02 and later.
From DR-DOS 7.03 onward, the command SYS /A facilitates copying CONFIG.SYS and AUTOEXEC.BAT alongside system files.
Other DOS variants offer comparable functionality:
- FreeDOS employs FDCONFIG.SYS. - Versions of RxDOS from 7.24 use RXCONFIG.SYS. - PTS-DOS utilizes CONFIG.PTS.
In Windows versions built on DOS architecture (Windows 95/98), CONFIG.SYS and AUTOEXEC.BAT remain present but are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it retrieves environment variables from the Windows Registry.
Within the FlexOS operating system, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded during boot.
Example
Here 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 serve as jump points for , , , , and directives.
- Functions like , but permits inline comments following directives. (MS-DOS/PC DOS handles inline comments differently when enclosed in quotes.)
- Introduces inline comments alongside the ; directive.
- Prompts the user with a Yes/No confirmation before executing subsequent CONFIG.SYS commands.[1] Starting with DOS 6.0, this capability is extended using suffixes such as appended after directives.
- Forces unconditional execution of the next directive.
ATemplate:NbndC
- Determines whether programs can be terminated upon encountering errors.
- Sets which drives record file access timestamps within FAT file systems.
- Enables conditional execution on AT-compatible computers.
- Functions as a boot manager.
- Adjusts the level of detail in error messages.
- Changes the default serial driver used for the AUX: device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads the fundamental device driver into RAM.
- Produces a beep sound even if audible alerts are disabled.
- Specifies the operating system to load next during boot.
- Enables or disables extended Ctrl-C detection.
- Defines the number of disk buffers to be allocated.
- Similar to BUFFERS but explicitly loads buffers into HMA or UMB areas.
- , ,
- Sets cache size and timing parameters.
- Loads programs listed in CONFIG.SYS, pausing further processing until completion.
- Sets the Caps Lock status on the keyboard.
- ,
- Configures CD-ROM driver name and buffer allocation.
- Continues processing of CONFIG.SYS from another file or label.
- , , , and additional hardware/configuration directives vary depending on OS version.
COM Ports and CPU Conditions
- , ..., ;
- Specify quantity, sequence, I/O addresses, and timeout values for COM ports.
- , ;, ;, ;, ;, including + variants (specific to PTS-DOS)
- Allow conditional execution based on CPU model.
Additional directives manage system behavior, device driver loading, boot options, and internationalization support across different DOS versions and OS/2 systems, enhancing system efficiency and compatibility for enterprise environments.
DTemplate:NbndF
- Configures relocation settings for drive descriptor tables.
- Designates memory segment address used for multi-sector disk data deblocking operations.
- Activates internal debugger capabilities.
- Acts as a boot manager.
- Loads device drivers into conventional memory.
- Loads device drivers into upper memory blocks (similar to in DRDOS 5.0).
- Sets country and codepage parameters for keyboard, screen, and printer devices.
- Defines cache memory sizes for improved performance.
- Selects floppy disk compatibility mode.
- Specifies the font used for display output.
- Controls whether DOS loads into high memory and/or utilizes upper memory areas.
- Loads DOS system tables (such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory regions.
- Specifies an alternative directory path for DOS files.
- Defines search paths for data files.
- Establishes physical disk drive parameters.
- Sets parameters for unknown or unsupported drives.
- See .
- Enables creation of PDUMP.nnn error logs and designates target drive.
- Displays a text message on the screen.
- Displays messages incorporating ANSI escape sequences.
- Enables extra validation checks when launching programs.
- Assigns assumed error or return codes for commands executed afterward.
- Controls A20 gate status when initiating programs.
- Terminates CONFIG.SYS processing prematurely except for certain directives.
- Defines hash table size to accelerate file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
- Specifies number of cached File Control Blocks open simultaneously (shares buffer space with FILES under DR-DOS).
- Similar to FCBS but loads File Control Blocks into upper memory areas.
- Functions as a boot manager.
- Sets maximum number of files that can be opened simultaneously.
- Like FILES but loads file handles into upper memory blocks.
- Executes specified CONFIG.SYS subsections (refer to IGNORE).
GTemplate:NbndI
- Pauses 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 specified label.
- Continues nested CONFIG.SYS execution at a given label, then returns to the previous point.
- Refer to , , or for additional details.
- Consult for further information.
- See for related commands.
- Refer to or for more context.
- See or for relevant usage.
- Consult for additional guidance.
- Loads a TSR program into memory after relocating the DOS data segment, similar to . Also compare with INSTCDEX.
- See , , or for related functions.
- Refer to for similar commands.
- See or for more details.
- Activates console and command line history buffer with advanced pattern matching capabilities.
- Defines the memory address for the High Memory Area (HMA) segment.
- Configures the energy-saving mode using the HLT instruction.
- Determines whether boot sector virus checks are performed during startup.
- Loads installable file system drivers.
- Prevents execution of specified CONFIG.SYS subsections.
- Permits certain programs to execute at ring 2 level, allowing direct hardware access.
- Incorporates directives from another menu block, emulated via GOSUB/RETURN in DR-DOS environments.
- Sets the status of the keyboard Insert mode.
- Loads a TSR program into memory.
- Installs a TSR utility into upper memory area (equivalent to HIINSTALL in DR DOS 5.0).
- Loads TSR utility post DOS data segment relocation. Also compare with INSTCDEX.
- Adjusts PIC interrupt priority levels, assigning highest priority to a specified IRQ.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Sets the relocated address of the keyboard buffer.
- Determines the maximum number of accessible drives.
- Functions like LASTDRIVE but also loads Current Directory Structure into upper memory.
- Lists paths where DLLs are searched for.
- Manages compatibility with legacy applications.
- Specifies the count of file locks allowed.
- Configures display settings for the boot logo screen.
- Sets parameters including count, sequence, I/O address, and timeout for the LPT1 port.
- Applies LPT1 configurations equivalently to LPT2 port.
- Mirrors LPT1 settings for LPT3 port as well.
- Enables and configures settings for LPT4 device support.
- Defines wait duration priority for process scheduling.
- Controls strategy used for memory allocation management.
- Establishes default DOS memory allocation method.
- Specifies available menu options within CONFIG.SYS environment.
- Sets color schemes for menus, with emulation support under DR-DOS systems.
- Defines default menu block selection, emulatable on DR-DOS platforms.
- Creates individual menu blocks, compatible with DR-DOS emulation methods.
- Enables operations involving multitrack disk access.
- Continues CONFIG.SYS processing from a new file after loading a device driver and setting the %NEWFILE% environment variable.
NTemplate:NbndQ
- Defines default character used as No () response in Yes/No/Resume prompts.
- Sets initial status of keyboard [[Num Lock|Template:Keypress]] as on or off at startup.
- Enables conditional command execution based on last error code, e.g., .
- Displays a message and waits for user key press, similar to and commands in DR-DOS environments.
- Requires user confirmation upon encountering errors in CONFIG.SYS processing.
- Configures buffer sizes for LPT1 through LPT3 ports.
- Allows conditional execution on PC-compatible hardware platforms.
- Sets scheduler priority levels for processes or tasks.
- Assigns priority levels specifically for disk I/O operations programs.
- Changes default printer device driver assignment (for example, switching from LPT1 to LPT3 or LPT4).
- Controls permission for DOS applications to execute under current configuration.
- Loads a user interface shell environment during startup sequence.
- Enables conditional execution tailored to IBM PS/1-compatible machines only.
- Allows conditional commands specific to IBM PS/2-compatible systems during boot processing.
- Suppresses output sent to STDOUT stream.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS (ignored by PTS-DOS).
- Allocates reserved drive letters for local block device drivers.
- Sets the default character for Resume () prompts.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH location, optionally passing a return code.
- Defines the size of real mode memory available.
- Enables concurrent loading of programs in the background during CONFIG.SYS execution.
- Stores the initial character of deleted files within the FAT reserved area.
- Specifies video mode under FreeDOS and screen access methods under PTS-DOS.
- Controls Scroll Lock key status, turning it on or off.
- Assigns environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but includes a SIZE parameter allowing preallocation of COMMAND.COM in HMA or UMBs, enhancing memory management with third-party shells.
- Defines keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines whether files close upon pressing Ctrl+Alt+Del.
- Specifies whether to bypass POST during system reboot.
- Sets the number of interrupt stacks available.
- Defines default stack size for newly created threads.
- Functions like STACKS but loads buffers into upper memory areas.
- Configures boot manager settings.
- Manages behavior of the XMS A20 gate.
- Defines submenu blocks (emulatable in DR-DOS).
- Redirects error logs to disk storage instead of popup notifications.
- Sets the path location for swap files.
- Allows conditional continuation of nested CONFIG.SYS processing at designated labels based on key input, with RETURN resuming prior execution point.
- Establishes the system default switch character ('/' or '-').
- Specifies special configuration options.
- Enables a fix addressing FPU rounding errors.
- Designates an alternative DOS boot file name.
- Configures DOS memory address locations.
- Loads system components from alternative disk areas.
- Sets the size for dynamic system memory pool allocations.
- Loads DOS data and code into upper memory blocks (UMBs).
- Specifies the maximum number of concurrent threads supported by the OS scheduler.
- Sets timeout durations for CONFIG.SYS single-step execution and default responses for prompts in SWITCH and GETKEY commands (PTS-DOS supports timeout values).
- Configures minimum and maximum time slices for scheduler operations.
- Defines file extensions used for temporary files.
- Enables or disables global or local single-step execution of CONFIG.SYS (and AUTOEXEC.BAT) with varying behavior across OS/2 and DOS variants.
- Sets TRACE log buffer size parameters.
- Records detailed error information to assist diagnostic processes.
UTemplate:NbndZ
- Configures DOS to utilize a specified segment as upper memory block (UMB) space.
- Selects which UMB server is employed by the system.
- Defines address ranges allocated as UMB RAM areas.
- Enables or disables verification of disk writes.
- Specifies the DOS version number reported to applications.
- Manages VGA display status settings.
- Indicates current video mode configuration.
- Determines whether virtual DMA is permitted for use.
- Specifies if processor Virtual Mode Extensions (VME) should be disabled.
- Configures VxD driver settings for Windows environments.
- Sets system support parameters for Windows operation.
- Controls relocation of the Extended BIOS Data Area (XBDA).
- Enables conditional execution limited to XT-compatible hardware only.
- Implements built-in support for Year 2000 compliance checks.
- Sets default affirmative response character in prompt queries.
- Manages tracking of file deletions.
Issues
Although the system can start without CONFIG.SYS or AUTOEXEC.BAT, these files are crucial for comprehensive DOS customization and meeting software prerequisites. Their corruption or absence necessitates diagnostic efforts.
In cases where CONFIG.SYS is missing a SHELL directive or is damaged, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Earlier versions prior to 6.0 will fail to boot if COMMAND.COM is unavailable, whereas MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 or later will prompt users to specify the path to a command processor when it cannot be found. This recovery prompt also appears if the main command interpreter terminates unexpectedly or is exited intentionally, enabling a limited runtime shell substitution without requiring a reboot.
The COMMAND.COM from MS-DOS 7.0 onwards is not compatible with DR-DOS, which is often installed alongside it in dual-boot environments. Starting with DR-DOS 7.02, bypassing SHELL directives during skip, trace, or step modes is prohibited to prevent conflicts; users are prompted to provide a valid shell before COMMAND.COM is loaded from the root directory if none is detected. Pressing Enter defaults to the previously used shell.
CONFIG.SYS file size restrictions differ depending on the system: MS-DOS and PC DOS limit it to a few kilobytes (recently up to 64 KB), whereas DR-DOS imposes no practical size constraints due to its line-by-line processing approach rather than tokenizing and reordering commands. This design grants fine-grained control over the loading sequence of drivers and TSRs via DEVICE and INSTALL commands, which can be leveraged to resolve conflicts or embed debuggers and temporary utilities directly within the CONFIG.SYS execution flow.
For MS-DOS/PC DOS versions 2.0 through 4.01, the maximum length of a SHELL line is restricted to 31 characters; subsequent releases allow up to 128 characters, while DR-DOS supports lines as long as 255 characters. It is important to note that CONFIG.SYS directives do not accommodate 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 functionality between Windows 9x and DOS. During a DOS boot session, these files are temporarily restored under their standard names. Additionally, backups of the Windows 95 versions are maintained as CONFIG.W40 and AUTOEXEC.W40.
In configurations where Caldera DR-DOS versions 7.02 or 7.03 coexist with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT remain unaltered. Instead, DR-DOS uses alternate startup filenames: DCONFIG.SYS and AUTODOS7.BAT.
OS/2 / Windows NT
OS/2 depends extensively on CONFIG.SYS for setting up drivers and environment parameters prior to launching its graphical user interface.
Within the OS/2 subsystem of Windows NT, CONFIG.SYS was presented in its traditional form to OS/2 applications but was actually stored within the system registry.
A significant number of CONFIG.SYS directives utilized by OS/2 lack comprehensive documentation or remain largely undocumented.
CONFIG.SYS continues to be supported 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
- AUTOEXEC.BAT and CONFIG.SYS details – Computer Hope
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS directives
- Caldera's CONFIG.SYS Command Reference (partial DR-DOS 7 directive list)
- FreeDOS CONFIG.SYS directive descriptions
- PTS-DOS 2000 Pro User Manual including PTS-DOS CONFIG.SYS directives (incomplete)
- Unofficial German-language PTS-DOS FAQ (PTS/FAQD) featuring additional CONFIG.SYS directives
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedPaul_2000_CONFIG