Jump to content

FASTOPEN (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article FASTOPEN (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 20251 source
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software / Operating systems
Founded1983 (with DOS version 2.0)
ProductsConfiguration for DOS and OS/2 boot process

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 the operating system's DOS BIOS—commonly found in IBMBIO.COM or IO.SYS—interprets during the boot sequence. CONFIG.SYS made its debut with DOS version 2.0.

Usage

Directives within CONFIG.SYS are responsible for setting up DOS to manage devices, applications, and memory allocation. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified by the SHELL directive; if none is defined, it defaults to COMMAND.COM, which subsequently runs AUTOEXEC.BAT.

The configuration file predominantly contains name=value entries that either adjust system parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs) into memory.

In DOS systems, CONFIG.SYS is located in the root directory of the bootable drive.

This filename is also recognized by (DCP), an MS-DOS variant developed by East-German manufacturer VEB Robotron.

Various DOS derivatives examine alternate filenames that can supersede CONFIG.SYS:

- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 prioritize CCONFIG.SYS over CONFIG.SYS. Certain Multiuser DOS releases utilize CCONFIG.INI, whereas REAL/32 might prefer MCONFIG.SYS. These platforms often maintain supplementary configuration details within binary files like CCONFIG.BIN, typically administered through a utility named CONFIG.EXE.

- Starting with DR DOS 3.31 and continuing through versions including PalmDOS, Novell DOS, and DR-DOS 7.x, DCONFIG.SYS takes precedence over CONFIG.SYS. This arrangement facilitates multi-boot environments and disk compression setups where drive letter assignments shift following the loading of compression drivers.

- OpenDOS versions 7.01 and DR-OpenDOS 7.02 also check for ODCONFIG.SYS, while certain DR-DOS 7.02+ editions look for DRCONFIG.SYS.

- From DR DOS 6.0 onward, users can alter default system file extensions using the SYS /DR:ext command, enabling multiple sets of system files to coexist and be selected by boot loaders such as LOADER (employed in Multiuser DOS and DR-DOS 7.x). The SHELL command supports specifying alternative AUTOEXEC.BAT files with /P[:filename.ext], a feature also supported by 4DOS.

- The CHAIN=filespec directive allows DR-DOS to continue processing an additional configuration file, which may reside outside the root directory; versions 7.02 and later permit chaining to specific labeled sections within these files.

- Starting with DR-DOS 7.03, the SYS /A option enables copying both CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

Other DOS variants offer similar functionality:

- FDCONFIG.SYS is used by FreeDOS, - RXCONFIG.SYS is adopted by RxDOS version 7.24 and later, - CONFIG.PTS serves as the configuration file for PTS-DOS.

Within Windows 95 and Windows 98 boot drives, both CONFIG.SYS and AUTOEXEC.BAT are present in root directories but are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it relies on environment variables stored within the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

In contrast, under 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: <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 directives such as , , , and .
Functions similarly to , but is also utilized for inline comments after other CONFIG.SYS commands. (In MS-DOS/PC DOS, inline comments inside double quotes are not ignored.)
Introduces inline comments alongside the ; directive.
Prompts a Yes/No confirmation with an optional message before executing subsequent CONFIG.SYS commands.[1] (FreeDOS does not support optional messages but allows conditional execution through boot menus defined by and .) Starting with DOS 6.0, a comparable feature is available by appending after the directive, for example .
Forces unconditional execution of the next CONFIG.SYS command.

ATemplate:NbndC

Determines whether programs can be aborted upon encountering errors.
Sets which drives record file access timestamps within FAT file systems.
Enables conditional execution on AT-compatible hardware.
Defines a boot manager.
Adjusts verbosity levels for error messages.
Changes the default serial 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 audible alerts are disabled.
Specifies the operating system to boot next.
Enables or disables extended Ctrl+C checking.
Configures the quantity of disk buffers allocated.
Functions like BUFFERS but allocates buffers within HMA or UMB memory areas.
, CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
Controls cache block allocation and timing parameters.
Loads programs during CONFIG.SYS processing, running them in the foreground and pausing further processing until completion.
(DR-DOS 7.02+)
Sets the Caps Lock keyboard status.
, CDDBUFFERS (PTS-DOS only)
Adjusts CD-ROM driver settings.
(DR-DOS 5.0+, Embedded DOS)
Continues processing CONFIG.SYS commands from a new file or label.
, CLS, CODEPAGE (PTS-DOS or OS/2)
Manages system clock type, screen clearing behavior, and OEM codepage configurations.
, COLOR (PTS-DOS)
Configures CMOS RAM addresses and boot menu color schemes.
, COM2, COM3, COM4 (DR-DOS 7.02+)
Defines serial port count, order, I/O addresses, and timeout settings.
, COMMENT(S) (various DOS versions)
Specifies DMA buffers and handles inline comments.
, CPOS, CPSW (various DOS versions)
Supports internationalization, cursor positioning in menus, and codepage switching capabilities.
, CPU88, CPU86, CPU286, CPU386, CPU486 and variants (PTS-DOS and DR-DOS)
Executes conditionally based on CPU type or speed.

This segment summarizes essential CONFIG.SYS directives pertinent to system setup and tuning across multiple DOS variants including DR-DOS, PTS-DOS, FreeDOS, and OS/2.

DTemplate:NbndF

Adjusts relocation settings for drive descriptor tables.
Defines the memory segment limit up to which multi-sector disk data deblocking is permitted.
Activates internal debugger functionality.
Specifies a boot manager component.
Loads a device driver into conventional memory.
Loads a device driver into upper memory blocks (equivalent to in DRDOS 5.0).
Sets country and codepage information for keyboard, screen, and printer devices.
Configures cache memory sizes for improved performance.
Defines compatibility mode for floppy drives.
Determines the display font used by the system.
Specifies loading DOS into high memory area and/or using upper memory blocks (similar to in DRDOS 5.0).
Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory regions.
Provides an alternative path location for DOS files.
Defines search paths for data files accessed by the system.
Specifies physical characteristics of disk drives connected to the system.
Sets parameters for drives that are not recognized automatically by DOS.
See .
Enables error logging via PDUMP.nnn files on specified drives.
Displays a message on-screen during boot or processing stages.
Outputs messages containing ANSI escape sequences for enhanced formatting.
Determines whether additional validation checks occur when launching programs.
Sets an assumed error or return code following command execution.
Controls A20 gate state during program startup to manage memory addressing modes.
Terminates CONFIG.SYS processing prematurely except under certain SWITCHES and SHELL directive conditions.
Configures hash table size to accelerate file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
Sets maximum number of cached File Control Blocks open simultaneously (in DR-DOS FCBS share buffers with FILES).
Similar to FCBS but explicitly loads File Control Blocks into upper memory areas.
Specifies a boot manager component again here for completeness.
Defines how many files can be opened at once by the system.
Like FILES but loads file handles into upper memory explicitly for optimization purposes.
Includes execution of specified subsections within CONFIG.SYS files (see IGNORE directive).

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 specific label, then returns to the prior position.
Refer to , , or for additional details.
Consult for further information.
See for related commands.
Refer to or as applicable.
Consult or for more context.
See .
Loads a TSR program into memory after relocating the DOS data segment, functioning similarly to .
Refer to , , or for related operations.
See .
Consult or as needed.
Activates console and command line history buffers with advanced pattern searching capabilities.
Defines the address of the High Memory Area (HMA) segment.
Configures power-saving mode using HLT instruction.
Enables scanning for boot sector viruses.
Loads installable file system drivers.
Prevents execution of certain CONFIG.SYS subsections.
Permits designated programs to operate at ring 2, allowing direct hardware I/O access.
Incorporates directives from an alternate menu block, emulated by GOSUB/RETURN in DR-DOS environments.
Sets the status of keyboard Insert mode.
Installs a TSR program into memory.
Installs a TSR program into upper memory areas, equivalent to HIINSTALL in DR DOS 5.0.
Loads a TSR program after relocating the DOS data segment.
Rotates interrupt priorities in the PIC to elevate the priority of a specified IRQ.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the relocated keyboard buffer's memory address.
Specifies the maximum number of accessible drives.
Functions like LASTDRIVE but additionally loads the Current Directory Structure into upper memory.
Lists directories to search for DLL files.
Manages loading of legacy applications.
Determines the number of allowable file locks.
Configures boot logo display when using PTS-DOS boot manager.
Sets parameters such as count, sequence, I/O address, and timeout for the LPT1 device.
Applies LPT1 settings equivalently to LPT2 device.
Mirrors LPT1 settings for LPT3 device configuration.
Enables and configures LPT4 device similarly to other parallel ports.
Defines delay before elevating process priority level.
Adjusts memory allocation method used by DOS.
Sets default strategy for DOS memory allocation management.
Specifies menu option configurations.
Defines menu color schemes (can be emulated in DR-DOS).
Sets default menu block (emulatable within DR-DOS).
Establishes menu blocks (also emulatable in DR-DOS).
Enables multitrack disk drive operations support.
Continues processing CONFIG.SYS from an external file, optionally loading a device driver and setting the %NEWFILE% environment variable.

NTemplate:NbndQ

Sets default response character for No () in Yes/No/Resume prompts.
Configures keyboard Num Lock state on startup.
Executes conditionally based on the most recent error code, such as .
Displays a message and waits for key input, similar to and commands in DR-DOS systems.
Requires user confirmation when errors occur during CONFIG.SYS processing.
Adjusts buffer sizes for LPT1 through LPT3 devices.
Conditional execution targeting PC-compatible hardware platforms.
Sets scheduler priority levels for processes.
Assigns priority levels specifically for disk I/O applications.
Changes default printer device driver assignment among LPT1 to LPT4 ports.
Indicates whether DOS programs are permitted to run in the environment.
Loads a user interface shell program during startup.
Conditional execution on IBM PS/1-compatible systems only.
Conditional execution on IBM PS/2-compatible systems only.
Suppresses standard output display (STDOUT) during execution.

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS files.
Allocates drive letters for local block device drivers.
Establishes the default Resume () character used in command prompts.
Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH point, optionally passing a return code.
Defines the amount of real mode memory available.
Enables concurrent loading of programs in the background during CONFIG.SYS processing, functioning similarly to CALL or INSTALL commands under DOS.
Saves the initial character of deleted files in the File Allocation Table reserved area.
Determines video mode settings (for FreeDOS) or screen access methods (in PTS-DOS).
Sets the status of the keyboard’s Scroll Lock key.
Assigns environment variables.
Loads the command interpreter shell.
Functions like SHELL but allows specifying a size parameter to pre-allocate COMMAND.COM into HMA or UMBs, improving memory management with third-party shells.
Defines keyboard modifier key states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Specifies whether files should be closed upon pressing Ctrl+Alt+Del.
Skips the Power-On Self-Test (POST) during system reboot sequences.
Serves as a compatibility placeholder due to reentrant design in earlier DR DOS iterations.
Sets the number of hardware interrupt stacks.
Defines default stack size for newly created threads.
Similar to STACKS but loads buffers into upper memory areas.
Configures boot manager settings.
Reserved for internal system use.
Controls behavior of the XMS A20 gate.
Defines submenu blocks, emulated under DR-DOS environments.
Redirects error logs to a disk drive instead of displaying pop-up messages.
Specifies the path for swap file storage.
Allows conditional continuation of nested CONFIG.SYS processing at specific labels based on key presses, with RETURN reverting to previous location.
Sets the default system switch character (either '/' or '-').
Defines special option parameters.
Enables a fix for floating-point unit rounding errors.
Specifies an alternative DOS system boot filename.
Configures memory locations for DOS components.
Loads the operating system from an alternative disk sector or area.
Determines the size of the system memory pool used for dynamic allocations.
Loads DOS data and code into Upper Memory Blocks (UMBs).
Specifies the maximum number of concurrent threads allowed.
Sets timeout durations for CONFIG.SYS single-step operations and prompts, including default responses for Yes/No queries and SWITCH selections (PTS-DOS supports only timeout values).
Configures minimum and maximum scheduler time slice intervals.
Defines file extension for temporary files created by the system.
Enables or disables single-stepping through CONFIG.SYS and AUTOEXEC.BAT globally or locally (behavior varies under OS/2).
Specifies buffer size for TRACE log storage.
Records detailed error information during trap events.

UTemplate:NbndZ

Directs DOS to manage a specified segment as Upper Memory Block (UMB) memory.
Selects which UMB server is utilized by the system.
Defines address ranges designated as UMB RAM areas.
Turns disk write verification on or off.
Sets the DOS version string reported to applications.
Configures VGA display enablement status.
Indicates current video mode settings in use.
Determines whether virtual DMA is permitted for device operations.
Disables Virtual Mode Extensions (VME) on compatible processors.
Configures Virtual Device Driver (VxD) settings for Windows environments.
Sets overall Windows system support parameters.
Manages relocation of Extended BIOS Data Area (XBDA).
Enables conditional execution tailored for XT-compatible hardware platforms.
Activates built-in Year 2000 compliance support features.
Defines default character interpreted as Yes in prompt dialogs.
Configures tracking behavior for file deletions.

Challenges

While the system is capable of booting without CONFIG.SYS or AUTOEXEC.BAT, these files are crucial for tailoring the operating system and defining necessary software parameters. When these files become damaged or corrupted, troubleshooting is required.

If the SHELL directive is missing from CONFIG.SYS, 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 not found, whereas MS-DOS 6.0, PC DOS 6.1, Novell DOS 7, and later editions will prompt the user to specify a command processor path. This recovery prompt also appears if the primary shell terminates unexpectedly, enabling a limited runtime shell substitution without rebooting.

The COMMAND.COM from MS-DOS 7.0 and later is not compatible with DR-DOS but is typically stored in C:\ within dual-boot environments. Starting with DR-DOS 7.02, skipping or tracing boot modes no longer permit bypassing SHELL directives, enhancing system stability during boot failures. In skip mode, if no SHELL directive is detected, users must input a valid shell filename before COMMAND.COM loads.

Under MS-DOS/PC DOS, CONFIG.SYS file size is restricted to a few kilobytes (up to 64 KB in recent versions), whereas DR-DOS imposes no size limit due to its line-by-line parsing approach compared to MS-DOS's tokenized compilation method. This allows for meticulous management of driver and TSR loading order via DEVICE and INSTALL commands, facilitating conflict resolution and dynamic control based on hardware status or errors—features beneficial for debugging and integrating temporary software components.

MS-DOS/PC DOS versions 2.0 through 4.01 restrict the SHELL command line to 31 characters; subsequent versions increase this limit to 128 characters, while DR-DOS supports up to 255 characters. It should be noted that CONFIG.SYS directives do not accommodate long filenames.

Dual Booting DOS with Windows 9x

When Windows 95 is installed over an existing DOS/Windows configuration, the original CONFIG.SYS and AUTOEXEC.BAT files are renamed CONFIG.DOS and AUTOEXEC.DOS respectively. This renaming facilitates dual booting between Windows 9x and DOS environments. Booting into DOS temporarily restores these original filenames, while Windows 95’s versions are preserved as CONFIG.W40 and AUTOEXEC.W40 backups.

In systems where Caldera DR-DOS 7.02 or 7.03 coexists 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 and Windows NT

OS/2 depends extensively on CONFIG.SYS for setting up drivers and environment variables prior to loading its graphical user interface.

Within the OS/2 subsystem on Windows NT, the CONFIG.SYS file accessible by OS/2 applications is actually maintained within the Windows registry.

A variety of undocumented CONFIG.SYS directives are utilized by OS/2 systems.

CONFIG.SYS continues to be used by OS/2 successors such as eComStation and ArcaOS.

See also

External links

  • AUTOEXEC.BAT and CONFIG.SYS overview – Computer Hope (2017)
  • Explanation of Windows 98 / MS-DOS 7.10 CONFIG.SYS commands – Microsoft Support (archived)
  • Caldera’s CONFIG.SYS Command Reference (1998) – partial list of DR-DOS 7 directives
  • FreeDOS CONFIG.SYS directive documentation – FreeDOS Help
  • PTS-DOS 2000 Pro User Manual with CONFIG.SYS directives (partial) – Paragon Software
  • German-language unofficial PTS-DOS FAQ (2004) including additional CONFIG.SYS commands
  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Paul_2000_CONFIG