Jump to content

FILESHIGH (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article FILESHIGH (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 20251 source
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983
Headquarters
N/A
ProductsConfiguration for DOS and OS/2 operating systems

CONFIG.SYS serves as the essential configuration file for DOS and OS/2 operating system platforms. This plain text file, written in ASCII, holds setup instructions that the operating system's DOS BIOS—usually found in IBMBIO.COM or IO.SYS—interprets during the boot sequence. The CONFIG.SYS file was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS are responsible for configuring DOS hardware devices, software applications, and memory management utilities. Once CONFIG.SYS has been processed, DOS launches the command interpreter indicated by the SHELL directive; if none is specified, it defaults to COMMAND.COM, which then executes the commands listed in the AUTOEXEC.BAT file.

Typically, CONFIG.SYS contains name=value pairs that define system parameters or load device drivers and terminate-and-stay-resident (TSR) programs. This configuration file is located in the root directory of the system's boot partition.

The same filename convention is also employed by (DCP), an MS-DOS variant developed by the former East German manufacturer VEB Robotron.

Certain DOS variants allow alternative filenames to override CONFIG.SYS:

Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 search for CCONFIG.SYS instead. Multiuser DOS may alternatively use CCONFIG.INI, while REAL/32 looks for MCONFIG.SYS. These platforms support supplementary configuration data stored in binary files such as CCONFIG.BIN, which are generally edited using CONFIG.EXE.

In environments like DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS versions 7.02 and later, DCONFIG.SYS takes priority over CONFIG.SYS. This mechanism facilitates disk compression scenarios where drive letters are reassigned following the loading of compression drivers and also assists multi-boot setups.

Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 recognize ODCONFIG.SYS; some DR-DOS 7.02+ releases check for DRCONFIG.SYS. Starting with DR DOS 6.0, the SYS /DR:ext command enables customization of default file extensions to maintain multiple system files concurrently within a single root directory, selectable through boot loaders such as LOADER included with Multiuser DOS and DR-DOS 7.x.

The SHELL command supports specifying alternate AUTOEXEC.BAT files using the /P[:filename.ext] option; COMMAND.COM accepts extensions other than .BAT—a capability also present in 4DOS.

From version 6.0 onward, DR-DOS introduces CHAIN=filespec, allowing continuation of configuration processing from another file anywhere on the boot volume; DR-DOS 7.02+ extends this with an optional label argument to jump to specific sections within those files.

With DR-DOS 7.03 and later versions, the SYS /A option copies CONFIG.SYS and AUTOEXEC.BAT alongside system files during setup.

FreeDOS implements a comparable feature through FDCONFIG.SYS, RxDOS version 7.24 and above uses RXCONFIG.SYS, while PTS-DOS utilizes CONFIG.PTS.

Windows 95 and Windows 98, which are built upon DOS foundations, retain CONFIG.SYS and AUTOEXEC.BAT on their boot drives but typically leave them empty. Conversely, Windows Me does not process CONFIG.SYS at startup; instead, it retrieves environment variables directly from the Windows Registry at HKLM\System\CurrentControlSet\Control\SessionManager\Environment.

In contrast, under FlexOS, CONFIG.SYS exists as a binary file that specifies resource managers along with 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, serving as jump destinations for , , , , and commands.
Functions similarly to , but is also suitable for inline comments following other CONFIG.SYS instructions. Note that in MS-DOS/PC DOS, inline comments aren't ignored if enclosed in double quotes.
Used at the beginning of inline comments alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS commands. FreeDOS supports optional conditions with boot menus but lacks optional message functionality. DOS 6.0 and later provide a comparable feature by appending after directives (e.g., ).
Causes the immediate execution of the next CONFIG.SYS command without conditions.

ATemplate:NbndC

Determines whether programs can be interrupted upon encountering errors.
Sets which drives record file access timestamps within FAT file systems.
Enables conditional execution specifically on AT-compatible machines.
Functions as a boot manager utility.
Adjusts the verbosity level of error message displays.
Alters the default serial device driver assignment (from COM1: through COM4:) for the AUX device.
Prevents access to character devices outside the phantom \DEV directory.
Loads core device drivers into system memory.
Produces an audible beep even if notification sounds are disabled by switches.
Defines the operating system that will boot next.
Enables or disables extended Ctrl+C interrupt checking.
Specifies how many disk buffers to allocate for performance optimization.
Functions similarly to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
, , (Embedded DOS 6-XL only)
Sets cache size, time-to-live, and flushing intervals.
Executes programs within CONFIG.SYS, pausing further processing until they return control.
(DR-DOS 7.02+)
Controls keyboard Caps Lock state.
, (PTS-DOS only)
Defines CD-ROM driver names and buffer quantities.
(DR DOS 5.0+, Embedded DOS)
Continues processing CONFIG.SYS from a different file or label.
, , and other commands adjust system behavior or appearance, primarily in PTS-DOS or DR-DOS environments.
(OS/2 only)
Specifies OEM codepages for character encoding.
, ..., (DR-DOS 7.02+)
Configures count, sequence, I/O address, and timeout parameters for COM ports.
, (DOS 4.0+, RxDOS) Allows redefinition of inline comment characters or ignoring certain lines.

Additional commands handle internationalization support (COUNTRY), cursor positioning (CPOS), CPU-specific conditional execution directives (CPU88, CPU386, etc.), and hardware settings aimed at optimizing compatibility and performance.


DTemplate:NbndF

Adjusts relocation of drive descriptor tables in memory.
Defines the memory segment address used for multi-sector disk data deblocking processes.
Activates internal debugging features within the system.
Serves as a boot manager component.
Loads device drivers into conventional memory space.
Loads device drivers into upper memory areas (equivalent to in DR-DOS 5.0).
Configures country codes and codepages for keyboard, screen, and printer devices.
Sets sizes for cache memory allocation.
Specifies compatibility mode settings for floppy disk drives.
Determines which font is used on display devices.
Controls whether DOS loads into high memory and utilizes upper memory blocks.
Loads DOS internal tables such as BUFFERS, FCBS, FILES, LASTDRIVE, and STACKS into upper memory regions.
Assigns an alternate directory path for DOS system files.
Defines search paths used for locating data files.
Specifies physical parameters for disk drives.
Sets parameters applicable to unrecognized drive types.
Refer to .
Enables PDUMP.nnn error logging on a specified drive.
Displays standard messages on the screen during processing.
Shows messages including ANSI escape codes for enhanced formatting.
Applies additional verification checks when launching programs.
Assigns an assumed error or return code following commands.
Manages A20 gate state settings during program startup.
Terminates CONFIG.SYS processing early except for SWITCHES and SHELL commands.
Defines hash table size to accelerate file opening operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
Sets how many File Control Blocks (FCBs) can be cached simultaneously (shares buffer space with FILES in DR-DOS).
Explicitly loads FCBs into upper memory areas to optimize performance.
Acts as a boot manager feature.
Specifies maximum number of files that can be opened concurrently.
Explicitly loads file handles into upper memory segments.
Includes execution of specified CONFIG.SYS subsections via IGNORE command.

GTemplate:NbndI

Waits for a key press or timeout, then assigns the error level to the corresponding ASCII value (or 1024 if timed out).
Resumes CONFIG.SYS processing at the indicated label.
Continues nested CONFIG.SYS processing at a specified label, returning afterward to the previous point.
Refer to , , or for related information.
See also .
Consult .
See or for additional details.
Refer to or for further context.
Consult .
Loads a TSR program into memory following DOS data segment relocation. Compare with INSTCDEX.
See , , or for related commands.
Refer to .
See or for more information.
Activates console and command line history buffers with advanced pattern searching capabilities.
Defines the address of the High Memory Area (HMA) segment.
Configures HLT-based power-saving features.
Determines whether the system scans for boot sector viruses.
Loads installable file system drivers.
Prevents execution of designated CONFIG.SYS subsections.
Permits selected programs to operate at ring 2, enabling 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 a TSR program into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
Loads a TSR program after relocating the DOS data segment. Compare with INSTCDEX.
Adjusts PIC interrupt priorities by assigning highest priority to the specified interrupt number.

KTemplate:NbndM

Defines the keyboard layout configuration.
Sets the address for the relocated keyboard buffer.
Specifies the maximum number of accessible drive letters.
Functions like LASTDRIVE but additionally loads the Current Directory Structure into upper memory.
Lists search paths for DLL files.
Manages loading of legacy applications.
Defines the count of file locks allowed.
Configures boot logo display when using PTS-DOS boot manager.
Specifies parameters including count, sequence, I/O address, and timeout for LPT1 device configuration.
Provides similar setup options for LPT2 device.
Configures LPT3 device with comparable parameters.
Enables and sets up LPT4 device functionality.
Sets delay time before increasing process priority level.
Controls strategy for memory allocation management.
Determines default DOS memory allocation methodology.
Defines menu option entries.
Sets color schemes for menus (emulatable in DR-DOS).
Specifies default menu block selection (can be emulated in DR-DOS).
Defines individual menu blocks (emulatable in DR-DOS).
Enables multitrack disk access operations.
Continues CONFIG.SYS processing in a new file after loading a device driver and setting the %NEWFILE% environment variable.

NTemplate:NbndQ

Sets default No () character used in Yes/No/Resume prompts.
Controls keyboard [[Num Lock|Template:Keypress]] status, enabling or disabling it on startup.
Executes commands conditionally based on the last error code, such as .
Displays messages and waits for key input, similar to and commands in DR-DOS environments.
Requires user confirmation when errors occur during CONFIG.SYS processing.
Configures buffer sizes allocated to LPT ports.
Allows conditional execution on PC-compatible systems only.
Configures system priority scheduler behavior.
Sets priority levels specifically for disk I/O applications.
Changes default printer driver assignment (e.g., from LPT1 to LPT3 or LPT4).
Determines whether DOS applications are permitted to run on the system.
Loads a user interface shell environment.
Enables conditional execution on IBM PS/1-compatible hardware platforms.
Enables conditional execution on IBM PS/2-compatible hardware platforms.
Silences output directed to STDOUT.

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS files.
Allocates a drive letter for local block device drivers.
Sets the default character for the Resume () prompt.
Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH location, optionally providing a return code.
Defines the size of available real mode memory.
Enables simultaneous loading of programs in CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
Saves the initial character of deleted files into the FAT reserved area.
Determines video mode settings (FreeDOS) or screen access methods (PTS-DOS).
Controls the status of the keyboard Scroll Lock key, turning it on or off.
Establishes environment variables.
Loads the command interpreter shell.
Functions like SHELL but accepts a SIZE parameter to load COMMAND.COM into HMA or UMBs, improving memory efficiency 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 upon pressing Ctrl+Alt+Del.
Indicates if POST should be bypassed during reboot.
Serves as a compatibility placeholder due to reentrant design in DR DOS versions 3.31 through 6.0.
Defines the number of stacks allocated for hardware interrupts.
Sets the default stack size for newly created threads.
Similar to STACKS but loads buffers into upper memory blocks (UMB).
Manages boot manager settings.
Reserved for internal system use directives.
Controls behavior of the XMS A20 gate.
Defines submenu blocks, which can be emulated under DR-DOS using CLS, ECHO, and SWITCH commands.
Logs error information to a drive instead of displaying pop-up alerts.
Specifies the file path for swap file storage.
Allows conditional continuation of nested CONFIG.SYS processing based on key input, with RETURN returning control.[1]
Sets the system's default switch character, either '/' or '-'.
Defines special options affecting system behavior.
Enables a fix addressing an FPU rounding issue.
Specifies an alternative DOS OS filename used during booting.
Configures memory locations for DOS components.
Loads the system from an alternate disk area.
Sets the size of the dynamic system memory pool.
Loads DOS data and code into upper memory blocks.
Defines the number of concurrent threads supported.
;(DR-DOS 6.0+ and PTS-DOS): Configures timeout values for CONFIG.SYS commands such as SWITCH and GETKEY, including default responses.
;TIMESLICE (OS/2 only): Sets scheduler time slice durations.
;TMPEXT (PTS-DOS only): Specifies temporary file extensions.
;TRACE (DR-DOS 7.02+, PTS-DOS, OS/2): Enables or disables single-step execution of CONFIG.SYS and AUTOEXEC.BAT scripts.
;TRACEBUF (OS/2 only): Defines the size of the TRACE log buffer.
;TRAPDUMP (OS/2 3.0+): Records detailed error information logs.

UTemplate:NbndZ

Configures DOS to designate a specific segment as upper memory block (UMB) space.
Sets parameters for the UMB server operation.
Defines address ranges utilized as UMB RAM areas.
Enables or disables verification of disk write operations.
Specifies the DOS version string reported to applications.
Configures VGA display status settings.
Determines the current video mode in use.
Indicates whether virtual DMA is permitted.
Controls deactivation of processor Virtual Mode Extensions (VME).
Manages configuration for VxD drivers in Windows environments.
Adjusts system support settings for Windows operation.
Handles relocation settings for Extended BIOS Data Area (XBDA).
Allows conditional execution tailored for XT-compatible machines.
Enables built-in Year 2000 compliance support features.
Sets default character used for Yes responses in prompts.
Manages tracking of file deletions.

Issues

Although the system can initiate startup without CONFIG.SYS or AUTOEXEC.BAT, these files are crucial for comprehensive boot customization and meeting software prerequisites. If these files are corrupted or absent, diagnosing the issue becomes necessary.

In cases where CONFIG.SYS is missing a SHELL command or is damaged, DOS attempts to locate COMMAND.COM in the root directory. Older DOS versions will fail to boot if COMMAND.COM cannot be found, whereas newer versions will request the path to a command interpreter. This prompt also appears if the main shell terminates unexpectedly or is exited intentionally, providing an opportunity to substitute a limited shell during runtime.

The COMMAND.COM from MS-DOS 7.0 and later versions is not compatible with DR-DOS, which impacts configurations involving dual-booting. Starting with DR-DOS 7.02, skipping SHELL directives in skip, trace, or step modes is prevented to maintain system stability; users are prompted to enter valid shell filenames when these are missing.

CONFIG.SYS file size restrictions differ between systems: MS-DOS and PC DOS limit the file size to a few kilobytes (up to 64 KB), while DR-DOS does not impose a significant size constraint due to its line-by-line parsing method. This grants DR-DOS enhanced flexibility in managing driver and TSR loading sequences and allows dynamic control during runtime using DEVICE and INSTALL commands—beneficial for resolving conflicts or incorporating debugging utilities.

From MS-DOS/PC DOS versions 2.0 through 4.01, the maximum length of the SHELL line was restricted to 31 characters; this limit increased to 128 characters in later releases. DR-DOS supports up to 255 characters for this line. It should be noted that CONFIG.SYS directives do not accept long filenames.

Dual booting DOS and Windows 9x

When Windows 95 is installed over an existing DOS/Windows environment, the original CONFIG.SYS and AUTOEXEC.BAT files are renamed CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual boot functionality between Windows 9x and DOS. During a DOS-only startup, these renamed files temporarily revert to CONFIG.SYS and AUTOEXEC.BAT. Backup copies of Windows 95’s configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.

For systems running Caldera DR-DOS 7.02 or 7.03 alongside Windows 95, the default Windows CONFIG.SYS and AUTOEXEC.BAT remain unaltered. Instead, DR-DOS utilizes DCONFIG.SYS and AUTODOS7.BAT as its configuration scripts.

OS/2 / Windows NT

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

Within the OS/2 subsystem included in Windows NT, what OS/2 applications interpret as CONFIG.SYS is actually stored within the system registry.

There exist numerous 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

  • 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
  • Guide to FreeDOS CONFIG.SYS directives
  • PTS-DOS 2000 Pro User Manual including CONFIG.SYS commands (archived)
  • Unofficial German FAQ for PTS-DOS with CONFIG.SYS details (archived)
  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Paul_1997_OD-A3