VME (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | Operating system configuration |
CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text file, written in ASCII, holds setup instructions that the OS'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 tailor DOS to support hardware devices and software applications, including memory management utilities. Once CONFIG.SYS has been processed, DOS launches the command interpreter specified on the SHELL line; if none is designated, it defaults to COMMAND.COM, which then executes commands from AUTOEXEC.BAT.
This configuration file predominantly contains name=value pairs that define system parameters or load device drivers and TSR (terminate-and-stay-resident) programs into memory.
In DOS environments, CONFIG.SYS is located in the root directory of the boot drive.
The same filename convention is also employed by (DCP), an MS-DOS variant developed by East-German manufacturer VEB Robotron.
Certain DOS variants prioritize alternative filenames over CONFIG.SYS:
Advanced editions such as Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 seek CCONFIG.SYS (derived from "Concurrent") rather than CONFIG.SYS. Some Multiuser DOS releases utilize CCONFIG.INI, while REAL/32 looks for MCONFIG.SYS. These platforms often rely on supplementary configuration data stored in binary files like CCONFIG.BIN, which are typically edited using CONFIG.EXE.
Under DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS versions 7.02 and later, DCONFIG.SYS (standing for "DR DOS") supersedes CONFIG.SYS. This arrangement facilitates disk compression and multi-boot environments by supporting multiple configuration files.
Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 verify the presence of ODCONFIG.SYS, while certain DR-DOS 7.02+ builds search for DRCONFIG.SYS. Since the release of DR DOS 6.0, the SYS /DR:ext command permits renaming system files to maintain parallel sets within a single root directory, selectable through boot loaders such as LOADER.
The SHELL command can also designate alternate AUTOEXEC.BAT filenames using /P[:filename.ext], with COMMAND.COM supporting extensions beyond ".BAT"—a capability also offered by 4DOS. From DR DOS 6.0 onward, the CHAIN=filespec directive enables continuation with another configuration file located outside the root directory; DR-DOS 7.02+ further enhances this by allowing jumps to specific labels within those files.
Starting with DR-DOS 7.03, the SYS /A command was introduced to duplicate CONFIG.SYS and AUTOEXEC.BAT alongside other system files.
In other systems, FreeDOS employs FDCONFIG.SYS; RxDOS version 7.24 and above uses RXCONFIG.SYS; and PTS-DOS utilizes CONFIG.PTS.
Both CONFIG.SYS and AUTOEXEC.BAT are present in the root directories of boot drives for Windows 95 and Windows 98, although they are generally left empty.
Windows Me, however, does not process CONFIG.SYS during startup; instead, it loads environment variables directly from 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 destinations for , , , , and commands.
- Similar to , but also applies to inline comments following other directives. (In MS-DOS/PC DOS, inline comments enclosed in double quotes are not ignored.)
- Used at the start of inline comments alongside the ; directive.
- Prompts the user with a Yes/No confirmation before executing CONFIG.SYS instructions.[1] (FreeDOS allows optional conditions via boot menus but lacks optional message support.) DOS version 6.0 and later enables a comparable feature by appending after commands, e.g., .
- Forces unconditional execution of the subsequent directive.
ATemplate:NbndC
- Permits program termination upon encountering errors.
- Enables drives to record file access dates within FAT directory entries.
- Executes conditionally on AT-compatible hardware.
- Functions as a boot manager.
- Adjusts the verbosity level of error messages.
- Changes the default serial driver associated with the AUX: device.
- Prevents loading character devices outside the phantom \DEV directory.
- Loads fundamental device drivers into memory.
- Produces a beep sound even if notifications are disabled.
- Defines which operating system to boot next.
- Enables or disables extended Ctrl+C detection.
- Sets the number of disk buffers allocated by the system.
- Similar to BUFFERS but loads buffers into HMA or UMB areas.
- , CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
- Manage cache size and timing parameters.
- Loads programs within CONFIG.SYS and pauses processing until they return control.
- (DR-DOS 7.02+)
- Controls keyboard Caps Lock state.
- , CDDBUFFERS (PTS-DOS only)
- Specifies CD-ROM driver name and buffer settings.
- (DR DOS 5.0+, Embedded DOS)
- Continues processing CONFIG.SYS from another file or label.
- , CLS, CODEPAGE (various systems)
- Configure system clock type, clear screen command, and OEM codepages.
- , COMAREA (DR-DOS 7.02+, PTS-DOS)
- Sets up serial port devices COM1 through COM4 and DMA buffer sizes.
- , COMMENTS (DOS 4.0+)
- Redefines inline comment lead characters or ignores lines on specific systems.
- , CPOS, CPSW (various systems)
- Support for internationalization, cursor positioning, and codepage switching.
- , CPU88–CPU486+ (PTS-DOS, DR-DOS)
- Conditional execution based on CPU model or clock speed.
This concise summary presents essential CONFIG.SYS directives critical for system setup and boot control across various DOS versions, with a focus on device drivers, memory handling, and conditional execution vital for enterprise IT infrastructures.
DTemplate:NbndF
- Manages relocation of drive descriptor tables in memory.
- Defines the memory segment address used for multi-sector disk data deblocking operations.
- Activates internal debugger capabilities.
- Functions as a boot manager utility.
- Loads device drivers into conventional memory space.
- Loads device drivers into upper memory blocks (equivalent to in DRDOS 5.0).
- Sets country and codepage information for keyboard, screen, and printer devices.
- Configures sizes of cache memory buffers.
- Determines floppy disk compatibility mode settings.
- Specifies display font parameters.
- Controls whether DOS is loaded into high or upper memory areas.
- Loads various DOS tables (such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory segments.
- Defines an alternative directory path for DOS system files.
- Sets search paths for data files used by DOS.
- Specifies hardware parameters for physical disk drives.
- Defines settings for unrecognized or unknown drives.
- See .
- Enables error logging via
PDUMP.nnnfiles and specifies target drive for logs. - Displays a message on the screen during processing.
- Shows messages that include ANSI escape sequences for formatting purposes.
- Adds extra validation checks when launching programs.
- Specifies an expected error or return code value to handle program exits gracefully.
- Controls the state of the A20 gate when initiating programs.
- Terminates CONFIG.SYS processing prematurely except where certain directives require continuation.
- Sets hash table size used to accelerate file opening operations, differing from MS-DOS/PC DOS external driver behavior.
- Determines how many cached File Control Blocks can be opened simultaneously (shares buffer allocation with FILES under DR-DOS).
- Same as FCBS but loads these structures into upper memory areas instead of conventional memory.
- Acts as a boot manager tool within CONFIG.SYS scripts.
- Specifies maximum number of files open at once by the system.
- Similar to FILES but allocates file handles in upper memory blocks rather than conventional memory.
- Incorporates execution of designated subsections within CONFIG.SYS (refer to 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 CONFIG.SYS processing at the indicated label.
- Continues nested CONFIG.SYS execution at the given label, then returns to the previous point.
- Refer to , , or for additional details.
- See related information in .
- Consult for further reference.
- Additional information available in or .
- For more, see or .
- Refer to for context.
- Loads a TSR program into memory following DOS data segment relocation. Compare with INSTCDEX.
- Consult , , or for related commands.
- See also .
- Refer to or for further understanding.
- Activates console and command line history buffers with enhanced search capabilities.
- Defines the address location of the HMA segment.
- Configures energy-saving mode using HLT instruction.
- Performs boot sector virus detection during startup.
- Loads installable file system drivers.
- Prevents execution of specified sections within CONFIG.SYS.
- Permits select programs to operate at ring 2 level, allowing direct hardware I/O access.
- Incorporates directives from another menu block (simulated via GOSUB/RETURN in DR-DOS).
- Sets the status of keyboard Insert mode.
- Installs a TSR program into memory space.
- Loads TSR into upper memory area (similar to HIINSTALL in DR DOS 5.0).
- Installs TSR after relocating DOS data segment (compare with INSTCDEX).
- Adjusts PIC interrupt priorities, assigning highest priority to a specified IRQ.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the address for the relocated keyboard buffer.
- Sets the maximum number of accessible drives.
- Functions like LASTDRIVE but loads Current Directory Structure into upper memory.
- Lists directories searched for DLL files.
- Manages compatibility with legacy software applications.
- Sets the number of file locks permitted.
- Configures display of boot logo via PTS-DOS boot manager.
- Specifies count, order, I/O port address, and timeout settings for LPT1 device.
- Defines count, order, I/O port address, and timeout parameters for LPT2 device.
- Establishes count, order, I/O port address, and timeout values for LPT3 device.
- Enables and sets parameters for LPT4 device similarly.
- Determines wait duration before process priority elevation occurs.
- Configures strategy for memory allocation management.
- Specifies default DOS memory allocation approach.
- Defines available menu options within CONFIG.SYS.
- Sets color scheme for menus (can be emulated under DR-DOS).
- Assigns default menu block (emulatable in DR-DOS environments).
- Creates a menu block (emulatable in DR-DOS).
- Enables multi-track disk operation support.
- Continues CONFIG.SYS processing in a new file after loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets default No () response character used in Yes/No/Resume prompts.
- Controls keyboard [[Num Lock|Template:Keypress]] state, turning it on or off.
- Enables conditional execution based on the last error code, such as .
- Displays a message and waits for user key press, similar to DR-DOS's and .
- Requires user confirmation of errors encountered in CONFIG.SYS processing.
- Configures print buffer size settings for LPT ports.
- Enables conditional execution on PC-compatible systems.
- Sets scheduler priority level.
- Assigns priority to disk I/O operations within the system scheduler.
- Changes default printer device driver assignment (from LPT1 to LPT3 or LPT4).
- Controls permission for running DOS programs under certain conditions.
- Loads the user interface shell environment.
- Enables conditional execution specifically on IBM PS/1-compatible machines.
- Allows conditional execution targeting IBM PS/2-compatible systems.
- Suppresses output directed to STDOUT.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Inserts explanatory notes within CONFIG.SYS.
- Allocates drive letters for local block device drivers.
- Sets the default character for the Resume () prompt.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH statement, optionally passing a return code.
- Specifies the size of real mode memory.
- Allows concurrent loading of programs in the background during CONFIG.SYS execution.
- Indicates storing the first character of deleted files in a reserved FAT area.
- Defines video modes (FreeDOS) or screen access techniques (PTS-DOS).
- Toggles the Scroll Lock key status on the keyboard.
- Establishes environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but supports preloading COMMAND.COM into HMA or UMBs to optimize memory usage.
- Configures keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines whether files close when Ctrl+Alt+Del is pressed.
- Specifies skipping POST during system reboot.
- , STACKSIZE, STACKSHIGH
- Manage hardware interrupt stack sizes and buffer locations across various DOS versions and derivatives.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- Control boot manager configurations, alternative OS booting options, system memory allocations, and loading DOS code/data into UMBs (specific to PTS-DOS).
- , SWITCH, SWITCHES
- Define submenu blocks (DOS), enable conditional nested CONFIG.SYS processing (DR DOS), and specify special options (Novell DOS).
- , SWAPPATH, THREADS, TIMESLICE
- Regulate error popup suppression, swap file locations, thread concurrency, and scheduler time slices (mainly OS/2).
- , TRACE, TRACEBUF
- Set timeouts for prompts and allow single-stepping through CONFIG.SYS/AUTOEXEC.BAT with configurable logging buffer sizes (DOS variants).
- , TRAPDUMP
- Designate temporary file extensions (PTS-DOS) and detailed error logging capabilities (OS/2).
UTemplate:NbndZ
- Configures DOS to use a particular segment as Upper Memory Block (UMB).
- Sets the UMB server configuration.
- Defines address ranges allocated as UMB RAM.
- Enables or disables verification of disk writes.
- Specifies the DOS version presented to software applications.
- Controls VGA display settings.
- Sets the current video mode, similar to SCREEN in FreeDOS.
- Enables virtual DMA support.
- Manages processor Virtual Mode Extensions (VME).
- Configures VxD drivers for Windows environments.
- Adjusts system support features for Windows compatibility.
- Manages relocation of the Extended BIOS Data Area.
- Executes conditionally on XT-compatible hardware platforms.
- Configures integrated Year 2000 compliance support.
- Sets default affirmative response characters in prompts.
- Controls file deletion tracking mechanisms.
Issues
Although booting is possible without CONFIG.SYS or AUTOEXEC.BAT files, these are critical for comprehensive operating system customization and application compatibility. Corruption or damage necessitates troubleshooting measures.
In cases where CONFIG.SYS omits a SHELL directive—or if it is missing or corrupted—DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Early DOS versions prior to 6.0 fail to boot if this file is absent. In contrast, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later versions prompt users to specify a command interpreter path. This prompt also appears if the primary command processor terminates unexpectedly or exits voluntarily, enabling limited runtime shell replacement without requiring a reboot.
COMMAND.COM from MS-DOS 7.0 onward is not compatible with DR-DOS installations, which commonly reside in C:\ within dual-boot configurations. Starting with DR-DOS 7.02, bypassing SHELL directives during skip/trace/step modes (activated via Ctrl+F5/F7/F8) is prevented. Subsequent versions introduced Ctrl+F6 to restore skip functionality, facilitating recovery from invalid SHELL arguments. When skipping CONFIG.SYS processing without locating a valid SHELL, users are prompted to provide an appropriate shell before COMMAND.COM loads from the root directory.
CONFIG.SYS size restrictions differ among operating systems: MS-DOS and PC DOS impose limits measured in kilobytes (up to approximately 64 KB), whereas DR-DOS effectively imposes no practical limit aside from file system constraints. MS-DOS processes CONFIG.SYS by compiling it into tokenized form before executing directives sequentially—loading device drivers prior to TSRs. Conversely, DR-DOS interprets each directive line-by-line, enabling fine-grained control over loading order via DEVICE and INSTALL commands. This method resolves conflicts related to driver and TSR sequencing and supports conditional execution based on hardware presence or errors, thereby enhancing customization and debugging capabilities.
The INSTALL command in DR-DOS can execute non-resident programs integrated into CONFIG.SYS processing flow, improving modularity.
In MS-DOS/PC DOS versions from 2.0 through 4.01, the SHELL directive was limited to a maximum of 31 characters. Later releases expanded this limit up to 128 characters, while DR-DOS permits up to 255 characters. None of these systems support long filenames within CONFIG.SYS directives.
Dual Booting Between DOS and Windows 9x
When Windows 95 is installed over a pre-existing DOS/Windows environment, 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 switched back to CONFIG.SYS and AUTOEXEC.BAT. Meanwhile, backups of the Windows 95 versions are preserved under the names CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02/7.03 is installed alongside Windows 95, the original Windows CONFIG.SYS and AUTOEXEC.BAT filenames remain unchanged, whereas DR-DOS uses alternative startup files named DCONFIG.SYS and AUTODOS7.BAT.
OS/2 and Windows NT
OS/2 relies heavily on CONFIG.SYS for loading drivers and setting up the environment before the graphical user interface initializes. Within the OS/2 subsystem of Windows NT, CONFIG.SYS is presented to OS/2 applications but is actually managed through the system registry.
There are many undocumented CONFIG.SYS commands specific to OS/2. This configuration file continues to be utilized by OS/2-based 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
- 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 commands
- Details on FreeDOS CONFIG.SYS directives (archived)
- PTS-DOS 2000 Pro User Manual including CONFIG.SYS commands (archived)
- Unofficial German PTS-DOS FAQ with CONFIG.SYS information (archived)
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedPaul_2000_CONFIG