BEEP (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | Configuration file for DOS and OS/2 |
CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds setup commands that the operating system’s DOS BIOS—usually found in IBMBIO.COM or IO.SYS—processes during system startup. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS are responsible for configuring DOS to manage hardware devices, software applications, and memory management utilities. Once CONFIG.SYS has been interpreted, DOS launches the command interpreter specified by the SHELL directive; if none is specified, it defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.
This configuration file predominantly consists of name=value pairs that set adjustable parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs). In DOS environments, CONFIG.SYS is located in the boot drive’s root directory.
The same filename is also utilized by (DCP), an MS-DOS variant developed by East-German manufacturer VEB Robotron.
Certain DOS versions prioritize alternative filenames over CONFIG.SYS:
Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS or CCONFIG.INI (for Multiuser DOS), as well as MCONFIG.SYS (in REAL/32). These platforms support supplementary configuration data stored in binary CCONFIG.BIN files, which are generally modified using CONFIG.EXE.
In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS versions 7.02 and above, DCONFIG.SYS overrides CONFIG.SYS. This arrangement facilitates disk compression and multi-boot setups. Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 check for ODCONFIG.SYS, while some DR-DOS 7.02+ editions look for DRCONFIG.SYS.
Starting with DR DOS 6.0, the SYS /DR:ext command enables customization of default file extensions to maintain multiple system file sets within a single root directory. These sets can be selected through boot loaders such as LOADER included with Multiuser DOS and DR-DOS 7.x releases. The SHELL directive allows specifying alternative AUTOEXEC.BAT files via /P[:filename.ext], a feature also supported by 4DOS. Moreover, DR-DOS offers a CHAIN=filespec command to continue processing another configuration file, optionally targeting specific sections using labels.
From DR-DOS 7.03 onward, the SYS /A option copies matching CONFIG.SYS and AUTOEXEC.BAT files alongside system files during setup.
FreeDOS employs FDCONFIG.SYS; RxDOS version 7.24 and later uses RXCONFIG.SYS; and PTS-DOS relies on CONFIG.PTS.
Both CONFIG.SYS and AUTOEXEC.BAT exist in the root directory of Windows 95 and Windows 98 boot drives but are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables directly from the Windows Registry (HKLM\System\CurrentControlSet\Control\SessionManager\Environment).
Within FlexOS, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded at boot time.
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>
:;*?!
- Establishes labels within CONFIG.SYS to serve as jump destinations for , , , , and commands.
- Functions similarly to , but additionally allows in-line comments after other directives. (Note: In MS-DOS/PC DOS, inline comments enclosed in double quotes are not disregarded.)
- Marks the start of in-line comments, providing an alternative to the ; directive.
- Prompts the user with a Yes/No confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS does not support custom messages but allows conditional processing with boot menus.)
- Executes the next CONFIG.SYS directive without conditions.
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-class machines.
- Acts as a boot manager.
- Controls the verbosity level of 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 fundamental device driver into memory.
- Produces a brief beep sound even when audible alerts are disabled.
- Designates the operating system to be booted next.
- Enables or disables extended Ctrl+C checking functionality.
- Specifies how many disk buffers should be allocated.
- Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
- Defines the maximum number of cache blocks allocated dynamically.
- Sets the maximum idle time before unused cache blocks return to the system pool.
- Sets the maximum delay before dirty cache blocks are flushed to disk.
- Loads programs within CONFIG.SYS and pauses further processing until they return control.
- Specifies the status of the keyboard Caps Lock key.
- Identifies the CD-ROM hardware driver name.
- Determines the number of buffers used for CD-ROM access.
- Continues processing CONFIG.SYS from a new file or label.
- Sets the type of system clock used.
- Clears the display screen.
- Specifies one or more OEM codepages.
- Defines CMOS RAM address location.
- Sets color schemes for boot menus.
- Configures parameters for COM1 device (I/O address, timeout).
- Configures parameters for COM2 device.
- Configures parameters for COM3 device.
- Configures parameters for COM4 device.
- Defines buffer allocation for DMA operations.
- Redefines lead characters for inline comments or causes line ignoring.
- Enables and configures internationalization support.
- Sets cursor position on configuration menus display.
- Supports switching between codepages.
- Specifies RAM refresh rate speed.
- Conditional execution limited to 8088 CPUs only.
- Conditional execution on 8088 and later CPUs only.
- Conditional execution restricted to 8086 CPUs only.
- Conditional execution on 8086/8088 and newer CPUs only.
- Conditional execution limited to 286 CPUs only.
- Conditional execution on 286 and newer CPUs only.
- Conditional execution on 386 and above CPUs only, e.g., CPU386 DEVICE=C:\DOS\EMM386.EXE
- Conditional execution on 386 and later CPUs only.
- Conditional execution restricted to 486 CPUs only.
- Conditional execution on 486 and later CPUs only.
DTemplate:NbndF
- Adjusts relocation settings for drive descriptor tables.
- Defines memory segment address used for multi-sector disk data deblocking operations.
- Activates internal debugger support features.
- Functions as a boot manager utility.
- Loads a specified device driver into memory space.
- Loads a device driver into upper memory area (equivalent to in DRDOS 5.0).
- Configures country-specific and codepage information for keyboard, screen, and printer devices (KBD, SCR, LPT).
- Sets cache memory size parameters.
- Defines floppy disk compatibility mode settings.
- Specifies font used for display output.
- Controls whether DOS loads into high memory or upper memory areas (similar functionality as in DRDOS 5.0).
- Determines if DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS load into upper memory area.
- Specifies an alternative directory path for DOS system files.
; Specifies search paths used for locating data files.
; Defines physical drive characteristics.
; Defines parameters for drives that are unrecognized by default.
; Reference .
; Enables drive support for PDUMP.nnn error logging files.
; Displays a message on screen.
; Displays messages including ANSI escape sequences.
; Adds extra validation checks when launching programs.
; Assigns assumed error or return codes for subsequent commands.
; Determines A20 gate state during program startup.
; Terminates CONFIG.SYS processing prematurely (except under some SWITCHES and SHELL scenarios).
; Sets hash table size aimed at accelerating file open operations (differs from MS-DOS FASTOPEN driver).
; Defines number of cached File Control Blocks open simultaneously (shares buffer with FILES under DR-DOS).
; Same as FCBS but loads FCBs into upper memory area.
; Boot manager function.
; Number of files allowed open concurrently.
; Same as FILES but loads file handles into upper memory area.
; Includes execution of specified CONFIG.SYS subsections (see IGNORE).
GTemplate:NbndI
- Pauses for a key press or timeout, returning an error level as the ASCII value or 1024 if timed out.
- Resumes processing of CONFIG.SYS at a designated label.
- Processes CONFIG.SYS at a specified label with nested calls, then returns to the prior point.
- Refer to , , or for additional details.
- Consult for further information.
- See for related commands.
- Refer to or for more details.
- See or for additional context.
- Refer to for further explanation.
- Loads a TSR program after relocating the DOS data segment, functioning similarly to .
- Consult , , or for related procedures.
- See for more information.
- Refer to or for further guidance.
- Activates console and command line history buffer with enhanced pattern searching capabilities.
- Defines the memory address of the HMA segment.
- Sets up HLT mode to conserve energy.
- Enables scanning of the boot sector for viruses.
- Loads file systems that are installable.
- Prevents execution of certain subsections within CONFIG.SYS.
- Permits specified applications to operate at ring 2, granting direct hardware I/O access.
- Incorporates directives from an alternate menu block (simulated by GOSUB/RETURN in DR-DOS).
- Adjusts the status of the keyboard Insert mode.
- Loads a TSR program into conventional memory.
- Loads a TSR program into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
- Installs a TSR program after relocating the DOS data segment.
- Rotates priorities of PIC interrupts to prioritize a designated IRQ line.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the relocated address of the keyboard buffer.
- Sets the maximum number of accessible drive letters.
- Similar to LASTDRIVE but also loads Current Directory Structure into upper memory area.
- Establishes search paths for DLL files.
- Manages compatibility settings for legacy applications.
- Determines the quantity of file locks permitted.
- Controls display of boot logo and integrates with PTS-DOS boot manager functionality.
- Configures parameters such as count, sequence, I/O port address, and timeout for LPT1 device.
- Applies identical settings as LPT1 but for LPT2 device configuration.
- Mirrors LPT1 configuration parameters but applies to LPT3 device.
- Enables and configures LPT4 device with similar options as previous LPT devices.
- Sets delay duration before elevating process priority level.
- Adjusts strategy for memory allocation management.
- Specifies default method used by DOS for allocating memory resources.
- Defines options available in system menus.
- Sets color schemes for menus (can be emulated via ECHO command in DR-DOS).
- Specifies default menu block (emulatable using TIMEOUT and SWITCH commands in DR-DOS).
- Defines multiple menu blocks (can be emulated through ECHO and SWITCH in DR-DOS).
- Activates multitrack disk operation support.
- Continues processing CONFIG.SYS commands from an external file, optionally loading a device driver and setting %NEWFILE%.
NTemplate:NbndQ
- Assigns default character used for "No" responses in Yes/No/Resume prompts.
- Manages keyboard [[Num Lock|Template:Keypress]] state on startup.
- Enables conditional execution based on previous error code status.
- Displays text message and waits for key input, similar to DR-DOS's and commands.
- Requires user confirmation when errors occur within CONFIG.SYS processing.
- Sets buffer size parameters for parallel (LPT) ports.
- Allows conditional execution specifically on PC-compatible systems.
- Configures priority level within task scheduler settings.
- Assigns priority level specifically for disk I/O-related programs.
- Changes default printer device driver assignment (e.g., switching from LPT1 to LPT3).
- Determines whether DOS applications are permitted to execute.
- Loads a user interface shell environment during startup.
- Enables conditional execution exclusively on IBM PS/1-compatible machines.
- Enables conditional execution exclusively on IBM PS/2-compatible machines.
- Suppresses output sent to standard output (STDOUT) display.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS.
- Reserves a specific drive letter, preventing its use by local block device drivers.
- Defines the default character for Resume () prompts.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally returning a code.
- Sets the size of real mode memory.
- Allows concurrent loading of programs in CONFIG.SYS in the background, functioning similarly to CALL or INSTALL commands under DOS.
- Determines whether the first character of deleted filenames is stored within the FAT reserved area.
- Specifies video display modes for FreeDOS or screen access methods for PTS-DOS.
- Manages the status of the keyboard Scroll Lock key.
- Defines environment variables.
- Loads the command interpreter shell.
- Functions like SHELL but supports specifying pre-allocation size to relocate COMMAND.COM into upper memory, optimizing usage with third-party shells.
- Sets keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Controls whether files close automatically upon Ctrl+Alt+Del key combination.
- Skips Power-On Self Test (POST) during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Configure stack sizes and memory allocation parameters for interrupt handling across various DOS versions and derivatives, enhancing system stability and performance.
- , SYSBOOT, SYSGEN, SYSLOAD
- Specific to PTS-DOS, these directives handle boot management, alternate system loading procedures, and memory configuration to streamline startup efficiency.
- , SWITCH
- Enables conditional processing within CONFIG.SYS through label-based branching, allowing more flexible system setups (note: unsupported in some DOS variants).
- , SWAPPATH
- OS/2-specific commands that manage error logging locations and swap file paths to improve system reliability and performance management.
- , SWITCHES
- Define characters used as system switches ('/' or '-') along with special options that influence command-line parsing behavior across different DOS implementations.
- , TRACE
- Controls timeout periods for CONFIG.SYS prompt responses and enables single-step execution tracing useful for debugging in DR-DOS, PTS-DOS, FreeDOS, and OS/2 environments.
This overview summarizes significant CONFIG.SYS directives essential for configuring system behavior, managing boot processes, optimizing memory usage, and enabling conditional execution critical in enterprise IT settings utilizing DOS-based platforms.
UTemplate:NbndZ
- Configures DOS to treat a specified memory segment as an Upper Memory Block (UMB).
- Sets the Upper Memory Block server parameters.
- Defines address ranges allocated for UMB RAM usage.
- Enables or disables verification of disk writes.
- Reports the current DOS version to applications.
- Manages VGA display status settings.
- Specifies the active video mode configuration.
- Enables virtual DMA (Direct Memory Access) support.
- Toggles processor Virtual Mode Extensions functionality.
- Configures VxD drivers for Windows environments.
- Sets Windows system support parameters.
- Controls relocation of Extended BIOS Data Area (EBDA).
- Enables conditional execution on XT-compatible hardware platforms.
- Manages Year 2000 (Y2K) compatibility support settings.
- Defines the default affirmative character used in prompts.
- Tracks file deletion activities.
Issues
Although it is possible for systems to boot without CONFIG.SYS or AUTOEXEC.BAT files present, these configuration files are vital for tailoring and fully initializing DOS environments, including meeting software dependencies. When these files are corrupted or missing, troubleshooting is required.
If CONFIG.SYS lacks a SHELL directive—or if the file itself is damaged or absent—DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions earlier than DOS 6.0 will fail to boot if COMMAND.COM cannot be found. Starting with MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 onwards, users are prompted to specify a command interpreter path if missing. These versions also provide limited runtime shell replacement capabilities without necessitating a reboot.
Due to incompatibilities between MS-DOS 7.x's COMMAND.COM and DR-DOS systems, DR-DOS version 7.02 and later restrict bypassing SHELL directives during particular boot modes such as Ctrl+F5/F7/F8. Additional recovery features allow re-enabling skip functionality to manage invalid shell arguments. When skipping CONFIG.SYS processing reveals no SHELL directive, users must input a valid shell filename before COMMAND.COM loads.
CONFIG.SYS file size limitations differ among operating systems: MS-DOS/PC DOS generally caps size at approximately 64 KB in recent iterations, whereas DR-DOS imposes no meaningful limit due to its line-by-line parsing method. MS-DOS compiles CONFIG.SYS into a tokenized structure in memory that organizes directives by category—loading device drivers before TSRs—while DR-DOS provides granular control over driver and TSR load order using DEVICE and INSTALL commands. This approach facilitates conflict resolution and supports debugging workflows.
Additionally, DR-DOS enables conditional flow control within CONFIG.SYS based on processor type, key states, error conditions, or return codes. This capability allows integration of temporary external programs through INSTALL, offering enhanced flexibility for complex configurations and troubleshooting scenarios.
The maximum length allowed for SHELL command lines has increased over time—from an initial limit of 31 characters in early MS-DOS releases up to 128 characters in later versions—while DR-DOS supports up to 255 characters. Notably, CONFIG.SYS directives do not accommodate long filenames.
Dual Booting DOS with Windows 9x
When Windows 95 is installed over a pre-existing DOS or Windows setup, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS to enable dual boot functionality between Windows 9x and DOS. During a DOS boot, these files are temporarily reverted to their original names, CONFIG.SYS and AUTOEXEC.BAT. Meanwhile, the Windows 95 versions are backed up as CONFIG.W40 and AUTOEXEC.W40.
In contrast, when Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT filenames remain unchanged. DR-DOS instead uses DCONFIG.SYS and AUTODOS7.BAT as its configuration files for startup.
OS/2 and Windows NT
OS/2 relies heavily on CONFIG.SYS for setting up drivers and the environment prior to launching its user interface.
Within the OS/2 subsystem of Windows NT, CONFIG.SYS is presented in a manner compatible with OS/2 applications but is actually maintained within the system registry.
There exist several undocumented CONFIG.SYS commands unique to OS/2.
CONFIG.SYS continues to be utilized 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
- AUTOEXEC.BAT and CONFIG.SYS overview at Computer Hope
- Explanation of Windows 98 / MS-DOS 7.10 CONFIG.SYS directives (archived)
- Caldera’s CONFIG.SYS Command Reference (archived) – overview of DR-DOS 7 directives
- FreeDOS CONFIG.SYS directive documentation
- PTS-DOS 2000 Pro User Manual including CONFIG.SYS commands
- Unofficial German PTS-DOS FAQ (2004) featuring additional CONFIG.SYS directives