RMSIZE (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Founded | 1983 |
| Products | System configuration commands for DOS and OS/2 |
CONFIG.SYS serves as the main configuration file utilized by DOS and OS/2 operating systems. This plain text file, written in ASCII, holds configuration commands that the system's DOS BIOS interprets during startup. The CONFIG.SYS file was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS are responsible for setting up DOS for hardware devices, software applications, and memory handling. Once CONFIG.SYS has been processed, DOS launches the command interpreter specified in the SHELL entry, defaulting to COMMAND.COM if none is provided; this interpreter then executes the AUTOEXEC.BAT script.
CONFIG.SYS primarily consists of name=value pairs that define system parameters or load components like device drivers and terminate-and-stay-resident programs (TSRs). In DOS environments, this file is located in the root directory of the active boot drive.
The same filename is also employed 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 and XM, Multiuser DOS, System Manager, and REAL/32 utilize CCONFIG.SYS instead, which supports extended settings stored in a binary file called CCONFIG.BIN, typically edited through CONFIG.EXE. Multiuser DOS may alternatively use CCONFIG.INI.
In DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+, the DCONFIG.SYS file takes precedence over CONFIG.SYS. Originally linked to disk compression features, it now also manages multi-boot configurations. OpenDOS 7.01 and DR-OpenDOS 7.02 recognize ODCONFIG.SYS, while some DR-DOS releases check for DRCONFIG.SYS. The command SYS /DR:ext allows custom extensions for system files to support multiple simultaneous boot configurations controlled by loaders such as LOADER.
Advanced SHELL commands permit specifying alternative AUTOEXEC.BAT files using /P[:filename.ext], a feature supported by COMMAND.COM and 4DOS. Starting with DR-DOS 6.0, the CHAIN=filespec directive enables continuation of configuration processing from another file outside the root directory; versions 7.02 and later add label-specific jumps with CHAIN=filespec,label. Additionally, DR-DOS 7.03+ introduces SYS /A, which copies CONFIG.SYS and AUTOEXEC.BAT alongside other system files.
FreeDOS utilizes FDCONFIG.SYS, RxDOS version 7.24 and newer use RXCONFIG.SYS, while PTS-DOS employs CONFIG.PTS.
Although based on DOS, Windows 95 and Windows 98 include CONFIG.SYS and AUTOEXEC.BAT in the root of the boot drive but generally leave them empty. Unlike its predecessors, Windows Me does not process CONFIG.SYS during startup; instead, it retrieves environment variables from the Windows Registry at:
- HKLM\System\CurrentControlSet\Control\SessionManager\Environment
In 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>
:;*?!
- Establishes labels within CONFIG.SYS to serve as jump targets for , , , , and commands.
- Functions similarly to , additionally used for inline comments following other CONFIG.SYS instructions. (Note: Under MS-DOS/PC DOS, inline comments inside double quotes are not disregarded.)
- Introduces inline comments alongside the ; directive.
- Presents a Yes/No prompt to confirm whether subsequent CONFIG.SYS commands should execute. (FreeDOS does not support custom messages but allows conditional checks with boot menus.) DOS version 6.0 and later provide a comparable feature by appending after directives (e.g., ).
- Executes the subsequent CONFIG.SYS instruction without conditions.
ATemplate:NbndC
- Determines whether programs can be interrupted upon errors.
- Specifies which drives record file access timestamps on FAT filesystems.
- Enables conditional execution on AT-compatible hardware.
- Boot management utility.
- Adjusts the level of detail in error message output.
- Alters the default serial port driver (COM1: through COM4:) associated with the AUX: device.
- Prevents character devices from being accessible outside the phantom \DEV directory.
- Loads a fundamental device driver into system memory.
- Triggers a beep sound even if audible alerts are disabled.
- Indicates the operating system to boot next.
- Enables or disables extended Ctrl+C interrupt checking.
- Specifies how many disk buffers to allocate.
- Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
- , , (Embedded DOS 6-XL only)
- Manage cache allocation and timing settings.
- Loads executable programs within CONFIG.SYS, running them in foreground and pausing further processing until completion.
- Sets keyboard Caps Lock state.
- , (PTS-DOS only)
- Defines CD-ROM driver name and buffer count.
- (DR DOS 5.0+, Embedded DOS)
- Continues CONFIG.SYS processing from a different file or label.
- , , and other PTS-DOS-specific commands control system clock, screen clearing, and device parameters.
- , , and related directives manage internationalization features.
Additional commands configure hardware setups such as COM port assignments, buffer handling, CPU-based conditional execution (e.g., CPU386), and other system-level parameters aimed at enhancing performance and compatibility across diverse DOS platforms.
DTemplate:NbndF
- Adjusts relocation of drive descriptor tables in memory.
- Sets memory segment address for deblocking multi-sector disk data.
- Activates internal debugger support functionality.
- Boot management tool.
- Loads device drivers into conventional memory.
- Loads device drivers into upper memory regions (equivalent to in DRDOS 5.0).
- Configures country and codepage settings for keyboard, screen, and printer devices.
- Defines sizes for cache memory allocation.
- Sets floppy disk compatibility modes.
- Specifies display font selection.
- Controls loading of DOS into high or upper memory areas (similar to in DRDOS 5.0).
- Loads DOS-related tables (BUFFERS, FCBS, FILES, LASTDRIVE, STACKS) into upper memory segments.
- Specifies an alternate directory path for DOS files.
- Defines search paths for data files.
- Describes physical characteristics of disk drives.
- Defines configuration parameters for unrecognized drives.
- Refer to .
- Enables specifying drives for PDUMP.nnn error logging files.
- Outputs a text message on screen.
- Displays messages incorporating ANSI escape sequences.
- Adds supplementary program startup validation checks.
- Sets assumed error or return codes for subsequent commands.
- Controls the A20 line gate state when launching programs.
- Terminates CONFIG.SYS processing prematurely (except for SWITCHES and SHELL under certain conditions).
- Configures hash table size to optimize file opening speed (differs from MS-DOS/PC DOS FASTOPEN driver).
- Specifies the number of cached File Control Blocks (FCBs) allowed open simultaneously (shares buffer space with FILES under DR-DOS).
- Similar to FCBS but loads FCBs into upper memory areas.
- Boot management utility.
- Sets maximum number of files that can be open concurrently.
- Similar to FILES but loads file handles into upper memory blocks.
- Incorporates execution of specified CONFIG.SYS subsections (see IGNORE).
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 a designated label.
- Continues nested CONFIG.SYS processing at a specified label, then returns to the prior point.
- Refer to , , or for additional details.
- Refer to for further information.
- Refer to for more guidance.
- See or for related commands.
- See or for related instructions.
- Consult for further reference.
- Loads a TSR program into memory similarly to , but after relocating the DOS data segment.
- Refer to , , or for comparable functions.
- See for related usage.
- Consult or for related options.
- Activates console and command line history buffer with advanced pattern searching capabilities.
- Defines the address of the High Memory Area (HMA) segment.
- Configures energy-saving settings related to HLT instruction.
- Determines whether the system performs boot sector virus checks.
- Loads installable file system drivers.
- Prevents execution of certain CONFIG.SYS subsections as specified.
- Permits selected programs to operate at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block, emulated via GOSUB/RETURN in DR-DOS environments.
- Sets the keyboard's Insert mode status.
- Loads a TSR program into memory.
- Loads TSR programs into upper memory blocks, equivalent to HIINSTALL in DR DOS version 5.0.
- Installs TSR programs after relocating the DOS data segment.
- Rotates Programmable Interrupt Controller (PIC) priorities so that a designated IRQ number receives highest priority.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the relocated address of the keyboard buffer.
- Sets the maximum number of accessible drives available to the system.
- Similar to LASTDRIVE but additionally loads Current Directory Structure into upper memory regions.
- Lists paths used for searching Dynamic Link Libraries (DLLs).
- Manages compatibility settings for legacy software applications.
- Determines the quantity of file locks permitted simultaneously.
- Configures display settings for boot logos when using the PTS-DOS boot manager.
- Specifies count, sequence, I/O port address, and timeout values for LPT1 device configuration.
- Applies identical configuration parameters as LPT1 but for LPT2 device.
- Mirrors LPT1 settings applied to LPT3 device configuration.
- Enables and configures LPT4 device similarly to previous LPT devices.
- Sets delay duration before elevating process priority levels.
- Defines strategy parameters for memory allocation management.
- Establishes default DOS memory allocation behavior and strategy.
- Specifies menu option definitions within the system configuration.
- Sets color schemes for menus, with emulation support under DR-DOS environments.
- Chooses the default menu block, which can be emulated in DR-DOS systems.
- Defines multiple menu blocks, supported through emulation in DR-DOS setups.
- Enables operations involving multitrack disk handling capabilities.
- Continues processing CONFIG.SYS from a new file after loading a device driver and setting the %NEWFILE% environment variable.
NTemplate:NbndQ
- Sets the default character representing "No" () in Yes/No/Resume prompts.
- Controls keyboard [[Num Lock|Template:Keypress]] state, enabling or disabling it on startup.
- Allows conditional execution based on previous error code results, such as .
- Displays text and pauses until a key is pressed, functioning similarly to and in DR-DOS systems.
- Requires user confirmation upon encountering errors during CONFIG.SYS processing.
- Configures buffer sizes allocated to printer ports LPT1 through LPT3.
- Enables conditional execution specifically on PC-compatible machines only.
- Sets scheduling priorities for process management tasks within the system.
- Adjusts priority levels assigned to disk input/output operations.
- Changes default printer device driver assignment (e.g., switching from LPT1 to LPT3 or LPT4).
- Determines whether DOS-based applications are allowed to execute within the environment.
- Loads a user interface shell component during system startup or operation.
- Enables conditional execution exclusively on IBM PS/1-compatible hardware platforms.
- Enables conditional execution exclusively on IBM PS/2-compatible hardware platforms.
- Silences output sent to STDOUT by muting display output streams.
RTemplate:NbndT
- Activates automatic system reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS (ignored by PTS-DOS).
- Allocates a drive letter to prevent its use by local block device drivers.
- Defines the default Resume () character displayed in prompts.
- Returns control from nested CONFIG.SYS processing to the previous GOSUB or SWITCH point, optionally providing a return value.
- Specifies the amount of real mode memory available.
- Enables concurrent loading of programs within CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
- Determines whether the first character of deleted files is stored in the FAT reserved area.
- Sets video modes for FreeDOS or screen access methods for PTS-DOS.
- Controls the keyboard Scroll Lock key state, turning it on or off.
- Establishes environment variables for system use.
- Loads the command interpreter shell program.
- Similar to SHELL but includes a size parameter allowing COMMAND.COM to be loaded into HMA or UMBs, minimizing memory fragmentation.
- Configures keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Determines whether files are closed automatically when Ctrl+Alt+Del is pressed.
- Skips the Power-On Self-Test (POST) during reboot sequences.
- , STACKSIZE and STACKSHIGH
- Manage interrupt stack sizes and counts across various DOS versions, with some parameters disregarded depending on the system variant.
- (PTS-DOS) Configures boot manager settings.
- (DOS 6.0+) Defines submenu blocks, a feature unsupported by DR-DOS and FreeDOS.
- (OS/2) Redirects error logging to a drive instead of displaying pop-ups.
- , SWAPFILE path configuration specific to OS/2 systems.
- , SWITCHES
- Implements conditional processing directives within CONFIG.SYS for DR DOS and Novell DOS respectively.
- , Sets the system-wide switch character, either '/' or '-'.
- Includes various system management commands for OS/2, PTS-DOS, and Embedded DOS environments such as THREADS, TIMESLICE, TMPEXT, TRACE, TRACEBUF, and TRAPDUMP for error diagnostics and process control.
This segment outlines essential configuration options vital for controlling system operations, memory management, device handling, and error reporting across multiple DOS-based platforms commonly utilized in professional IT infrastructures.
UTemplate:NbndZ
- Assigns a specific memory segment for use as Upper Memory Block (UMB).
- Designates the UMB server driver employed by the system.
- Defines address ranges allocated as UMB RAM regions.
- Enables or disables verification of disk write operations.
- Reports a specified DOS version number to applications.
- Configures VGA display status parameters.
- Sets the current video mode comparable to FreeDOS's SCREEN command.
- Indicates whether virtual DMA functionality is permitted.
- Toggles Virtual Mode Extensions (VME) on or off.
- Sets up VxD driver parameters for Windows environments.
- Configures system support features specific to Windows platforms.
- Manages relocation settings for the Extended BIOS Data Area (XBDA).
- Enables conditional command execution on XT-compatible machines.
- Activates built-in Year 2000 compliance support.
- Defines the default character used for affirmative responses in prompts.
- Controls tracking behavior for file deletions.
Issues
Although booting can occur without CONFIG.SYS or AUTOEXEC.BAT files present, these files are crucial for comprehensive DOS customization and satisfying software prerequisites. Corruption or loss of these files requires diagnostic intervention.
In scenarios where CONFIG.SYS lacks a SHELL directive or if this file is missing or damaged, DOS attempts to locate COMMAND.COM in the root directory. Earlier DOS editions will fail to boot without this file, whereas MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 or later will prompt users to specify a command interpreter path if absent. This prompt also appears if the current shell terminates unexpectedly or exits intentionally, thus permitting limited runtime shell substitution without restarting.
Due to incompatibilities between MS-DOS versions 7.0 and above COMMAND.COM and DR-DOS implementations, DR-DOS version 7.02 and later restricts bypassing SHELL directives during skip/trace modes activated by Ctrl+F5/F7/F8. Subsequent versions introduced Ctrl+F6 to restore skip functionality as a recovery mechanism from invalid shell arguments. When no SHELL directive exists during skipped CONFIG.SYS processing, users must input a valid shell filename before COMMAND.COM loads—pressing ENTER defaults to the standard shell.
CONFIG.SYS file size limitations differ by operating system: MS-DOS and PC DOS versions allow up to approximately 64 KB in recent releases, whereas DR-DOS imposes no practical limit since it interprets lines individually rather than tokenizing them. This method grants fine-grained control over the sequence of driver and TSR loading via DEVICE and INSTALL commands, facilitating conflict resolution and integration of temporary external utilities into CONFIG.SYS execution flow.
Limits on SHELL command line length also vary: MS-DOS/PC DOS versions from 2.0 through 4.01 supported up to 31 characters, expanding to as much as 128 characters in later editions. DR-DOS allows up to 255 characters. Notably, CONFIG.SYS directives do not support long filenames.
Dual Booting DOS and Windows 9x
When Windows 95 is installed over a pre-existing DOS or Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively. This enables a dual-boot setup between Windows 9x and DOS. During a DOS boot, these renamed files are temporarily reverted to their original filenames. Meanwhile, Windows 95's own versions are saved under the names CONFIG.W40 and AUTOEXEC.W40.
In cases where Caldera DR-DOS 7.02 or 7.03 is installed alongside Windows 95, the original CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain intact. Instead, DR-DOS utilizes separate configuration files named DCONFIG.SYS and AUTODOS7.BAT for its startup processes.
OS/2 and Windows NT
OS/2 depends extensively on CONFIG.SYS for configuring the system, loading drivers, and setting up the environment prior to launching its graphical user interface.
Within the OS/2 subsystem embedded in Windows NT, CONFIG.SYS is presented to OS/2 applications; however, its management is actually handled through the system registry.
Numerous CONFIG.SYS commands in OS/2 lack comprehensive documentation or are only partially documented.
CONFIG.SYS continues to be employed 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
- Comprehensive details on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
- Archived overview of CONFIG.SYS directives for Windows 98 / MS-DOS 7.10
- Caldera’s archived CONFIG.SYS command reference – summary of DR-DOS 7 directives
- FreeDOS CONFIG.SYS directive descriptions
- Archived PTS-DOS 2000 Pro User Manual featuring CONFIG.SYS commands
- Unofficial German-language PTS-DOS FAQ (archived), including CONFIG.SYS directive information