FCBS (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 both DOS and OS/2 operating systems. This distinctive ASCII text document holds configuration commands that the operating system's DOS BIOS—commonly found in IBMBIO.COM or IO.SYS—interprets during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS customize DOS by setting up devices, applications, and memory managers. Once these instructions are processed, DOS launches the command interpreter specified by the SHELL directive; if none is specified, it defaults to COMMAND.COM. Subsequently, the shell executes the commands listed in the AUTOEXEC.BAT file.
CONFIG.SYS primarily contains name=value pairs that define adjustable parameters or load essential files such as device drivers and terminate-and-stay-resident programs (TSRs). This file is located in the root directory of the bootable drive.
The same filename is also utilized by (DCP), an MS-DOS variant developed by the former East-German company VEB Robotron.
Certain DOS derivatives look for alternative configuration filenames that override CONFIG.SYS:
Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 use CCONFIG.SYS instead. Some Multiuser DOS editions employ CCONFIG.INI, while REAL/32 opts for MCONFIG.SYS. These platforms support expanded settings stored in binary files like CCONFIG.BIN, which are commonly managed through CONFIG.EXE.
From DR DOS 3.31 onward (including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+), DCONFIG.SYS takes precedence over CONFIG.SYS. Originally associated with disk compression configurations, it also aids multi-boot setups. OpenDOS 7.01 and DR-OpenDOS 7.02 look for ODCONFIG.SYS, whereas some DR-DOS 7.02+ variants utilize DRCONFIG.SYS.
Since DR DOS 6.0, the SYS /DR:ext command permits defining custom system file extensions to maintain multiple parallel file sets within a single root directory, selectable through boot loaders such as LOADER from Multiuser DOS and DR-DOS 7.x. The SHELL directive supports specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], with COMMAND.COM accepting extensions beyond ".BAT". Additionally, the CHAIN=filespec command allows processing to continue into another configuration file, optionally targeting specific labels.
Starting with DR-DOS 7.03+, the SYS /A option enables copying CONFIG.SYS and AUTOEXEC.BAT alongside system files.
FreeDOS uses FDCONFIG.SYS; RxDOS version 7.24 and later employs RXCONFIG.SYS; while PTS-DOS utilizes CONFIG.PTS.
Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directories of Windows 95 and Windows 98, although they are frequently empty since these systems are based on DOS. In contrast, Windows Me does not process CONFIG.SYS at startup but retrieves environment variables from the Windows Registry at HKLM\System\CurrentControlSet\Control\SessionManager\Environment.
Within FlexOS, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded during system initialization.
Example
Sample CONFIG.SYS 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 destinations for , , , , and commands.
- Functions similarly to , also utilized for inline comments following other CONFIG.SYS directives. (Note: MS-DOS/PC DOS does not ignore inline comments enclosed in double quotes.)
- Used at the start of inline comments alongside the ; directive.
- Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS supports conditional execution with boot menus but lacks customizable messages.) DOS version 6.0 and later permits a comparable feature by appending to directives, such as .
- Executes the next CONFIG.SYS command without conditions.
ATemplate:NbndC
- Determines whether programs can be terminated upon encountering errors.
- Specifies which drives maintain file access date stamps within FAT directory entries.
- Enables conditional execution on AT-compatible hardware.
- Boot management utility.
- Adjusts verbosity of error messages.
- Alters the default serial driver assigned to the AUX: device.
- Prevents access to character devices outside the phantom \DEV directory.
- Loads a fundamental device driver into system memory.
- Produces a brief beep even when audible alerts are disabled.
- Identifies the operating system to be booted next.
- Enables or disables extended Ctrl+C interrupt checking.
- Defines 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 only)
- Control cache block allocation and flushing behavior.
- Executes programs within CONFIG.SYS, pausing processing until the program returns control.
- Sets the state of keyboard Caps Lock.
- , CDDBUFFERS (PTS-DOS only)
- Configures CD-ROM hardware drivers and buffer settings.
- Continues processing CONFIG.SYS from a new file or label reference.
- , CLS, CODEPAGE (various OS-specific)
- Define clock types, clear screen display, and set OEM codepages.
- , COM2, COM3, COM4 (DR-DOS 7.02+)
- Configure serial port devices including I/O addresses and timeout durations.
- , COMMENT(S), COUNTRY, CPOS, CPSW (various DOS versions)
- Manage comment entries, internationalization support, cursor positioning, and codepage switching.
- , CPU88, CPU86, CPU286, CPU386, CPU486 (PTS-DOS and DR-DOS)
- Conditional execution directives based on CPU type or clock speed.
This concise enumeration emphasizes essential CONFIG.SYS commands pertinent to system setup and resource allocation across DOS variants and compatible platforms crucial for enterprise IT environments.
DTemplate:NbndF
- Adjusts relocation settings for drive descriptor tables.
- Defines memory segment address used for multi-sector disk data deblocking operations.
- Activates built-in debugger functionality.
- Boot management utility.
- Loads a device driver into conventional memory.
- Loads a device driver into upper memory area (equivalent to in DRDOS 5.0).
- Configures country codes and codepage information for keyboard, screen, and printer devices.
- Sets sizes for cache memory allocation.
- Selects floppy disk compatibility modes.
- Specifies display font parameters.
- Controls loading DOS into high memory and/or usage of upper memory blocks.
- Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory areas.
- Provides an alternative directory path for DOS system files.
- Defines search paths for data files during operation.
- Specifies physical characteristics of disk drives.
- Sets parameters for unrecognized or non-standard drives.
- See .
- Enables error logging with PDUMP.nnn files on specified drives.
- Displays messages on screen output.
- Shows messages incorporating ANSI escape sequences for enhanced formatting.
- Activates additional verification checks when launching programs.
- Assigns an assumed error or return code for subsequent command executions.
- Manages A20 gate status during program startup sequences.
- Terminates CONFIG.SYS processing prematurely (except certain SWITCHES and SHELL directives under specific conditions).
- Configures hash table size for accelerated file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
- Sets number of cached File Control Blocks (FCBs) that can be simultaneously open (shares buffer with FILES under DR-DOS).
- Functions like FCBS but explicitly loads FCBs into upper memory regions.
- Boot management utility.
- Specifies maximum number of files that can be opened concurrently.
- Similar to FILES but loads file handles explicitly into upper memory areas.
- Includes execution of designated CONFIG.SYS subsections (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 location.
- Refer to , , or for additional details.
- Consult for further information.
- See for related commands.
- Refer to or for more context.
- See or for additional guidance.
- Consult for further explanation.
- Loads a TSR program into memory similar to , but after relocating the DOS data segment. Compare with INSTCDEX.
- See , , or for related functionality.
- Refer to for more details.
- See or for related options.
- Activates console and command line history buffer with advanced pattern search capabilities.
- Defines the HMA segment address.
- Configures energy-saving mode using HLT instruction.
- Specifies system verification for boot sector virus presence.
- Loads installable file system drivers.
- Prevents execution of selected CONFIG.SYS subsections. See .
- Permits designated programs to execute at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block (simulated by GOSUB/RETURN in DR-DOS).
- Sets the keyboard Insert mode state.
- Installs a TSR program into memory.
- Installs TSR into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
- Installs TSR similarly to INSTALL but after relocating DOS data segment. Compare with INSTCDEX.
- Adjusts PIC interrupt priorities to give precedence to a specified IRQ number.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the address of the relocated keyboard buffer.
- Sets the maximum number of accessible drives.
- Similar to LASTDRIVE but loads Current Directory Structure into upper memory.
- Enumerates search paths used for locating DLLs.
- Controls handling of legacy software compatibility.
- Determines the number of file locks allowed.
- Configures support for boot logos and startup messages display.
- Sets count, order, I/O port address, and timeout parameters for LPT1 device.
- Sets count, order, I/O port address, and timeout parameters for LPT2 device.
- Sets count, order, I/O port address, and timeout parameters for LPT3 device.
- Enables and configures LPT4 device with similar parameters.
- Defines wait duration before increasing process priority.
- Configures strategy for memory allocation management.
- Specifies default memory allocation strategy used by DOS.
- Defines available menu options within CONFIG.SYS menus.
- Sets color schemes for menus (emulatable in DR-DOS).
- Specifies default menu block (emulatable in DR-DOS).
- Defines a menu block structure (emulatable in DR-DOS).
- Enables multitrack operations on disk drives.
- Continues CONFIG.SYS processing using a new file after loading a device driver and sets %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default No () character response in Yes/No/Resume prompts.
- Controls keyboard [[Num Lock|Template:Keypress]] status (on or off).
- Enables conditional execution based on last error level, such as .
- Displays a message and waits for key input, similar to DR-DOS's and .
- Requires user confirmation when errors occur in CONFIG.SYS processing.
- Adjusts buffer sizes for LPT1, LPT2, and LPT3 devices.
- Allows conditional execution on PC-compatible systems only.
- Sets scheduler priority level for processes.
- Assigns priority level specifically for disk I/O applications.
- ; Changes default printer device driver from LPT1 to either LPT3 or LPT4.
- ; Specifies whether DOS programs are permitted to run or not.
- ; Loads the user interface shell environment.
- ; Enables conditional execution on IBM PS/1-compatible hardware only.
- ; Enables conditional execution on IBM PS/2-compatible hardware only.
- ; Suppresses output sent to STDOUT.
RTemplate:NbndT
- Activates automatic reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS.
- Allocates drive letter assignments for local device drivers.
- Establishes the default Resume () character in command prompts.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH statement, optionally with a return code.
- Specifies size of real mode memory.
- Executes programs concurrently in the background during CONFIG.SYS loading.
- Saves the initial character of deleted files in the FAT reserved area.
- Determines video mode under FreeDOS or screen access methods under PTS-DOS.
- Controls the keyboard Scroll Lock state, enabling or disabling it.
- Assigns environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but includes a size parameter to relocate COMMAND.COM into HMA or UMBs, reducing fragmentation.
- Defines keyboard modifier statuses such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Indicates whether files close upon pressing Ctrl+Alt+Del.
- Skips POST during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Configure interrupt stack sizes or buffer loading in upper memory areas (varies by operating system).
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- Manage boot processes and memory loading specific to PTS-DOS.
- (DOS 6.0+) Defines submenu blocks (unsupported by DR-DOS and FreeDOS).
- , SWAPPATH
- OS/2 options for specifying error log paths and swap file locations.
- , SWITCHES
- Controls conditional processing within CONFIG.SYS (implementation varies across OS versions).
- , Sets the system switch character used ('/' or '-').
- , THREADS, TIMESLICE
- Performance tuning parameters for OS/2 systems.
- , TRACE, TRACEBUF
- Manage timeouts and debugging trace buffers during CONFIG.SYS execution (in DOS variants).
- , TRAPDUMP
- Configures PTS-DOS temporary file extensions and OS/2 error logging settings.
UTemplate:NbndZ
- Assigns a specific memory segment as an Upper Memory Block (UMB) for DOS usage.
- Specifies the UMB server component.
- Defines address ranges designated as UMB RAM areas.
- Enables or disables verification of disk writes.
- Sets the DOS version number reported to applications.
- Configures VGA display status parameters.
- Specifies current video mode, analogous to FreeDOS’s SCREEN directive.
- Activates virtual DMA capabilities.
- Enables or disables processor Virtual Mode Extensions (VME).
- Configures VxD driver settings for Windows environments.
- Adjusts Windows system support options.
- Relocates the Extended BIOS Data Area (XBDA).
- Enables conditional execution on XT-compatible machines.
- Configures built-in Year 2000 compliance features.
- Sets default affirmative response character in prompts.
- Manages deletion tracking functionality.
Issues
Although it is possible for the system to boot without CONFIG.SYS or AUTOEXEC.BAT files, these configurations are crucial for comprehensive operating system customization and meeting software requirements. When these files become corrupted or damaged, troubleshooting is necessary.
If CONFIG.SYS does not contain a SHELL directive or if it is missing or damaged, 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 absent. However, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later will prompt the user to specify a path to a command interpreter. This prompt also appears if the primary shell terminates unexpectedly or exits intentionally, allowing for limited runtime replacement of the shell without requiring a reboot.
COMMAND.COM from MS-DOS version 7.0 and above is incompatible with DR-DOS but often remains present in the root of drive C: in dual-boot environments. Starting with DR-DOS version 7.02, bypassing SHELL directives during skip, trace, or step modes is disallowed. Nonetheless, certain key combinations permit recovery from invalid shell arguments by prompting for a valid shell filename prior to loading COMMAND.COM.
The maximum size allowed for CONFIG.SYS varies among operating systems: MS-DOS and PC DOS impose limits of a few kilobytes (up to approximately 64 KB in later versions), whereas DR-DOS enforces no practical limitation aside from those imposed by the file system itself. MS-DOS compiles CONFIG.SYS into a tokenized format that prioritizes loading device drivers before TSRs. Conversely, DR-DOS processes CONFIG.SYS sequentially line-by-line, enabling precise control over load order and conditional execution based on hardware detection or error conditions—features that are advantageous when resolving conflicts or incorporating debugging tools.
Additionally, DR-DOS supports executing non-resident programs through INSTALL, allowing temporary software integration within the CONFIG.SYS sequence.
Limits on SHELL command line length differ as well: MS-DOS/PC DOS versions 2.0 through 4.01 allow up to 31 characters, later versions permit up to 128 characters, while DR-DOS accepts lines as long as 255 characters. It should be noted that CONFIG.SYS directives do not accommodate long filenames.
Dual booting DOS and Windows 9x
When Windows 95 is installed on a system that already has DOS or an earlier Windows version, the existing CONFIG.SYS and AUTOEXEC.BAT files are renamed to CONFIG.DOS and AUTOEXEC.DOS. This allows the system to switch between Windows 9x and DOS environments. Upon selecting DOS at startup, these renamed files are temporarily reverted to their original names, CONFIG.SYS and AUTOEXEC.BAT. Additionally, Windows 95 creates backup copies named CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02 or 7.03 coexists with Windows 95, the CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain untouched. Instead, DR-DOS employs its own configuration files named DCONFIG.SYS and AUTODOS7.BAT for booting.
OS/2 / Windows NT
OS/2 extensively utilizes CONFIG.SYS to load drivers and set environment parameters before launching its graphical interface.
Within the OS/2 compatibility layer included in Windows NT, the configuration instructions for OS/2 applications—traditionally found in CONFIG.SYS—are instead maintained within the system registry rather than as a physical file.
Numerous CONFIG.SYS commands applicable to OS/2 have never been officially documented.
The use of CONFIG.SYS continues 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
- Information on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
- Overview of Windows 98 / MS-DOS 7.10 CONFIG.SYS parameters (archived)
- Caldera’s CONFIG.SYS Command Reference (archived) – summary of DR-DOS 7 directives
- Guide to FreeDOS CONFIG.SYS commands
- PTS-DOS 2000 Pro User Manual – includes details on PTS-DOS CONFIG.SYS options (archived)
- Unofficial German FAQ for PTS-DOS (2004) featuring additional CONFIG.SYS directives