HIBUFFERS (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | Configuration commands for DOS and OS/2 |
CONFIG.SYS serves as the essential configuration file for DOS and OS/2 operating system environments. This ASCII text file contains configuration commands that the operating system's DOS BIOS interprets during the startup sequence. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The instructions within CONFIG.SYS are used to set up DOS for hardware, software, and memory management purposes. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified by the SHELL directive, defaulting to COMMAND.COM if none is given, which subsequently executes AUTOEXEC.BAT.
Typically, CONFIG.SYS is composed of name=value entries that establish settings or load components such as device drivers and terminate-and-stay-resident programs (TSRs) into memory. The file is located in the root directory of the system's boot drive.
The same filename is also utilized by (DCP), an MS-DOS variant developed by the former East-German company VEB Robotron.
Certain DOS versions recognize alternative filenames that override CONFIG.SYS:
- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 employ CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS) instead of CONFIG.SYS. REAL/32 may alternatively use MCONFIG.SYS. These systems support extended configurations stored in binary CCONFIG.BIN files, which are generally managed through CONFIG.EXE.
- In DR DOS 3.31 and later releases including Novell DOS 7 and OpenDOS, DCONFIG.SYS takes precedence over CONFIG.SYS. Originally designed for disk compression contexts, this feature enables multi-boot setup flexibility.
- OpenDOS 7.01 and DR-OpenDOS 7.02 also accept ODCONFIG.SYS, while some DR-DOS versions check for DRCONFIG.SYS.
- Starting with DR DOS 6.0, the command SYS /DR:ext allows customization of system file extensions, facilitating multiple simultaneous boot configurations within a single root directory selectable via boot loaders such as LOADER.
- The SHELL command supports alternative AUTOEXEC.BAT filenames through /P[:filename.ext], a feature compatible with COMMAND.COM and similar shells like 4DOS.
- From DR-DOS 6.0 onward, CHAIN=filespec can be used to continue processing another configuration file, optionally specifying a particular section using CHAIN=filespec,label.
- DR-DOS 7.03 and newer include the SYS /A option to copy both CONFIG.SYS and AUTOEXEC.BAT alongside system files.
Other DOS variants incorporate comparable functionality:
- FDCONFIG.SYS in FreeDOS
- RXCONFIG.SYS in RxDOS
- CONFIG.PTS in PTS-DOS
Windows 95 and Windows 98, which are built upon DOS, include CONFIG.SYS and AUTOEXEC.BAT on their boot drives but usually leave these files empty. In contrast, Windows Me does not process CONFIG.SYS at startup, instead relying on environment variables configured through the Windows Registry.
Within the FlexOS operating system, 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: <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 similarly to , but is applicable for inline comments following other CONFIG.SYS instructions. (Note: Under MS-DOS/PC DOS, inline comments enclosed in double quotes are not disregarded.)
- Used at the start of inline comments alongside the ; directive.
- Prompts with a Yes/No confirmation before executing subsequent CONFIG.SYS commands. FreeDOS supports conditional execution tied to boot menus (MENU, MENUDEFAULT). DOS 6.0 and later versions provide a comparable feature by appending after directives, e.g., .
- Forces the immediate execution of the following CONFIG.SYS command.
ATemplate:NbndC
- Determines whether applications can be interrupted upon encountering errors.
- Sets which drives record file access timestamps within FAT file systems.
- Enables conditional execution on AT-compatible hardware.
- Acts as a boot manager.
- Adjusts the verbosity level of error messages.
- Alters the default serial port driver assignment (from COM1: through COM4:) for the AUX device.
- Restricts access to character devices outside the virtual \DEV directory.
- Loads a base device driver into system memory.
- Produces a brief beep sound even if audible alerts are disabled.
- Specifies the operating system to boot next in sequence.
- Enables or disables extended Ctrl+C interrupt checking.
- Defines the quantity of disk buffers allocated.
- Similar to BUFFERS but places buffers into HMA or UMB memory areas.
- , CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
- Control cache block allocation and timing parameters.
- Loads and runs programs within CONFIG.SYS in the foreground, pausing further processing until completion.
- (DR-DOS 7.02+)
- Indicates whether Caps Lock is enabled on the keyboard.
- , CDDBUFFERS (PTS-DOS only)
- Sets CD-ROM driver name along with buffer count.
- (DR DOS 5.0+, Embedded DOS)
- Continues processing CONFIG.SYS from a new file or label.
- , CLS, CODEPAGE (various OS-specific)
- Manage screen clearing, system clock type, and OEM codepage settings.
- , COM2, COM3, COM4 (DR-DOS 7.02+)
- Configure count, order, I/O addresses, and timeouts for serial ports COMx:.
- , COMMENT(S), COUNTRY (various OS versions)
- Define DMA buffer sizes for COM area, alter inline comment characters, or enable internationalization support.
Additional CPU-specific conditional directives exist primarily in PTS-DOS and DR-DOS variants to optimize system behavior based on processor type (for example, CPU386, CPU486).
DTemplate:NbndF
- Controls relocation of drive descriptor tables within memory.
- Specifies segment address in memory for handling multi-sector disk data deblocking.
- Activates internal debugger features.
- Functions as a boot manager utility.
- Loads device drivers into conventional memory space.
- Loads device drivers into upper memory blocks (equivalent to in DRDOS 5.0).
- Configures country codes and codepages for keyboard, screen, and printer devices.
- Sets cache memory size parameters.
- Defines floppy disk compatibility modes.
- Selects display font settings.
- Manages loading of DOS into high or upper memory areas (similar function as in DRDOS 5.0).
- Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory segments.
- Specifies an alternative search path for DOS files.
- Defines search path for data files.
- Sets physical characteristics for disk drives.
- Establishes parameters for unrecognized disk drives.
- See .
- Enables PDUMP.nnn error logging and designates target drive for logs.
- Displays a message on screen during processing.
- ; Displays message incorporating ANSI escape sequences.
- ; Adds extra validation checks when launching programs.
- ; Assigns an error or return code to assume after execution.
- ; Controls A20 gate status when initiating a program.
- ; Terminates CONFIG.SYS processing prematurely except under certain conditions involving SWITCHES and SHELL directives.
- ; Sets hash table size used to speed up file opening operations (differs from MS-DOS/PC DOS FASTOPEN driver).
- ; Specifies number of cached File Control Blocks allowed simultaneously (shares buffer pool with FILES in DR-DOS).
- ; Same as FCBS but loads buffers into upper memory space.
- ; Functions as a boot manager component.
- ; Defines maximum number of files that can be opened at once.
- ; Same as FILES but loads file handles into upper memory blocks.
- ; Allows execution of designated CONFIG.SYS subsections (refer to IGNORE).
GTemplate:NbndI
- Awaits 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 the designated label.
- Continues nested CONFIG.SYS execution at a specified label, then returns to the prior point.
- Refer to , , or for additional context.
- Consult for further details.
- See for related information.
- Refer to or as applicable.
- Consult or for more data.
- See .
- Loads TSR programs following relocation of the DOS data segment; compare with INSTCDEX.
- Refer to , , or for further guidance.
- See .
- Refer to or for additional instructions.
- Activates and configures the console and command line history buffer, supporting advanced pattern searches.
- Defines the address of the HMA segment.
- Configures energy-saving mode via HLT instruction.
- Determines whether system boot sector virus scanning is enabled.
- Loads installable file system drivers.
- Skips execution of specified CONFIG.SYS subsections.
- Permits designated programs to operate at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block, emulated with GOSUB/RETURN in DR-DOS environments.
- Sets the status of 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 post-DOS data segment relocation, similar to INSTALL.
- Adjusts PIC interrupt priorities, assigning the highest priority to the specified IRQ line.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the relocated address of the keyboard buffer.
- Sets the maximum number of accessible drives.
- Functions like LASTDRIVE but loads Current Directory Structure into upper memory.
- Establishes paths for DLL searches.
- Controls legacy program loading behavior.
- Determines the quantity of file locks permitted.
- Configures boot logo display when using PTS-DOS boot manager.
- Sets count, sequence, I/O address, and timeout parameters for LPT1 device.
- Applies similarly for LPT2 device configuration.
- Same settings applied for LPT3 device.
- Enables and configures LPT4 device parameters.
- Defines wait duration before increasing process priority level.
- Manages memory allocation methods and strategy preferences.
- Specifies default DOS memory allocation approach.
- Defines available menu options within CONFIG.SYS processing.
- Sets menu color schemes, with emulation support in DR-DOS systems.
- Assigns default menu block selection, emulatable under DR-DOS.
- Defines individual menu blocks, supported by DR-DOS emulation.
- Activates multitrack disk operation capabilities.
- Continues CONFIG.SYS processing from a new file, optionally loading a driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default character for No () responses in Yes/No/Resume prompts.
- Determines whether keyboard [[Num Lock|Template:Keypress]] is enabled or disabled by default.
- Executes commands conditionally based on the last error code, e.g., .
- Displays a message and waits for key input, similar to and commands in DR-DOS environments.
- Requires user confirmation upon encountering errors during CONFIG.SYS processing.
- Configures buffer sizes for parallel ports LPT1, LPT2, and LPT3 devices.
- Enables conditional command execution on PC-compatible hardware platforms.
- Adjusts priority scheduler settings within the system environment.
- Assigns priority levels specifically for disk I/O operations by programs.
- Changes the default internal printer driver among LPT1 through LPT4 devices.
- Specifies whether DOS programs are permitted to run under current configuration.
- Loads user interface components as part of system initialization.
- Enables conditional execution exclusively on IBM PS/1-compatible machines.
- Allows conditional command execution on IBM PS/2-compatible systems only.
- Suppresses output sent to STDOUT from being displayed on screen.
RTemplate:NbndT
- Indicates whether the system should automatically reboot upon encountering errors.
- Permits insertion of comments within CONFIG.SYS files.
- Reserves a drive letter to prevent its allocation by local block device drivers.
- Defines the default character for Resume () responses in Yes/No/Resume prompts.
- Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH location, optionally passing a return code.
- Specifies the size of real mode memory available.
- Enables loading of programs in CONFIG.SYS simultaneously in the background, functioning similarly to CALL or INSTALL commands under DOS.
- Saves the initial character of deleted files in a reserved FAT area.
- Determines the video mode (specific to FreeDOS) or screen access methods (PTS-DOS).
- Sets the Scroll Lock key status on the keyboard, either enabled or disabled.
- Assigns environment variables.
- Loads the command interpreter shell.
- Functions like SHELL but allows pre-allocation of COMMAND.COM into HMA or UMBs to reduce fragmentation, beneficial when using third-party shells.
- Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Controls whether files are closed automatically upon pressing Ctrl+Alt+Del.
- Determines if the Power-On Self-Test (POST) is skipped during reboot.
- , STACKSIZE, STACKSHIGH, STACK (various OS-specific utilities)
- Configure stack sizes for interrupts or threads across multiple DOS variants and embedded systems, with some compatibility considerations.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB (exclusive to PTS-DOS)
- Manage boot manager configurations and system memory loading locations, including UMBs for relocating code and data segments.
- , SUBMENU, SUPPRESSPOPUPS, SWAPPATH, SWITCHES (various OS-specific)
- Control internal string usage, menu blocks, error logging preferences, swap file directory paths, and specialized options primarily under OS/2 or Novell DOS environments.
- , SWITCHAR (DOS variants)
- Enables conditional processing within CONFIG.SYS based on keypress detection and defines default switch characters ('/' or '-').
- , THREADS, TIMESLICE (OS/2)
- Configure hardware bug fixes, set maximum concurrent thread counts, and adjust scheduler time slices specific to OS/2 systems.
- , TRACE, TRACEBUF (DR-DOS, PTS-DOS, OS/2)
- Manage single-step timeouts during CONFIG.SYS processing and enable trace logging with adjustable buffer sizes.
- , TRAPDUMP (Embedded DOS 6-XL, OS/2)
- Specify temporary file extensions used for detailed error logging and trap dump generation.
UTemplate:NbndZ
- Configures DOS to utilize a designated segment as Upper Memory Block (UMB) space.
- Specifies which UMB server is employed by the system.
- Defines address ranges allocated as UMB RAM segments.
- Toggles disk write verification on or off.
- Sets the DOS version number reported to applications.
- Manages VGA display settings.
- Indicates the current video mode, analogous to FreeDOS’s SCREEN directive.
- Enables virtual DMA functionality.
- Controls processor Virtual Mode Extensions (VME).
- Configures VxD drivers for Windows environments.
- Sets system support parameters for Windows operation.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Enables conditional execution on XT-compatible hardware platforms.
- Activates built-in Year 2000 compliance features.
- Defines the default affirmative response character in query prompts.
- Configures tracking behavior for file deletions.
Issues
Although it is possible for the system to start without CONFIG.SYS or AUTOEXEC.BAT files present, these files are critical for tailoring DOS behavior and loading necessary software components. Their corruption or absence typically requires diagnostic efforts.
In cases where CONFIG.SYS does not include a SHELL directive or if it is missing or damaged, DOS attempts to locate COMMAND.COM in the root directory. Versions prior to DOS 6.0 will fail to boot without this file. However, MS-DOS version 6.0/PC DOS 6.1 and Novell DOS versions from 7 onward will prompt users to specify a command interpreter path if COMMAND.COM cannot be found. This prompt also appears if COMMAND.COM terminates unexpectedly or exits voluntarily, providing limited shell replacement capabilities without needing a reboot.
The COMMAND.COM included with MS-DOS version 7.0 and later is incompatible with DR-DOS. This incompatibility affects dual-boot configurations where DR-DOS version 7.02 and beyond enforces SHELL directives during skip/trace/step operations to prevent conflicts. Subsequent updates introduced recovery mechanisms for invalid SHELL parameters and prompt users for valid shell filenames when skipping CONFIG.SYS processing.
CONFIG.SYS size limitations differ depending on the operating system: MS-DOS and PC DOS impose an approximate limit of 64 KB on CONFIG.SYS size. In contrast, DR-DOS does not enforce a practical limit due to its line-by-line interpretation method rather than MS-DOS’s tokenized compilation approach. This flexibility allows DR-DOS users greater control over driver and TSR loading sequences through DEVICE and INSTALL commands, facilitating resolution of load order conflicts and permitting integration of temporary programs into the startup routine.
Earlier MS-DOS releases restricted SHELL command line lengths to a maximum of 31 characters, which was increased up to 128 characters in later versions. DR-DOS supports even longer command lines up to 255 characters. It is important to note that none of the CONFIG.SYS directives accept long filenames.
Dual booting DOS and Windows 9x
During the installation of Windows 95 over a pre-existing DOS/Windows environment, the files CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS to support dual boot functionality. When switching to DOS mode, these renamed files are temporarily reverted to their original filenames. Meanwhile, backup copies of the Windows 95 versions are preserved under the names CONFIG.W40 and AUTOEXEC.W40.
In scenarios where Caldera DR-DOS 7.02/7.03 is installed alongside Windows 95, the original CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain intact. Instead, DR-DOS relies on DCONFIG.SYS and AUTODOS7.BAT as its configuration startup scripts.
OS/2 / Windows NT
OS/2 heavily depends 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, the settings traditionally found in CONFIG.SYS are represented as registry entries rather than conventional configuration files.
OS/2 contains numerous undocumented CONFIG.SYS commands, indicative of its intricate system setup requirements.
CONFIG.SYS continues to be utilized by OS/2-based 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 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
- Explanation of FreeDOS CONFIG.SYS commands
- PTS-DOS 2000 Pro User Guide including CONFIG.SYS directive descriptions
- German unofficial PTS-DOS FAQ (PTS/FAQD) featuring additional CONFIG.SYS commands