Jump to content

AVAILDEV (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article AVAILDEV (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 2025
CONFIG.SYS
Company typeConfiguration file
IndustryOperating systems
Founded1983
ProductsConfiguration commands for DOS and OS/2 startup

CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text ASCII document contains configuration commands interpreted by the operating system's DOS BIOS—commonly found in IBMBIO.COM or IO.SYS—during the startup process. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS are used to set up DOS for hardware devices, software applications, and memory handling. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified on the SHELL line; if none is defined, it defaults to COMMAND.COM, which then executes commands from AUTOEXEC.BAT.

Typically, this file includes name=value pairs that define adjustable 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 employ alternative configuration filenames that take precedence over CONFIG.SYS:

- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS), with settings saved in CCONFIG.BIN, managed through CONFIG.EXE. - In DR DOS 3.31 and subsequent releases—including PalmDOS, Novell DOS, and OpenDOS—the DCONFIG.SYS file overrides CONFIG.SYS, commonly employed in disk compression or multi-boot environments. - Versions like OpenDOS 7.01 and DR-OpenDOS 7.02 also recognize ODCONFIG.SYS, while some DR-DOS variants look for DRCONFIG.SYS. - Starting with DR DOS 6.0, users can alter default system file extensions using SYS /DR:ext, allowing multiple system file sets to coexist and be selected via boot loaders such as LOADER. - The SHELL directive supports specifying alternative AUTOEXEC.BAT files and extensions, a feature also available in 4DOS. - DR-DOS provides a CHAIN=filespec command to continue processing another configuration file, optionally jumping to specific labels, thereby enhancing setup flexibility. - From DR-DOS 7.03 onward, the SYS /A command copies CONFIG.SYS and AUTOEXEC.BAT along with other system files.

Additional DOS derivatives have implemented comparable features: - FDCONFIG.SYS in FreeDOS - RXCONFIG.SYS in RxDOS - CONFIG.PTS in PTS-DOS

In Windows 95 and 98—which are based on DOS—both CONFIG.SYS and AUTOEXEC.BAT files exist but are generally empty. Windows Me does not process CONFIG.SYS during boot; instead, it loads environment variables directly from the Windows Registry.

Within FlexOS, CONFIG.SYS is a binary-format file that specifies resource managers and device drivers to be loaded at startup.

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>

:;*?!

Marks labels within CONFIG.SYS used as jump destinations for , , , and commands.
Functions similarly to , but also allows inline comments after other directives. (Note: MS-DOS/PC DOS does not ignore inline comments enclosed in double quotes.)
Used at the start of inline comments alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS lacks customizable messages but supports conditional execution with boot menus.) DOS version 6.0 and later offer comparable functionality by appending after commands.
Forces unconditional execution of the following CONFIG.SYS directive.

ATemplate:NbndC

Determines whether programs may be terminated upon encountering errors.
Sets which drives record file access timestamps within FAT file systems.
Enables conditional commands on AT-compatible hardware.
Boot loader management.
Adjusts the level of detail for error message output.
Alters the default serial port driver for the AUX device (COM1 through COM4).
Prevents access to character devices located outside the virtual \DEV directory.
Loads a fundamental device driver into system memory.
Produces a beep sound even when notification sounds are disabled.
Defines which operating system should boot next.
Enables or disables extended Ctrl+C interrupt checking.
Sets the quantity of disk buffers allocated by the system.
Similar to BUFFERS but allocates buffers in HMA or UMB areas.
, , (Exclusive to Embedded DOS 6-XL)
Controls cache block allocation and flushing intervals.
Loads programs listed in CONFIG.SYS, executing them in the foreground and pausing further processing until completion.
(Applicable from DR-DOS 7.02 onwards)
Adjusts keyboard Caps Lock state.
, (PTS-DOS exclusive)
Defines CD-ROM driver name and buffer quantity.
(From DR DOS 5.0 and Embedded DOS)
Continues CONFIG.SYS parsing within a new file or label.
, , , etc.
Various system configurations including clock type, screen clearing, and OEM codepages (primarily OS/2 or PTS-DOS specific).
, ..., (DR-DOS 7.02+)
Sets parameters for serial port quantity, sequence, I/O addresses, and timeout durations.
, (DOS 4.0+ and RxDOS)
Redefines inline comment characters or causes subsequent lines to be ignored.
, (DOS 3.0+, DR DOS 3.31+, OS/2)
Activates and configures international language support.
, (DR DOS 6.0+)
Positions the cursor for configuration menu displays.
, (MS-DOS 4.00-4.01)
Supports codepage switching (not recognized under DR-DOS 7.02+).
CPU-specific commands (PTS-DOS only)
Executes conditionally based on CPU model and speed, such as CPU88, CPU286, CPU386, CPU486.

DTemplate:NbndF

Controls relocation of drive descriptor tables within memory.
Defines the memory segment limit up to which multi-sector disk data deblocking is permitted.
Activates built-in debugger functionality.
Boot loader management utility.
Loads a device driver into system memory.
Loads a device driver into upper memory blocks (equivalent to in DRDOS 5.0).
Sets country and codepage parameters for keyboard, screen, and printer devices.
Configures cache memory size allocations.
Determines floppy disk compatibility mode settings.
Specifies the display font used by the system.
Controls loading of DOS into high memory area and utilization of upper memory blocks (similar to in DRDOS 5.0).
Indicates loading of DOS tables (, , , etc.) into upper memory regions.
Designates an alternative directory path for DOS files.
Defines search paths for data file retrieval.
Specifies physical characteristics of disk drives connected to the system.
Sets parameters for drives not recognized by default configurations.
Refer to .
Enables error logging via PDUMP.nnn files and selects target drive for storage.
Outputs a message on the display screen.
Displays messages incorporating ANSI escape codes for formatting.
Determines whether extra validation checks are performed when launching programs.
Assigns an assumed error or return code following execution.
Configures A20 line gate state during program startup sequences.
Terminates CONFIG.SYS processing before reaching file end, except where certain directives require continuation.
Sets size of hash table used for accelerated file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
Specifies number of cached File Control Blocks available simultaneously (shares buffer space with FILES under DR-DOS).
Functions like FCBS but allocates cached blocks into upper memory areas.
Boot loader management utility.
Defines maximum number of files that can be opened concurrently.
Like FILES but explicitly loads file handles into upper memory segments.
Facilitates execution of designated CONFIG.SYS subsections (see IGNORE directive).

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 a designated label.
Initiates nested CONFIG.SYS processing at a specified label, then returns to the prior location.
Refer to , , or for additional details.
Consult for further information.
See for relevant guidance.
Refer to or as applicable.
See or for related commands.
Consult for more information.
Loads TSR programs after relocating the DOS data segment; compare with INSTCDEX.
Refer to , , or for further context.
See for additional instructions.
Consult or as needed.
Activates console and command line history buffers and extends pattern search capabilities.
Defines the address of the High Memory Area (HMA) segment.
Configures energy-saving mode via HLT instruction.
Enables scanning of the boot sector for viruses.
Loads installable file system drivers.
Prevents execution of specific CONFIG.SYS subsections.
Permits designated programs to execute at ring 2, allowing direct hardware I/O access.
Incorporates directives from another menu block (simulated through GOSUB/RETURN in DR-DOS).
Sets status of keyboard Insert mode.
Installs TSR utilities into memory.
Loads TSRs into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
Installs TSRs following relocation of DOS data segment (see also INSTCDEX).
(Embedded DOS 6-XL only)
Adjusts PIC interrupt priorities to assign highest priority to a specified IRQ number.

KTemplate:NbndM

Defines keyboard layout configuration.
Specifies the relocated keyboard buffer's memory address.
Sets the maximum number of accessible drives available to the system.
Similar to LASTDRIVE but additionally loads the Current Directory Structure (CDS) into upper memory.
Lists directories searched for DLL files.
Manages compatibility settings for legacy applications.
Sets the number of file locks allowed concurrently.
Enables boot logo support, allowing startup messages when using PTS-DOS boot manager.
Configures count, order, I/O port address, and timeout parameters for LPT1 device.
Defines count, order, I/O port address, and timeout for LPT2 device similarly.
Specifies count, order, I/O port address, and timeout settings for LPT3 device.
Enables and configures LPT4 device with similar parameters.
Determines wait duration before elevating process priority.
Adjusts memory allocation methodology used by DOS.
Specifies default strategy for DOS memory allocation routines.
Defines menu options available in CONFIG.SYS interface.
Specifies color schemes for menus (emulatable in DR-DOS).
Sets default menu block selection (emulatable in DR-DOS).
Defines individual menu blocks (emulatable in DR-DOS).
Toggles multitrack disk operation support on or off.
Continues processing CONFIG.SYS directives from a new file after loading a driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Sets default response character for No () in Yes/No/Resume prompts.
Determines whether keyboard [[Num Lock|Template:Keypress]] is activated or deactivated by default.
Executes commands conditionally based on most recent error code, such as .
Displays a text 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 LPT1, LPT2, and LPT3 parallel ports.
Executes commands conditionally on PC-compatible hardware platforms.
Sets priority level for task scheduler operations.
Assigns priority to disk I/O related programs within DOS environment.
Changes default printer device driver among LPT1 through LPT4 options.
Specifies whether DOS applications are permitted to run under current configuration.
Loads user interface components during startup sequence.
Executes commands conditionally on IBM PS/1-compatible systems only.
Executes commands conditionally on IBM PS/2-compatible systems only.
Suppresses output sent to standard output (STDOUT) display.

RTemplate:NbndT

Enables automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS.
Allocates a drive letter for local block device drivers.
Sets the default Resume () response character for Yes/No/Resume prompts.
Returns nested CONFIG.SYS execution to the previous GOSUB or SWITCH point, optionally with a return code.
Specifies the size of real mode memory.
Initiates concurrent loading of programs in CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
Controls whether the first character of deleted files is preserved in the FAT reserved region.
Defines video mode settings (FreeDOS) or screen access methods (PTS-DOS).
Configures the Scroll Lock key status on the keyboard as enabled or disabled.
Establishes environment variables.
Loads the command interpreter shell.
Similar to SHELL but supports preloading COMMAND.COM into HMA or UMBs to optimize memory usage with third-party shells.
Specifies keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Determines if files close automatically when Ctrl+Alt+Del is pressed.
Skips POST during system reboot.
, STACKSIZE, STACKSHIGH
Adjust hardware interrupt stack sizes and buffer locations across various DOS platforms for enhanced system efficiency.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
Parameters in PTS-DOS that manage boot sequence, memory allocation strategies, and loading procedures to increase flexibility.
, SWITCH, SWITCHES
Facilitate conditional execution and nested processing within CONFIG.SYS based on key inputs or options for sophisticated configuration control.
, SWAPPATH
OS/2 options specifying swap file locations and error logging paths to improve system management and reliability.
, THREADS, TIMESLICE
OS/2 settings that fine-tune floating-point unit fixes, thread concurrency, and scheduler time slices to boost multitasking performance.
, TRACE, TRACEBUF
Control single-step execution timing and logging buffers across DR-DOS, PTS-DOS, and OS/2 environments to aid debugging and system monitoring.
, TRAPDUMP
Defines temporary file extensions (PTS-DOS) and detailed error log configurations (OS/2) supporting maintenance and troubleshooting activities.

UTemplate:NbndZ

Assigns a specific memory segment for use as an Upper Memory Block (UMB) in DOS.
Configures the UMB server settings.
Defines address ranges allocated for UMB RAM areas.
Enables or disables verification of disk writes.
Specifies the reported DOS version number.
Sets VGA display enablement status.
Determines current video mode, analogous to FreeDOS's SCREEN directive.
Activates virtual DMA capabilities.
Manages processor Virtual Mode Extensions (VME) settings.
Configures VxD driver parameters for Windows environments.
Enables system support features for Windows operation.
Handles relocation of the Extended BIOS Data Area (EBDA).
Executes conditionally on XT-compatible hardware systems.
Configures Year 2000 compliance support settings.
Sets the default affirmative character used in prompts.
Controls tracking of file deletions.

Issues

Although it is possible for the system to boot without CONFIG.SYS or AUTOEXEC.BAT files present, these are crucial for comprehensive customization and specifying required software. Corruption or damage to these files necessitates troubleshooting efforts.

If SHELL is not specified in CONFIG.SYS or if this file is missing or corrupted, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. MS-DOS versions prior to 6.0 will fail to start if COMMAND.COM cannot be found. From MS-DOS 6.0/PC DOS 6.1 onward, as well as Novell DOS 7 and later versions, users are prompted to provide a path to a command processor when COMMAND.COM is absent or fails to load. This prompt also offers limited ability to replace the runtime shell without rebooting.

Due to incompatibilities between MS-DOS 7.x's COMMAND.COM and DR-DOS systems, DR-DOS versions 7.02 and above prevent bypassing SHELL directives during skip, trace, or step operations to avoid operational conflicts. Recovery options include prompting users for a valid shell filename before attempting to load COMMAND.COM.

CONFIG.SYS file size limitations differ depending on the operating system version—MS-DOS and PC DOS impose limits ranging from a few kilobytes up to 64 KB in later releases. In contrast, DR-DOS does not enforce a practical size restriction because it processes CONFIG.SYS line by line. This approach grants DR-DOS users enhanced control over driver and TSR loading sequences via DEVICE and INSTALL directives, facilitating resolution of load order conflicts and integration of temporary utilities.

Earlier MS-DOS iterations restricted SHELL command line lengths to a maximum of 31 characters. Later versions extended this limit up to 128 characters, while DR-DOS supports command lines as long as 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 preexisting DOS or Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual boot functionality between Windows 9x and DOS. Selecting to boot into DOS temporarily reinstates these files under their original names. Additionally, backup copies of Windows 95 configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.

In setups where Caldera DR-DOS versions 7.02 or 7.03 coexist with Windows 95, the CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain untouched. Instead, DR-DOS employs its own startup scripts named DCONFIG.SYS and AUTODOS7.BAT.

OS/2 / Windows NT

OS/2 relies heavily on CONFIG.SYS for configuring system parameters, loading device drivers, and setting up the environment before the graphical user interface initializes.

Within the OS/2 subsystem of Windows NT, the contents traditionally found in CONFIG.SYS are maintained within the system registry rather than as a physical file.

OS/2 supports a wide range of undocumented CONFIG.SYS commands, highlighting the complexity of its configuration process.

CONFIG.SYS continues to play a vital role in OS/2-based operating systems such as eComStation and ArcaOS.

See also

External links

  • Information on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
  • Archived documentation of Windows 98 / MS-DOS 7.10 CONFIG.SYS commands
  • Caldera's archived CONFIG.SYS command reference for DR-DOS 7
  • Overview of FreeDOS CONFIG.SYS directives
  • PTS-DOS 2000 Pro manual detailing PTS-DOS CONFIG.SYS options
  • German-language unofficial PTS-DOS FAQ (2004) including additional CONFIG.SYS commands