SYSLOAD (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Operating systems |
| Founded | 1983 |
| Products | DOS and OS/2 system configuration |
CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This particular ASCII text file holds setup instructions that the operating system's DOS BIOS—usually located in IBMBIO.COM or IO.SYS—interprets during the boot process. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS are used to configure DOS settings related to devices, applications, and memory management. Once CONFIG.SYS has been processed, DOS initiates the command interpreter specified by the SHELL directive; if none is provided, it defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.
This configuration file primarily consists of name=value entries that set adjustable parameters or load components such as device drivers and terminate-and-stay-resident programs (TSRs) into memory.
In DOS environments, CONFIG.SYS is located in the root directory of the bootable drive.
The filename CONFIG.SYS is also utilized by (DCP), an MS-DOS variant developed by the former East German company VEB Robotron.
Certain DOS variants recognize alternative filenames that override CONFIG.SYS:
- Advanced iterations of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 employ CCONFIG.SYS or CCONFIG.INI (specifically in Multiuser DOS) instead of CONFIG.SYS. These systems maintain extra configuration data in a binary file named CCONFIG.BIN, which can be modified using CONFIG.EXE.
- Versions of DR DOS from 3.31 onward—including variants like PalmDOS, Novell DOS, and DR-DOS 7.x—prioritize DCONFIG.SYS over CONFIG.SYS. This approach supports multi-boot configurations and disk compression setups where drive letters may change after loading compression drivers.
- OpenDOS 7.01 and DR-OpenDOS 7.02 look for the presence of ODCONFIG.SYS; additionally, some DR-DOS 7.02 and later editions check for DRCONFIG.SYS as well.
- Starting with DR-DOS 6.0, users can modify the default configuration file extension via SYS /DR:ext, enabling multiple system configuration files to coexist and be selected by boot loaders such as LOADER used in Multiuser DOS and DR-DOS.
- The SHELL command allows specifying alternative AUTOEXEC.BAT files using the /P[:filename.ext] option, with COMMAND.COM supporting different extensions in this context (a feature also supported by 4DOS).
- DR-DOS 6.0 and later versions introduce a CHAIN=filespec directive that permits continuation with another configuration file, optionally including a label parameter (CHAIN=filespec,label) to jump to specific sections.
- From version 7.03 onward, DR-DOS offers a SYS /A command option to copy both CONFIG.SYS and AUTOEXEC.BAT alongside system files during setup.
In addition, FreeDOS uses FDCONFIG.SYS, RxDOS employs RXCONFIG.SYS, and PTS-DOS utilizes CONFIG.PTS.
While both CONFIG.SYS and AUTOEXEC.BAT are present in the root directory of Windows 95 and Windows 98 boot drives, they are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables directly from the Windows Registry at:
- HKLM\System\CurrentControlSet\Control\SessionManager\Environment
Within the FlexOS operating system, CONFIG.SYS is a binary file that specifies resource managers and device drivers to be loaded during initialization.
Example
Here is 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 that serve as jump targets for , , , , and commands.
- Functions similarly to , but also permits inline comments following other directives. (In MS-DOS/PC DOS, inline comments enclosed in double quotes are processed differently.)
- Indicates the start of inline comments, used alongside the ; symbol.
- Prompts the user with a Yes/No confirmation before executing subsequent CONFIG.SYS commands. (FreeDOS lacks customizable messages but supports conditional execution via boot menus.) Starting with DOS 6.0, a comparable feature exists using a trailing after the directive.
- Forces the immediate execution of the next CONFIG.SYS command 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-compatible computers.
- Acts as a boot manager utility.
- Adjusts the verbosity level of error messages.
- Alters the default serial device driver assignment (COM1: through COM4:) for the AUX device.
- Prevents character devices from being accessible outside the virtual \DEV directory.
- Loads fundamental device drivers into system memory.
- Produces a beep sound even if notification switches disable it.
- Specifies the operating system to be booted next.
- Enables or disables extended Ctrl+C interrupt checking.
- Defines how many disk buffers should be allocated.
- Similar to BUFFERS but loads buffers into High Memory Area (HMA) or Upper Memory Blocks (UMB).
- , ,
- Control cache block allocation and timing for flushing data.
- Loads and executes programs during CONFIG.SYS processing, running in foreground and pausing further processing until completion.
- Sets the Caps Lock key status on the keyboard.
- ,
- Configures CD-ROM driver identification and buffer quantities.
- Continues processing CONFIG.SYS from another file or label reference.
- , , and additional directives manage system clock types, screen clearing, and other functions primarily in PTS-DOS and DR-DOS versions.
- , , along with related commands, enable internationalization features and codepage configurations on OS/2 and various DOS derivatives.
Additional directives cover COM port assignments (COM1-COM4), CPU-specific conditions (CPU386+), and device-specific settings designed to enhance hardware compatibility and optimize system performance across DOS variants and OS/2 platforms.
DTemplate:NbndF
- Manages relocation of drive descriptor tables in memory.
- Specifies memory segment address used for deblocking multi-sector disk data transfers.
- Activates internal debugger support features.
- Functions as a boot manager component.
- Loads device drivers into conventional memory space.
- Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
- Sets country code and codepage information affecting keyboard, screen, and printer devices.
- Configures cache memory sizes for improved performance.
- Defines compatibility mode settings for floppy disk drives.
- Selects display font parameters.
- Controls whether DOS is loaded into high or upper memory regions (similar to in DRDOS 5.0).
- Loads DOS-related tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory blocks.
- Specifies alternative directory paths for DOS system files.
- Establishes search paths for data files used by DOS applications.
- Defines physical parameters for disk drives recognized by the system.
- Sets attributes for unrecognized or non-standard drives.
- Refer to for additional details.
- Enables error log creation on specified drives using PDUMP.nnn files.
- Displays a textual message on screen during processing.
- Shows messages incorporating ANSI escape sequences for enhanced formatting.
- Applies extra verification checks when launching programs.
- Sets an assumed error or return code value for subsequent commands executed by DOS.
- Manages the state of the A20 gate during program startup sequences.
- Terminates CONFIG.SYS processing prematurely except for SWITCHES and SHELL directives under certain conditions.
- Defines hash table size used to speed up file open operations, differing from MS-DOS/PC DOS FASTOPEN driver behavior.
- Specifies how many File Control Blocks (FCBs) can be cached simultaneously (shares buffer space with FILES under DR-DOS).
- Similar to FCBS but explicitly loads FCBs into upper memory areas for efficiency gains.
- Functions as a boot manager utility within CONFIG.SYS processing.
- Sets the maximum number of files that can be opened concurrently by DOS.
- Similar to FILES but loads file handle structures into upper memory explicitly to free conventional memory.
- Includes execution of specific CONFIG.SYS subsections as defined by IGNORE directives.
GTemplate:NbndI
- Waits for a key press or timeout, setting the error level to the key's ASCII value or 1024 if timed out.
- Resumes CONFIG.SYS processing at a designated label.
- Continues nested CONFIG.SYS processing at a specified label, returning afterward to the prior location.
- Refer to , , or for details.
- See also .
- Refer to .
- See or for additional information.
- Consult or for related commands.
- Refer to .
- Loads a TSR program into memory similarly to , but after relocating the DOS data segment. Compare with INSTCDEX.
- See , , or for further reference.
- Refer to .
- See or for more details.
- Activates console and command line history buffers with advanced pattern search capabilities.
- Defines the address of the High Memory Area (HMA) segment.
- Configures the CPU's HLT power-saving mode.
- Determines whether the system checks for boot sector viruses.
- Loads installable file system drivers.
- Prevents execution of specified CONFIG.SYS subsections.
- Permits certain programs to operate at ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block (emulatable via GOSUB/RETURN in DR-DOS).
- Sets the status of the keyboard Insert mode.
- Installs a TSR program into memory.
- Loads a TSR program into upper memory, equivalent to HIINSTALL in DR DOS 5.0.
- Installs a TSR program post DOS data segment relocation, akin to INSTALL.
- Adjusts PIC interrupt priorities to elevate a specified IRQ number to highest priority.
KTemplate:NbndM
- Specifies which keyboard layout to use.
- Defines the address of the relocated keyboard buffer.
- Sets the maximum number of accessible drives.
- Functions like LASTDRIVE but loads the Current Directory Structure (CDS) into upper memory.
- Specifies search paths for DLL files.
- Manages compatibility settings for legacy applications.
- Sets the number of file locks allowed.
- Controls boot logo display and startup messages via PTS-DOS boot manager.
- Configures parameters such as count, order, I/O address, and timeout for LPT1 device.
- Provides similar configuration options for LPT2 device.
- Configures LPT3 device with comparable settings.
- Enables and configures LPT4 device support.
- Sets delay duration before increasing process priority.
- Determines memory allocation strategy settings.
- Defines default DOS memory allocation behavior.
- Specifies menu option configurations.
- Sets color schemes for menus (emulatable under DR-DOS).
- Defines default menu block (can be emulated under DR-DOS).
- Establishes menu blocks (emulatable under DR-DOS).
- Enables multitrack disk operation support.
- Continues CONFIG.SYS processing from a new file after loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Defines the default No () character used in Yes/No/Resume prompts.
- Enables or disables keyboard Num Lock status on startup.
- Allows conditional execution based on the previous error code, e.g., .
- Shows a message and waits for a key press, similar to DR-DOS's and .
- Requires user confirmation of errors during CONFIG.SYS processing.
- Sets buffer size parameters for LPT ports.
- Enables conditional execution on PC-compatible systems.
- Configures scheduler priority levels.
- Sets disk I/O priority for running programs.
- Changes default printer device driver (e.g., switching from LPT1 to LPT3 or LPT4).
- Specifies whether DOS programs are permitted to run.
- Loads a user interface shell environment.
- Enables conditional execution on IBM PS/1-compatible machines.
- Enables conditional execution on IBM PS/2-compatible machines.
- Suppresses output sent to STDOUT.
RTemplate:NbndT
- Activates automatic reboot upon encountering errors.
- Permits inclusion of comments within CONFIG.SYS files.
- Allocates a drive letter for local block device drivers.
- Defines the default Resume () character displayed in prompts.
- Returns nested CONFIG.SYS processing control to the prior GOSUB or SWITCH location, optionally passing a return code.
- Specifies the size of real mode memory available.
- Allows programs to load concurrently in the background during CONFIG.SYS execution.
- Saves the first character of deleted files within the FAT reserved area.
- Determines video mode settings under FreeDOS or screen access protocols under PTS-DOS.
- Sets the Scroll Lock key status on or off.
- Establishes environment variables.
- Loads the command interpreter shell.
- Similar to SHELL, but includes a size parameter to pre-allocate COMMAND.COM into HMA or UMBs, reducing fragmentation.
- Adjusts keyboard modifier states such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
- Specifies whether files close upon pressing Ctrl+Alt+Del.
- Skips Power-On Self-Test (POST) during reboot sequences.
- , STACKSIZE, STACKSHIGH
- Configure hardware interrupt stack sizes and buffer locations across multiple DOS variants and derivatives.
- , SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
- PTS-DOS-specific commands managing boot options, system memory allocation, and loading DOS components into upper memory blocks (UMBs).
- , SWITCH, SWITCHES
- Define submenu blocks or conditional processing paths in CONFIG.SYS for various DOS versions excluding DR-DOS and FreeDOS (which utilize alternative commands).
- , SWAPPATH
- OS/2 directives that specify error logging drives and swap file path settings.
- , THREADS, TIMESLICE
- OS/2 options controlling floating-point unit bug fixes, maximum concurrent threads, and scheduler time slice durations.
- , TRACE, TRACEBUF
- Manage single-step timeouts and tracing functionalities within CONFIG.SYS across DR-DOS, PTS-DOS, FreeDOS, and OS/2 platforms.
- , TRAPDUMP
- Sets temporary file extensions in PTS-DOS and enables detailed error logging in OS/2 environments.
UTemplate:NbndZ
- Configures DOS to treat a specified segment as Upper Memory Block (UMB) memory.
- Sets parameters for the UMB server operation.
- Defines address ranges designated as UMB RAM.
- Enables or disables verification of disk writes.
- Determines the DOS version reported to applications.
- Configures VGA display status indicators.
- Specifies the current video mode, analogous to FreeDOS's SCREEN directive.
- Enables or restricts use of virtual DMA capabilities.
- Controls processor Virtual Mode Extensions (VME) functionality.
- Configures Windows VxD driver settings.
- Sets up system support parameters for Windows environments.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Conditional execution tailored for XT-compatible machines.
- Enables built-in Year 2000 compliance support features.
- Defines the default affirmative response character in prompts.
- Configures tracking for file deletion activities.
Issues
Although booting without CONFIG.SYS or AUTOEXEC.BAT is possible, these files remain crucial for comprehensive customization of the DOS environment and software dependencies. Corruption or damage necessitates troubleshooting efforts.
If a SHELL directive is absent from CONFIG.SYS—or if CONFIG.SYS itself is missing or corrupted—DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions prior to 6.0 will fail to boot if COMMAND.COM is not found. Starting with MS-DOS 6.0, PC DOS 6.1, and Novell DOS 7+, users are prompted to specify a command processor path if COMMAND.COM is missing or aborted. This mechanism also permits limited runtime shell replacement without requiring a reboot.
COMMAND.COM from MS-DOS version 7.0 onward is incompatible with DR-DOS systems. This incompatibility impacts dual-boot configurations where COMMAND.COM resides in the root of drive C:\. Beginning with DR-DOS version 7.02, skipping or tracing modes no longer allow bypassing SHELL directives. A valid shell name must be specified before loading COMMAND.COM to improve system stability during boot recovery operations.
CONFIG.SYS file size restrictions differ among operating systems: MS-DOS and PC DOS limit CONFIG.SYS to several kilobytes (up to approximately 64 KB in recent releases), whereas DR-DOS imposes no size limitation beyond those inherent in the file system. MS-DOS processes CONFIG.SYS by compiling it into tokenized memory structures that enforce an ordered loading sequence—device drivers precede TSRs. Conversely, DR-DOS interprets CONFIG.SYS line-by-line during execution, enabling exact control over load order as well as conditional processing based on hardware detection or error states. This approach enhances flexibility and facilitates debugging.
The INSTALL directive in DR-DOS permits execution of non-resident software within the CONFIG.SYS processing flow, allowing temporary programs to be integrated seamlessly.
Line length limits for the SHELL directive have expanded over time: from an initial maximum of 31 characters in MS-DOS/PC DOS versions 2.0 through 4.01 up to 128 characters in later editions. DR-DOS extends this limit further to support up to 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 pre-existing DOS or Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling a dual boot configuration between Windows 9x and DOS. During a DOS boot, these files are temporarily reverted to their original filenames. Meanwhile, the Windows 95 versions are preserved under the names CONFIG.W40 and AUTOEXEC.W40.
In scenarios where Caldera DR-DOS versions 7.02 or 7.03 coexist with Windows 95, the standard Windows CONFIG.SYS and AUTOEXEC.BAT files remain untouched. Instead, DR-DOS employs its own startup files named DCONFIG.SYS and AUTODOS7.BAT.
OS/2 / Windows NT
The operating system OS/2 extensively utilizes CONFIG.SYS to set up drivers and environment variables prior to loading its graphical user interface.
Within the OS/2 subsystem of Windows NT, what OS/2 applications recognize as CONFIG.SYS is actually maintained within the system registry rather than as a separate file.
OS/2 contains several CONFIG.SYS commands that are not officially documented.
CONFIG.SYS continues to be supported 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 commands
- Caldera's CONFIG.SYS Command Reference (partial DR-DOS 7 directives)
- Details on FreeDOS CONFIG.SYS commands
- PTS-DOS 2000 Pro User Guide including CONFIG.SYS commands (incomplete)
- Unofficial German PTS-DOS FAQ with additional CONFIG.SYS commands (2004)