Jump to content

FCBSHIGH (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article FCBSHIGH (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 2025
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983
ProductsOperating system configuration

CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This ASCII text file contains setup instructions accessible to users, which are interpreted by the operating system's DOS BIOS—commonly found in IBMBIO.COM or IO.SYS—during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS configure DOS for hardware devices, software applications, and memory handling. Once CONFIG.SYS has been processed, DOS launches the command interpreter specified in the SHELL directive; if none is specified, it defaults to COMMAND.COM, which then executes commands from AUTOEXEC.BAT.

Typically, the file comprises name=value pairs that set configurable parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs) into memory.

In DOS environments, CONFIG.SYS 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 distributions recognize alternative filenames that override CONFIG.SYS:

- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 prioritize CCONFIG.SYS, enabling extended configuration data stored in CCONFIG.BIN and managed through CONFIG.EXE. - From version 3.31 onward, DR DOS, including variants like PalmDOS and Novell DOS, prefer DCONFIG.SYS, facilitating disk compression schemes and multi-boot configurations. - OpenDOS 7.01 and DR-OpenDOS 7.02 also accept ODCONFIG.SYS, while some DR-DOS releases check for DRCONFIG.SYS. - Starting with DR DOS 6.0, the SYS /DR:ext command permits renaming system files to maintain multiple concurrent configurations in the root directory, selectable via boot loaders such as LOADER. - The SHELL directive allows specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], and COMMAND.COM supports extensions other than .BAT. - DR-DOS includes a CHAIN=filespec command to continue processing another configuration file, optionally with labels to jump to specific sections. - Beginning with DR-DOS 7.03, the SYS /A command copies CONFIG.SYS and AUTOEXEC.BAT alongside system files.

In other systems, FDCONFIG.SYS is used by FreeDOS, RXCONFIG.SYS by RxDOS, and CONFIG.PTS by PTS-DOS.

Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directories of Windows 95 and Windows 98, though they are generally empty. In contrast, Windows Me does not parse CONFIG.SYS at startup, instead relying on environment variables stored within the Windows Registry.

Under the FlexOS operating system, CONFIG.SYS is a binary file specifying resource managers and device drivers loaded during system initialization.

Example

A 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>

:;*?!

Marks labels within CONFIG.SYS that can be targeted by , , , , and directives.
Functions like , allowing comments inline after other commands. (MS-DOS/PC DOS treats inline comments differently when enclosed in quotes.)
Also used to begin inline comments alongside ;.
Prompts for confirmation (Yes/No) before executing subsequent commands. (FreeDOS does not support custom messages but allows conditional execution through boot menus.) Starting with DOS 6.0, a similar effect can be achieved by appending after directives.
Executes the following directive without condition.

ATemplate:NbndC

Determines whether programs may be terminated upon encountering errors.
Sets drives to record file access timestamps within FAT file systems.
Enables conditional execution on AT-compatible hardware.
Boot loader management.
Adjusts the verbosity level of error messages.
Alters the default serial driver assigned to the AUX: device.
Prevents character devices from operating outside the phantom \DEV directory.
Loads the fundamental device driver into system memory.
Produces a beep sound even if audible alerts are disabled.
Defines the subsequent operating system to boot.
Enables or disables extended Ctrl+C detection.
Allocates a specified number of disk buffers.
Similar to BUFFERS, but places buffers in HMA or UMB memory regions.
, ,
Settings that regulate cache size, timeout durations, and flush intervals.
Executes programs within CONFIG.SYS and pauses further processing until completion.
Sets the Caps Lock state on the keyboard.
,
Specifies CD-ROM driver name and buffer configuration.
Continues processing CONFIG.SYS commands from another file or label.
, , , etc.
Various system parameters (primarily for PTS-DOS or OS/2 environments).
, ...,
Configures serial COM ports including quantity, sequence, I/O addresses, and timeout values.
, etc.
Defines inline comment characters or instructs line ignoring behavior (varies by DOS version).
, etc.
Activates internationalization support and sets codepage parameters.

[Additional entries omitted for brevity—focus remains on significant directives influencing system setup and compatibility.]

DTemplate:NbndF

Adjusts relocation settings for drive descriptor tables.
Specifies memory segment address used for multi-sector disk data deblocking operations.
Activates internal debugger functionality.
Boot loader management.
Loads device drivers into conventional memory.
Loads device drivers into upper memory blocks (referred to as in DRDOS 5.0).
Configures country and codepage information for keyboard, screen, and printer devices.
Sets cache memory sizes for improved performance.
Defines floppy disk compatibility mode settings.
Specifies display font selection.
Controls loading of DOS into high or upper memory areas.
Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory space.
Specifies an alternative directory path for DOS system files.
Defines search paths for data files used by the system.
Details physical parameters of disk drives for proper recognition.
Sets parameters for drives that are not natively recognized by the system.
Refer to .
Enables PDUMP.nnn error logging and designates target drive for logs.
Outputs a message on the display screen.
Displays messages including ANSI escape sequences for enhanced formatting.
Adds additional verification steps when launching programs.
Sets a default assumed error or return code value.
Controls A20 gate state during program startup sequences.
Terminates CONFIG.SYS processing prematurely under certain conditions (exceptions apply).
Defines hash table size to accelerate file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
Specifies the number of cached File Control Blocks that can be opened simultaneously (shares buffer with FILES under DR-DOS).
Functions like FCBS but explicitly loads these into upper memory segments.
Boot loader management utility.
Specifies maximum number of simultaneously open files allowed by the system.
Similar to FILES but loads file handles into upper memory areas for efficiency.
Executes designated subsections within CONFIG.SYS (refer to IGNORE directive).

GTemplate:NbndI

Waits for a key press or timeout, assigning the error level to the ASCII value of the key or 1024 if timed out.
Resumes CONFIG.SYS execution at a designated label.
Continues nested CONFIG.SYS processing at a specified label, then returns to the previous point.
Refer to , , or for further details.
Consult for additional information.
See for related commands.
Refer to or for more context.
See or for related usage.
Consult for further reference.
Loads a TSR program into memory similar to , but after relocating the DOS data segment. Compare with INSTCDEX.
See , , or for comparable functions.
Refer to for additional options.
See or for related features.
Activates console and command line history buffers with enhanced pattern search capabilities.
Specifies the memory address of the High Memory Area (HMA) segment.
Configures energy-saving mode using the HLT instruction.
Determines whether to perform boot sector virus checks.
Loads file systems that can be installed dynamically.
Prevents execution of certain CONFIG.SYS subsections as specified.
Permits designated programs to operate at CPU ring 2, enabling direct hardware I/O access.
Incorporates directives from another menu block, emulated 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, functioning like HIINSTALL in DR DOS 5.0.
Loads a TSR program following relocation of the DOS data segment. Compare with INSTCDEX.
Adjusts PIC interrupt priorities, assigning the highest priority to a specified IRQ.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the address of the relocated keyboard buffer.
Determines the maximum number of accessible drives.
Similar to LASTDRIVE but also loads the Current Directory Structure into upper memory.
Lists directories searched for DLL files.
Handles compatibility settings for legacy applications.
Configures the number of allowable file locks.
Controls boot logo display when using PTS-DOS boot manager.
Specifies parameters such as count, logical sequence, I/O port address, and timeout for the LPT1 device.
Mirrors LPT1 settings for LPT2 device configuration.
Applies LPT1 parameters to LPT3 device setup.
Enables and configures an LPT4 device similarly to previous LPT ports.
Sets delay time before increasing process priority level.
Defines memory allocation strategies used by DOS.
Specifies default methods for allocating DOS memory resources.
Establishes menu option definitions.
Configures menu color schemes, which can be simulated via ECHO in DR-DOS systems.
Sets the default menu block, with emulation possible in DR-DOS environments.
Defines individual menu blocks, also emulatable in DR-DOS setups.
Enables operations involving multitrack disk handling.
Continues CONFIG.SYS processing using a new file after loading a device driver and sets the %NEWFILE% environment variable accordingly.

NTemplate:NbndQ

Defines the default "No" character used in Yes/No/Resume prompts.
Controls the status of the keyboard [[Num Lock|Template:Keypress]] key at startup.
Allows conditional execution based on the previous error code, such as .
Displays text and waits for a key press, analogous to and commands in DR-DOS systems.
Requires user confirmation when errors occur during CONFIG.SYS processing.
Sets buffer sizes utilized by LPT ports for printing operations.
Enables conditional execution on PC-compatible hardware platforms.
Configures process scheduler priority settings.
Assigns priority levels specifically for disk I/O tasks and programs.
Changes default printer device driver assignments between LPT1 through LPT4 ports.
Specifies whether DOS applications are permitted to execute under current settings.
Loads user interface components as configured.
Allows conditional execution on IBM PS/1-compatible machines only.
Enables conditional execution on IBM PS/2-compatible systems exclusively.
Suppresses display output sent to STDOUT.

RTemplate:NbndT

Activates automatic rebooting when errors occur.
Permits inclusion of comments within CONFIG.SYS.
Allocates drive letters for local block device drivers.
Establishes the default Resume () character displayed in prompts.
Enables returning from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally with a return code.
Sets the size of real mode memory.
Allows simultaneous loading of programs in CONFIG.SYS, functioning similarly to INSTALL under DOS.
Saves the initial character of deleted files within the FAT reserved area.
Defines video modes for FreeDOS or screen access methods for PTS-DOS.
Manages the keyboard Scroll Lock key state.
Assigns environment variables.
Loads the command interpreter shell.
Functions like SHELL but supports preloading COMMAND.COM into HMA or UMBs to minimize fragmentation.
Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines file closure behavior when Ctrl+Alt+Del is pressed.
Bypasses POST during system reboot.
, STACKSIZE, STACKSHIGH
Configure hardware interrupt stacks across multiple DOS versions and derivatives.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
PTS-DOS-specific commands managing boot options, memory layout, and system load locations.
Defines submenu blocks available in DOS 6.0 and later (unsupported by DR-DOS or FreeDOS).
, SWAPPATH, THREADS, TIMESLICE
OS/2 parameters controlling error logging, swap file paths, threading, and scheduler time slices.
, SWITCHES
Manage conditional nested CONFIG.SYS processing and special options across various DOS releases.
, TMPEXT
Set system switch characters ("/" or "-") and temporary file extensions across different DOS variants.
, TRACEBUF
Enable or disable single-step execution of CONFIG.SYS globally or locally with configurable log buffer sizes (varies between DOS and OS/2).
, SXFAKEHWFPU
OS/2 directives for enhanced error logging and fixes for FPU bugs.

UTemplate:NbndZ

Configures DOS to utilize a specified segment as Upper Memory Block (UMB) space.
Selects the UMB server implementation in use.
Defines address ranges designated as UMB RAM.
Enables or disables verification of disk writes.
Specifies the DOS version that programs will detect.
Controls VGA display status settings.
Sets current video mode similarly to FreeDOS's SCREEN command.
Determines whether virtual DMA is permitted.
Manages processor Virtual Mode Extensions (VME).
Configures VxD drivers for Windows environments.
Sets up system support parameters for Windows operation.
Adjusts relocation of the Extended BIOS Data Area (XBDA).
Allows conditional execution on XT-compatible hardware platforms.
Enables built-in Year 2000 compliance features.
Defines the default affirmative response character in Yes/No prompts.
Configures tracking of file deletions.

Issues

Although the system can initiate booting without CONFIG.SYS or AUTOEXEC.BAT files, these are crucial for fully customizing DOS startup to meet operating system and software requirements. Corruption or absence of these files necessitates troubleshooting.

In cases where 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 earlier than DOS 6.0 fail to boot if COMMAND.COM cannot be found. MS-DOS 6.0, PC DOS 6.1, and Novell DOS 7 and later prompt users to specify a command processor path if COMMAND.COM is unavailable, also offering limited runtime shell replacement without requiring a reboot.

COMMAND.COM from MS-DOS version 7.0 onward is incompatible with DR-DOS systems, which can complicate dual-boot configurations. Starting with DR-DOS 7.02, skipping SHELL directives during skip, trace, or step modes is prohibited. Users must provide a valid shell filename before COMMAND.COM is loaded from the root directory if no shell is found.

The maximum size allowed for CONFIG.SYS varies by operating system version—MS-DOS and PC DOS impose limits up to 64 KB, whereas DR-DOS does not enforce practical size restrictions due to its line-by-line interpretation method instead of tokenization. This design grants precise control over loading order for drivers and TSRs as well as dynamic configuration based on hardware detection, user input, error conditions, or return codes, enhancing adaptability in mission-critical business environments.

Earlier MS-DOS/PC DOS releases (versions 2.0 through 4.01) restrict SHELL line length to a maximum of 31 characters. Subsequent versions extend this limit to 128 characters, while DR-DOS accommodates up to 255 characters. Directives within CONFIG.SYS do not support long filenames.

Dual Booting DOS with Windows 9x

When Windows 95 is installed over a pre-existing DOS or Windows environment, the original CONFIG.SYS and AUTOEXEC.BAT files are renamed to CONFIG.DOS and AUTOEXEC.DOS to enable switching between Windows 9x and DOS. During the DOS startup process, these files are temporarily reverted to their initial filenames. Meanwhile, the Windows 95 versions are backed up under the names CONFIG.W40 and AUTOEXEC.W40.

In systems where Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT remain intact without modifications. Instead, DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT to manage its boot configuration.

OS/2 and Windows NT

OS/2 depends extensively on CONFIG.SYS for configuring system settings, loading drivers, and setting up the environment before its graphical user interface initiates.

Within the OS/2 subsystem of Windows NT, CONFIG.SYS was presented to OS/2 applications but was actually controlled through entries in the Windows registry.

There exist many undocumented CONFIG.SYS commands specific to OS/2.

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

See also

External links