DEVICEHIGH (CONFIG.SYS directive)
| Company type | Configuration file |
|---|---|
| Industry | Computer software |
| Predecessor | None |
| Founded | 1983 |
| Headquarters | N/A , N/A |
Area served | DOS and OS/2 operating systems |
| Products | Configuration commands for DOS BIOS during boot sequence |
CONFIG.SYS serves as the chief configuration file for DOS and OS/2 operating systems. This plain text file contains configuration commands interpreted by the operating system's DOS BIOS—usually found in IBMBIO.COM or IO.SYS—during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.
Usage
The directives within CONFIG.SYS are utilized to configure DOS for hardware and software components, including memory management utilities. Once CONFIG.SYS has been processed, DOS initiates the command interpreter designated by the SHELL directive; if none is specified, it defaults to COMMAND.COM, which subsequently executes the AUTOEXEC.BAT script.
Typically, this file comprises name=value pairs that set adjustable parameters or load essential files 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.
Certain DOS variants check for alternative filenames that take precedence over CONFIG.SYS:
- Advanced editions of Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, and REAL/32 prioritize CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS) over CONFIG.SYS. These platforms maintain extended configuration data within a binary file named CCONFIG.BIN, which can be modified using CONFIG.EXE.
- From version 3.31 onward, DR DOS, including variants like PalmDOS, Novell DOS, and OpenDOS, favor DCONFIG.SYS for enhanced multi-boot and disk compression support. OpenDOS 7.01 and DR-OpenDOS 7.02 also recognize ODCONFIG.SYS, while some DR-DOS releases from 7.02 and later accept DRCONFIG.SYS.
- Starting with DR-DOS 6.0, users can alter default system file extensions via SYS /DR:ext, allowing coexistence of multiple system file sets within a single root directory selectable through boot loaders such as LOADER.
- The SHELL statement permits specifying alternate AUTOEXEC.BAT filenames using /P[:filename.ext], with COMMAND.COM supporting non-.BAT extensions in this mode—a feature also offered by 4DOS.
- DR-DOS 6.0 and newer versions introduce CHAIN=filespec, enabling continuation of configuration processing from another file, optionally jumping to a specific label within that file.
- From DR-DOS 7.03 onward, the command SYS /A facilitates copying CONFIG.SYS and AUTOEXEC.BAT alongside system files.
Other DOS-compatible systems employ comparable mechanisms:
- FDCONFIG.SYS is used by FreeDOS, - RXCONFIG.SYS is recognized by RxDOS, - CONFIG.PTS is utilized in PTS-DOS.
In Windows 95 and 98, although CONFIG.SYS and AUTOEXEC.BAT remain present on boot drives, they are generally left empty. Windows Me does not process CONFIG.SYS during startup; instead, it retrieves environment variables directly from the Windows Registry at:
- HKLM\System\CurrentControlSet\Control\SessionManager\Environment
Within the FlexOS environment, CONFIG.SYS exists as a binary file that specifies resource managers and device drivers loaded during system initialization.
Example
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 , but is also utilized for inline comments following other directives. (In MS-DOS/PC DOS, inline remarks enclosed in double quotes are not disregarded.)
- Used to initiate inline comments alongside the ; command.
- Presents a Yes/No prompt with an optional message to confirm execution of subsequent CONFIG.SYS commands. (FreeDOS supports conditional prompts with boot menus but lacks optional messages.) DOS version 6.0 and later offer a comparable feature by appending after directives.
- Forces unconditional execution of the next CONFIG.SYS command.
ATemplate:NbndC
- Determines whether programs can be aborted upon encountering errors.
- Specifies which drives record file access timestamps within FAT file systems.
- Enables conditional execution on AT-compatible hardware.
- Boot manager utility.
- Adjusts the verbosity level of error messages.
- Alters the default serial device driver assignment for AUX: from COM1: to COM4:.
- Prevents access to character devices located outside the phantom \DEV directory.
- Loads a fundamental device driver into memory.
- Produces a beep sound even if audible alerts are disabled.
- Indicates the next operating system to boot.
- Enables or disables extended Ctrl+C checking functionality.
- Defines the quantity of disk buffers to allocate.
- Similar to BUFFERS but allocates buffers within HMA or UMB memory areas.
- Specifies the maximum number of cache blocks allocated from the system pool.
- Sets the maximum duration before unused cache blocks return to the system pool.
- Defines the maximum interval before dirty cache blocks are flushed to disk.
- Executes programs during CONFIG.SYS processing in the foreground, pausing further processing until completion.
- Configures Caps Lock key status on the keyboard.
- Names the CD-ROM driver to be used.
- Sets the number of buffers allocated for CD-ROM access.
- ; Allows continuation of CONFIG.SYS processing in a new file or label location.
- Specifies the type of system clock in use.
- ; Clears the display screen.
- ; Defines OEM codepages utilized by the system.
- ; Specifies CMOS RAM address parameters.
- ; Determines boot menu color settings.
- , ;, ;, ;
- Configure count, logical sequence, I/O port address, and timeout intervals for COM ports respectively.
- Defines DMA buffer parameters.
- Redefines lead-in characters for inline comments or causes the subsequent line to be ignored entirely.
- Activates and configures international language support features.
- Sets cursor position within configuration menus on display screens.
- Enables codepage switching capabilities.
- Specifies RAM refresh speed settings.
Conditional CPU execution directives (applicable in PTS-DOS and DR-DOS) include: CPU88, CPU88+, CPU86, CPU86+, CPU286, CPU286+, CPU386, CPU386+, CPU486, CPU486+. For instance, using CPU386 DEVICE=C:\DOS\EMM386.EXE runs that directive only on compatible CPUs.
DTemplate:NbndF
- ; Manages relocation of drive descriptor tables in memory.
- ; Specifies memory segment address used for deblocking multi-sector disk data transfers.
- ; Enables support for an internal debugger tool.
- ; Boot manager component.
- ; Loads a device driver into system memory.
- ; Loads device drivers into upper memory areas (equivalent to in DRDOS 5.0).
- ; Configures country and codepage information for keyboard, screen, and printer devices (KBD, SCR, LPT).
- ; Sets cache memory sizes for performance tuning.
- ; Defines floppy disk compatibility modes.
- ; Specifies font used for display output.
- ; Controls loading of DOS into high memory and utilization of upper memory blocks (UMBs).
- ; Loads DOS tables such as BUFFERS, FCBS, FILES, LASTDRIVE, STACKS into upper memory regions.
- ; Defines alternative paths for DOS system files.
- ; Specifies search paths for data files used by DOS utilities and drivers.
Defines physical parameters of disk drives.
Defines parameters for unknown drives.
See .
Enables drive specification for error log files (PDUMP.nnn).
Displays messages on screen.
Displays messages including ANSI escape sequences.
Activates additional checks when launching programs.
Specifies assumed error or return codes for subsequent commands.
Sets A20 gate state when starting programs.
Terminates CONFIG.SYS processing before reaching file end (except SWITCHES and SHELL under certain conditions).
Sets hash table size for faster file open operations, differing from MS-DOS/PC DOS FASTOPEN driver.
Specifies number of cached File Control Blocks (FCBs) that can be open simultaneously (shares buffer with FILES in DR-DOS).
Similar to FCBS but loads FCBs explicitly into upper memory.
Boot manager function.
Sets maximum number of simultaneously open files allowed.
Similar to FILES but explicitly loads file handles into upper memory.
Includes 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 or 1024 if timed out.
- Continues processing CONFIG.SYS from a designated label.
- Resumes nested CONFIG.SYS processing at a specified label and returns to the previous point.
- Refer to , , or for additional details.
- Refer to for further information.
- See for more context.
- Consult or for related instructions.
- Consult or for related instructions.
- Refer to for supplementary details.
- Loads a TSR program into memory following DOS data segment relocation. Compare with INSTCDEX.
- Refer to , , or for further guidance.
- See for additional details.
- Consult or for related instructions.
- Activates console and command line history buffer with enhanced pattern search capabilities.
- Defines the HMA segment address.
- Configures CPU halt (HLT) power-saving behavior.
- Enables virus scanning of the system boot sector.
- Loads installable file system drivers.
- Prevents execution of specific CONFIG.SYS subsections.
- Permits certain programs to execute at CPU ring 2, allowing direct hardware I/O access.
- Incorporates directives from another menu block, emulated via GOSUB/RETURN in DR-DOS.
- Sets the keyboard Insert mode state.
- Installs a TSR program into memory.
- Installs a TSR program into upper memory (equivalent to HIINSTALL in DR DOS 5.0).
- Loads a TSR program after relocating the DOS data segment. Compare with INSTCDEX.
- Adjusts PIC interrupt priority, assigning highest priority to a specified IRQ number.
KTemplate:NbndM
- Defines the keyboard layout configuration.
- Specifies the address of the relocated keyboard input buffer.
- Sets the maximum number of accessible drives.
- Similar to LASTDRIVE but loads the Current Directory Structure (CDS) into upper memory.
- Lists directories searched for DLL files.
- Manages compatibility with legacy applications.
- Determines the number of file locks allowed.
- Configures boot logo support (ignored in DR-DOS version 7.02 and later).
- Defines count, order, I/O address, and timeout parameters for the LPT1 device.
- Applies identical settings as LPT1 for the LPT2 device.
- Applies identical settings as LPT1 for the LPT3 device.
- Enables and configures the LPT4 device including count and timeout values.
- Sets delay before increasing process priority level.
- Configures memory allocation strategy preferences.
- Specifies default DOS memory allocation method.
- Defines menu option entries.
- Sets color schemes for menus (can be emulated under DR-DOS).
- Specifies default menu block (emulatable in DR-DOS).
- Defines multiple menu blocks (emulatable in DR-DOS).
- Enables multitrack disk operation support.
- Continues processing CONFIG.SYS from another file, optionally loading a device driver and setting %NEWFILE% environment variable.
NTemplate:NbndQ
- Defines default No () character used in Yes/No/Resume prompts.
- Controls keyboard [[Num Lock|Template:Keypress]] key status on startup.
- Enables conditional execution based on previous error code, e.g., .
- Displays a message and waits for key press, similar to DR-DOS's and .
- Requires user confirmation on errors encountered in CONFIG.SYS processing.
- Sets buffer size for LPT printer ports.
- Conditional execution on PC-compatible systems only.
- Configures process scheduler priority settings.
- Sets priority level for disk I/O operations programs.
- Changes default printer device driver assignment among LPT1 to LPT3 or LPT4 ports.
- Specifies whether DOS applications are allowed to run.
- Loads a user interface shell environment.
- Conditional execution on IBM PS/1-compatible systems only.
- Conditional execution on IBM PS/2-compatible systems only.
- Suppresses output sent to STDOUT.
RTemplate:NbndT
- Activates automatic reboot when errors occur.
- Permits inclusion of comments within CONFIG.SYS.
- Allocates drive letters for local block device drivers.
- Defines the default Resume () character displayed in prompts.
- Returns nested CONFIG.SYS processing to the previous GOSUB or SWITCH location, optionally with a return code.
- Sets the size of real mode memory.
- Enables concurrent loading of programs specified in CONFIG.SYS (background execution).
- Stores the first character of deleted files in reserved FAT directory entry areas.
- Specifies video modes under FreeDOS or screen access methods under PTS-DOS.
- Controls the keyboard Scroll Lock state.
- Assigns environment variables.
- Loads the command interpreter shell.
- Similar to SHELL but supports preloading COMMAND.COM into HMA or UMBs to reduce fragmentation, beneficial when using third-party shells.
- Defines keyboard modifier key states such as Shift Lock, Num Lock, Scroll Lock, and Insert.
- Determines whether files close upon pressing Ctrl+Alt+Del.
- Skips Power-On Self Test (POST) during reboot.
- , STACKSIZE, STACKSHIGH
- Configure stacks and buffer locations for hardware interrupts across various DOS versions and derivatives.
- , SYSBOOT, SYSGEN, SYSLOAD
- PTS-DOS specific commands managing boot managers, alternative OS boot files, memory layouts, and system load addresses.
- , SWITCH
- Used in DR DOS to define submenu blocks and enable conditional nested CONFIG.SYS processing.
- , SWAPPATH
- OS/2 directives specifying error log drive and swap file paths.
- , SWITCHES
- Define default command-line switch characters ('/' or '-') and special options across different DOS variants.
- , TRACEBUF
- Controls enabling of CONFIG.SYS single-step execution and sets log buffer sizes depending on the operating system.
- Additional directives like SXFAKEHWFPU (fixes FPU bugs), THREADS (enables concurrent threads), TIMEOUT (sets timeouts and default responses), TIMESLICE (scheduler quantum), TMPEXT (temporary file extensions), and TRAPDUMP (error logging) provide advanced system configuration primarily in OS/2, DR-DOS, PTS-DOS, and FreeDOS environments.
UTemplate:NbndZ
- Assigns a specific segment for use as Upper Memory Block (UMB).
- Configures the UMB server settings.
- Defines address ranges designated as UMB RAM.
- Enables or disables verification of disk writes.
- Specifies the DOS version reported to applications.
- Manages VGA display status parameters.
- Sets the current video mode configuration.
- Determines if virtual DMA usage is permitted.
- Enables or disables Virtual Mode Extensions (VME) on the processor.
- Configures Windows VxD drivers.
- Sets system support parameters for Windows environments.
- Manages relocation of the Extended BIOS Data Area (XBDA).
- Allows conditional execution specifically on XT-compatible machines.
- Configures built-in support for Year 2000 compliance.
- Defines the default affirmative character in prompts.
- Controls deletion tracking features.
Issues
Although the system can boot without CONFIG.SYS or AUTOEXEC.BAT files, these are crucial for complete customization and meeting software requirements. Corruption or loss of these files requires diagnostic efforts.
If the SHELL directive is absent from CONFIG.SYS or if the file is missing or damaged, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Earlier versions prior to 6.0 will fail to boot if COMMAND.COM is not found. In contrast, MS-DOS 6.0, PC DOS 6.1, and Novell DOS 7 and later prompt users to specify a command processor path. This recovery prompt also appears if the primary command processor terminates unexpectedly or is exited deliberately, allowing limited runtime replacement of the shell without rebooting.
COMMAND.COM from MS-DOS version 7.0 onward is not compatible with DR-DOS but typically resides on drive C: in dual-boot configurations. DR-DOS version 7.02 and later enforce SHELL directives during skip/trace/step operations, with some recent versions incorporating mechanisms to recover from invalid SHELL arguments. If no valid shell is detected during CONFIG.SYS skipping, users are prompted to enter a shell filename before COMMAND.COM loads.
CONFIG.SYS file size is restricted to a few kilobytes under MS-DOS/PC DOS (up to 64 KB in newer editions) but is unlimited under DR-DOS due to its distinct processing approach. MS-DOS tokenizes the file and processes directives in a fixed sequence—drivers before TSRs—while DR-DOS interprets lines sequentially, allowing flexible loading order and conditional logic based on hardware detection or error conditions. This adaptability facilitates integration of temporary external programs via INSTALL.
In MS-DOS/PC DOS versions 2.0 through 4.01, the SHELL directive was limited to a maximum of 31 characters. Later releases increased this limit up to 128 characters, whereas DR-DOS supports up to 255 characters. CONFIG.SYS directives do not accommodate long filenames.
Dual booting DOS and Windows 9x
When Windows 95 is installed over a pre-existing DOS or Windows system, the files CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS to enable dual boot functionality between Windows 9x and DOS. Entering DOS mode temporarily reverts these files to their original names. Backup copies of Windows 95 configuration files are saved as CONFIG.W40 and AUTOEXEC.W40.
In setups where Caldera DR-DOS 7.02/7.03 coexists with Windows 95, the Windows CONFIG.SYS and AUTOEXEC.BAT remain unaltered. Instead, DR-DOS employs DCONFIG.SYS and AUTODOS7.BAT as its initialization scripts.
OS/2 / Windows NT
OS/2 depends extensively on CONFIG.SYS to load drivers and set the environment prior to launching its graphical user interface.
Within the OS/2 subsystem integrated into Windows NT, the CONFIG.SYS that OS/2 applications access is actually maintained within the system registry.
Numerous CONFIG.SYS commands for OS/2 remain undocumented.
CONFIG.SYS 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) – partial DR-DOS 7 directives
- FreeDOS CONFIG.SYS directive descriptions
- PTS-DOS 2000 Pro User Manual – partial list of CONFIG.SYS commands
- Unofficial German PTS-DOS FAQ including details on CONFIG.SYS directives