BUFFERSHIGH (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | Operating system configuration commands |
CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, contains configuration commands that the operating system's DOS BIOS interprets during the startup process. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS customize DOS settings for hardware devices, software applications, and memory allocation. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified by the SHELL directive or defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.
Typically, the file is composed of name=value pairs that set parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs). CONFIG.SYS is located in the root directory of the boot drive.
Certain DOS variants check for alternative configuration filenames that take precedence over CONFIG.SYS:
- Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS) and MCONFIG.SYS (in REAL/32). These systems support extended configuration options saved in binary files like CCONFIG.BIN, typically managed through CONFIG.EXE.
- In DR DOS versions 3.31 and later (including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02+), DCONFIG.SYS supersedes CONFIG.SYS to enable disk compression setups and multi-boot environments.
- OpenDOS 7.01 and DR-OpenDOS 7.02 also search for ODCONFIG.SYS, while some DR-DOS editions look for DRCONFIG.SYS.
Starting with DR-DOS 6.0, users can alter the default system file extensions using SYS /DR:ext, allowing multiple sets of system files to coexist within a single directory and be selected via boot loaders such as LOADER. The SHELL command supports specifying alternative AUTOEXEC.BAT files with /P[:filename.ext], a feature recognized by COMMAND.COM and compatible shells like 4DOS.
From version 6.0 onward, DR-DOS supports CHAIN=filespec, which enables continuing execution with another configuration file located outside the root directory; versions 7.02 and above add a label parameter to jump to specific sections within those files. DR-DOS 7.03 and later introduce SYS /A to duplicate CONFIG.SYS and AUTOEXEC.BAT alongside other system files.
Other DOS derivatives offer comparable functionality: FreeDOS uses FDCONFIG.SYS, RxDOS employs RXCONFIG.SYS, and PTS-DOS relies on CONFIG.PTS.
In Windows 95 and Windows 98, which are built upon DOS, CONFIG.SYS and AUTOEXEC.BAT remain present in the root of the boot drive but are generally empty. Conversely, Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables directly from the Windows Registry.
Within the FlexOS operating system, CONFIG.SYS is a binary file that specifies resource managers and device drivers loaded during boot.
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>
:;*?!
- Defines labels within CONFIG.SYS used as jump destinations for , , , and commands.
- Functions similarly to , but also serves as an inline comment marker following other directives in CONFIG.SYS. (MS-DOS/PC DOS does not ignore inline comments enclosed in double quotes.)
- Initiates inline comments alongside the ; directive.
- Prompts a Yes/No confirmation from the user before executing subsequent CONFIG.SYS commands. (FreeDOS lacks support for optional messages but allows conditional directives via boot menus.) DOS version 6.0 and later enable a comparable feature by appending after directives, also supported by DR DOS.
- Forces unconditional execution of the following CONFIG.SYS instruction.
ATemplate:NbndC
- Determines whether programs may be terminated upon encountering errors.
- Sets which drives record file access timestamps in FAT file systems.
- Enables conditional command execution on AT-compatible hardware.
- Boot management utility.
- Adjusts the level of detail in error message output.
- Alters the default internal serial driver assigned to the AUX device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads a fundamental device driver into system memory.
- Produces a brief beep sound even if audible alerts are disabled.
- Defines the operating system to boot next in sequence.
- Enables or disables extended Ctrl+C interrupt checking.
- Sets the quantity of disk buffers allocated by the system.
- Similar to BUFFERS but places buffers into HMA or UMB memory areas.
- , CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
- Manage cache allocation timing and flushing intervals.
- Loads specified programs from CONFIG.SYS, pausing further processing until completion.
- Sets the Caps Lock key state during system startup.
- , CDDBUFFERS (PTS-DOS only)
- Configure CD-ROM driver designation and buffer allocation.
- (DR DOS 5.0+, Embedded DOS)
- Continues processing of CONFIG.SYS within a new file or label context.
- , CLS, CODEPAGE (PTS-DOS and OS/2)
- Manage system clock settings, clear screen command, and OEM codepage configurations.
- , COLOR (PTS-DOS)
- Define CMOS RAM address and customize boot menu color scheme.
- , COM2, COM3, COM4 (DR-DOS 7.02+)
- Specify count, sequence, I/O port addresses, and timeout parameters for COM ports.
- , COMMENT(S) (Various DOS versions)
- Set DMA buffer parameters and redefine characters used to indicate inline comments.
- (DOS 3.0+, DR DOS 3.31+, OS/2)
- Activates internationalization support options.
- , CPSW (DR DOS/MS-DOS)
- Controls cursor positioning and enables codepage switching capabilities.
- , CPU88, CPU86, CPU286, CPU386, CPU486 series (PTS-DOS/DR-DOS)
- Executes commands conditionally based on CPU type or clock speed.
DTemplate:NbndF
- Manages relocation settings for drive descriptor tables.
- Defines memory segment address used for multi-sector disk data deblocking processes.
- Activates internal debugger functionality.
- Boot management utility.
- Loads a device driver into conventional memory space.
- Loads a device driver into upper memory blocks (equivalent to in DRDOS 5.0).
- Configures country-specific settings and codepage information for keyboard, screen, and printer devices.
- Adjusts cache memory size parameters.
- Sets compatibility mode for floppy disk drives.
- Specifies font used for display output.
- Controls loading of DOS into high memory area and/or utilization of upper memory blocks.
- Directs loading of DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory regions.
- Specifies an alternative directory path for locating DOS files.
- Defines search paths for data files used by the system.
- Sets physical characteristics of disk drives for recognition purposes.
- Establishes parameters for drives that are not natively recognized by the system.
- Refer to .
- Enables creation of PDUMP.nnn error log files on a specified drive.
- Displays a message on the screen during boot or configuration processing.
- Shows messages utilizing ANSI escape sequences for enhanced formatting.
- Enables additional verification checks when launching programs.
- Assigns a specific error or return code to be assumed after program execution.
- Controls A20 gate status when initiating a program run.
- Completes CONFIG.SYS processing before reaching file end, except under certain conditions involving SWITCHES and SHELL commands.
- Defines hash table size to optimize file open operations, differing from MS-DOS/PC DOS FASTOPEN driver implementation.
- Specifies number of cached File Control Blocks (FCBs) that can be opened simultaneously, sharing buffer space dynamically with FILES under DR-DOS systems.
- Functions like FCBS but explicitly loads FCBs into upper memory areas.
- Boot management utility.
- Sets maximum number of files that can be opened at once by the system.
- Similar to FILES but loads file handles explicitly into upper memory blocks.
- Executes designated subsections within CONFIG.SYS (refer to IGNORE for details).
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 prior point.
- Refer to , , or for additional details.
- See related information in .
- Consult for further reference.
- Refer to or for more context.
- See or for related instructions.
- Consult for additional guidance.
- Loads a TSR program after relocating the DOS data segment, functioning similarly to .
- See , , or for related commands.
- Refer to for further details.
- Consult or for more information.
- Activates and configures the console and command line history buffer with advanced pattern search capabilities.
- Defines the address of the HMA segment.
- Sets up HLT mode for energy conservation.
- Enables scanning of the boot sector for viruses.
- Loads file systems that are installable.
- Prevents execution of designated CONFIG.SYS subsections.
- Allows specific programs to operate at ring 2 level, permitting direct hardware I/O access.
- Incorporates directives from another menu block, simulated through GOSUB/RETURN in DR-DOS environments.
- Sets the status of keyboard Insert mode.
- Loads a TSR program into memory.
- Installs a TSR program into upper memory, analogous to HIINSTALL in DR DOS 5.0.
- Loads a TSR program following DOS data segment relocation, comparable to INSTALL.
- Adjusts PIC interrupt priorities to assign highest precedence to a specified IRQ.
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 the Current Directory Structure into upper memory.
- Lists directories searched for DLL files.
- Controls behavior when running legacy applications.
- Determines the number of allowed file locks.
- Configures display settings for the boot logo.
- Defines count, order, I/O address, and timeout parameters for LPT1 device configuration.
- Applies similar settings as LPT1 to LPT2 device.
- Applies similar settings as LPT1 to LPT3 device.
- Enables and configures LPT4 device in a manner similar to others.
- Sets delay time before processes receive priority boosting.
- Manages memory allocation policies.
- Specifies default methods for DOS memory allocation.
- Defines menu option parameters.
- Sets color schemes for menus (can be emulated within DR-DOS).
- Specifies which menu block is default (emulatable in DR-DOS).
- Defines multiple menu blocks (emulatable within DR-DOS).
- Activates multitrack disk operation support.
- Continues processing CONFIG.SYS from a different file after loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default No () character used in Yes/No/Resume prompts.
- Controls whether keyboard [[Num Lock|Template:Keypress]] is enabled or disabled at startup.
- Executes commands conditionally based on the previous error code or return status, e.g., .
- Displays a message and waits for user keypress, similar to and in DR-DOS systems.
- Requires user confirmation upon encountering errors in CONFIG.SYS processing.
- Configures buffer sizes for LPT parallel ports.
- Enables conditional execution on PC-compatible hardware platforms.
- Sets parameters for priority scheduling mechanisms.
- Assigns priority levels for disk I/O operations programs.
- ; Changes default printer device driver from LPT1 to LPT3 or LPT4 as specified.
- ; Indicates whether DOS applications are permitted to run.
- ; Loads a user interface shell environment.
- ; Executes conditionally on IBM PS/1-compatible machines only.
- ; Executes conditionally on IBM PS/2-compatible machines only.
- ; Suppresses output sent to STDOUT display.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS files.
- Reserves a specific drive letter to prevent conflicts with local block device drivers.
- Determines the default character used for Resume () queries.
- Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH point, optionally passing back a return code.
- Specifies the amount of real mode memory available.
- Allows simultaneous loading of programs in the background during CONFIG.SYS execution.
- Indicates whether the first character of deleted filenames is stored in the FAT reserved area.
- Defines video mode settings under FreeDOS or screen access methods used by PTS-DOS.
- Controls the status of the keyboard Scroll Lock key, turning it on or off.
- Establishes environment variables for the session.
- Loads the command interpreter shell.
- Similar to SHELL but supports pre-allocating memory to load COMMAND.COM into HMA or UMBs, optimizing memory usage when using third-party shells.
- Sets keyboard modifier key states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines if files are closed automatically upon pressing Ctrl+Alt+Del.
- Skips the Power-On Self-Test (POST) during reboot.
- , STACKSIZE, STACKSHIGH
- Configure interrupt stack sizes or thread stacks across various DOS platforms, noting compatibility differences.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- PTS-DOS-specific options managing boot managers, alternative OS booting, system memory layout, and loading DOS components into UMBs for enhanced memory efficiency.
- , SWITCH, SWITCHES
- Define submenu blocks and enable conditional processing within CONFIG.SYS primarily in DOS and Novell DOS variants, with limited support in DR-DOS and FreeDOS.
- , SWAPPATH, THREADS, TIMESLICE
- OS/2-specific parameters controlling error log suppression, swap file locations, number of concurrent threads, and scheduler time slice durations.
- , TRACE
- Manages timeouts for CONFIG.SYS commands and enables single-step execution for debugging across DR-DOS, PTS-DOS, FreeDOS, and OS/2 environments.
- Additional entries cover system-level parameters such as TMPEXT (temporary file extensions), TRAPDUMP (error logging), SXFAKEHWFPU (FPU bug workaround), facilitating platform-specific optimization and error management.
UTemplate:NbndZ
- Assigns a specific segment for usage as Upper Memory Block (UMB) RAM by DOS.
- Configures the Upper Memory Block server settings.
- Defines address ranges designated as UMB RAM areas.
- Enables or disables verification of disk writes.
- Sets the DOS version string reported to applications.
- Configures VGA display status parameters.
- Specifies the current video mode in use.
- Determines whether virtual DMA functionality is permitted.
- Enables or disables processor Virtual Mode Extensions support.
- Configures VxD driver settings for Windows environments.
- Establishes system support parameters for Windows compatibility.
- Manages relocation of the Extended BIOS Data Area (EBDA).
- Enables conditional execution tailored for XT-compatible machines.
- Sets built-in Year 2000 (Y2K) compliance support options.
- Defines the default affirmative character used in prompt responses.
- Configures tracking behavior for file deletions.
Issues
Although it is possible for the system to boot without CONFIG.SYS or AUTOEXEC.BAT files present, these files are critical for comprehensive operating system customization and application compatibility. Any corruption or absence requires diagnostic efforts.
If a SHELL directive is missing from CONFIG.SYS or if the file itself is absent or damaged, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Earlier MS-DOS versions will fail to boot without this file. However, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later will prompt users to specify a command processor path. This recovery prompt also appears if the main command interpreter terminates unexpectedly or is exited intentionally, offering a limited shell replacement without needing a reboot.
Due to incompatibilities between MS-DOS version 7.0 and higher's COMMAND.COM and DR-DOS systems, DR-DOS version 7.02 and above restricts bypassing SHELL directives during skip/trace/step operations. This measure improves stability in dual-boot configurations. When no SHELL directive is detected during skip processing, users are prompted to input a valid shell filename before COMMAND.COM loads.
CONFIG.SYS file size restrictions differ among operating systems: MS-DOS/PC DOS enforces limits typically up to several kilobytes (with some recent versions allowing up to 64 KB), whereas DR-DOS imposes no practical size constraints due to its line-by-line interpretation approach. MS-DOS preprocesses CONFIG.SYS by compiling it into a tokenized format before executing directives in a fixed sequence—device drivers first followed by TSRs. In contrast, DR-DOS processes directives sequentially as they appear, providing granular control over loading order through DEVICE and INSTALL commands. This flexibility aids in resolving conflicts between drivers and TSRs and supports conditional execution based on hardware presence or runtime conditions. The INSTALL directive further allows integration of non-resident software modules within CONFIG.SYS processing flow.
Earlier MS-DOS editions limited the length of SHELL command lines to 31 characters, which was expanded up to 128 characters in later releases. DR-DOS supports command lines up to 255 characters. It is important to note 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/Windows environment, the files CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS to enable dual boot functionality between Windows 9x and DOS. Selecting the DOS boot option temporarily reverts these files to their original names, while the Windows 95 versions are preserved under the names CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02 or 7.03 coexists with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT files remain intact. Instead, DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT as its configuration scripts during startup.
OS/2 and Windows NT
OS/2 depends extensively on CONFIG.SYS for loading device drivers and establishing environment variables prior to launching its graphical user interface. Within the OS/2 subsystem of Windows NT, however, these CONFIG.SYS configurations are maintained in the system registry rather than in a traditional file.
There are numerous undocumented CONFIG.SYS commands specific to OS/2. This configuration file continues to be employed by 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 directives (archived)
- Caldera’s CONFIG.SYS Command Reference (archived) – summary of DR-DOS 7 directives
- Details on FreeDOS CONFIG.SYS commands
- PTS-DOS 2000 Pro User Guide featuring CONFIG.SYS directives (archived)
- Unofficial German-language PTS-DOS FAQ (PTS/FAQD) including extra CONFIG.SYS directives (archived)