Template:Short description Template:Use dmy dates Template:Use list-defined references Template:Redirect-distinguish-for CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing in IBMBIO.COM or IO.SYS) during boot. CONFIG.SYS was introduced with DOS 2.0.<ref group="nb" name="NB_Durango_CONFIG.SYS"/>

UsageEdit

The directives in this file configure DOS for use with devices and applications in the system. The CONFIG.SYS directives also set up the memory managers in the system. After processing the CONFIG.SYS file, DOS proceeds to load and execute the command shell specified in the SHELL line of CONFIG.SYS, or COMMAND.COM if there is no such line. The command shell in turn is responsible for processing the AUTOEXEC.BAT file.

CONFIG.SYS is composed mostly of name=value directives which look like variable assignments. In fact, these will either define some tunable parameters often resulting in reservation of memory, or load files, mostly device drivers and terminate-and-stay-resident programs (TSRs), into memory.

In DOS, CONFIG.SYS is located in the root directory of the drive from which the system was booted.

The filename is also used by Template:Ill (DCP), an MS-DOS derivative by the former East-German VEB Robotron.<ref name="DCP_2016"/>

Some versions of DOS will probe for alternative filenames taking precedence over the default CONFIG.SYS filename if they exist:

While older versions of Concurrent DOS 3.2 to 4.1 did not support CONFIG.SYS files at all, later versions of Concurrent DOS 386 and Concurrent DOS XM, as well as Multiuser DOS, System Manager and REAL/32 will probe for CCONFIG.SYS (with "C" derived from "Concurrent") instead of CONFIG.SYS. Some versions of Multiuser DOS use a filename of CCONFIG.INI instead,<ref name="CCI_1997_PRINTDOC"/><ref name="CCI_1997_HELP"/> whereas REAL/32 is known to look for MCONFIG.SYS. These operating systems support many additional and different configuration settings (like INIT_INSTALL) not known under MS-DOS/PC DOS, but they are stored in the binary repository named CCONFIG.BIN rather than in CCONFIG.INI.<ref name="CCI_1997_PRINTDOC"/><ref name="CCI_1997_HELP"/> Both files are typically modified through a configuration utility named CONFIG.EXE only.<ref name="CCI_1997_PRINTDOC"/><ref name="CCI_1997_HELP"/>

Under DR DOS 3.31, PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02 and higher, a file named DCONFIG.SYS (with "D" derived from "DR DOS"), if present, will take precedence over CONFIG.SYS.<ref name="Paul_1997_NWDOSTIP"/><ref name="Caldera_1998_USER"/><ref name="Paul_2004_CHAIN"/><ref name="Paul_2017_DR"/> Since DR DOS 6.0 this was used in conjunction with disk compression software, where the original boot drive C: would become drive D: after loading the compression driver (and the "D" in the file name came in handy as well), but it is commonly used to help maintain multiple configuration files in multi-boot scenarios. In addition to this, OpenDOS 7.01 and DR-OpenDOS 7.02 will look for a file named ODCONFIG.SYS,<ref name="Paul_1997_OD-A3"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Paul_2004_CHAIN"/> whereas some issues of DR-DOS 7.02 and higher will instead also look for DRCONFIG.SYS.<ref name="Paul_2004_CHAIN"/> Further, under DR DOS 6.0 and higher, the SYS /DR:ext command can be used to change the default file extensions.<ref name="Paul_1997_OD-A3"/><ref name="Novell_1993_LOADER"/><ref name="Paul_2017_DR"/> For example, with SYS /L /DR:703 the written Volume Boot Record would look for a renamed and modified IBMBIO.703 system file (instead of the default IBMBIO.COM) and the IBMBIO.703 would look for IBMDOS.703 and [D]CONFIG.703 (instead of IBMDOS.COM and [D]CONFIG.SYS), so that multiple parallel sets of files can coexist in the same root directory and be selected via a boot-loader like LOADER, supplied with Multiuser DOS and DR-DOS 7.02/7.03.<ref name="Paul_1997_NWDOSTIP"/> The SHELL directive is enhanced to provide means to specify alternative AUTOEXEC.BAT files via /P[:filename.ext] and in this specific scenario, COMMAND.COM will accept file extensions other than ".BAT" as well (both features are also supported by 4DOS).<ref name="4DOS_8.00_HELP"/> Under DR DOS 6.0 and higher, the CONFIG.SYS directive CHAIN=filespec can be used to continue processing in the named file, which does not necessarily need to reside in the root directory of the boot drive.<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2004_CHAIN"/> DR-DOS 7.02 and higher optionally support an additional parameter as in CHAIN=filespec,label to jump to a specific :label in the given file.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Paul_2004_CHAIN"/> DR-DOS 7.03 and higher support a new SYS /A parameter in order to copy the corresponding CONFIG.SYS and AUTOEXEC.BAT files along with the system files.<ref name="Paul_2017_DR"/>

FreeDOS implements a similar feature with its FDCONFIG.SYS configuration file. RxDOS 7.24 and higher use RXCONFIG.SYS instead.<ref name="RxDOS724"/> PTS-DOS uses CONFIG.PTS.

Both CONFIG.SYS and AUTOEXEC.BAT can be found included in the root folder of Windows 95, and Windows 98 boot drives, as they are based on DOS. Typically, these files are left empty, with no content.

Windows Me does not even parse the CONFIG.SYS file during the Windows boot process,<ref name="Microsoft_2000_Windows-ME"/> loading environment variables from the Windows Registry instead:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

Under FlexOS, CONFIG.SYS is a binary file defining the resource managers and device drivers loaded.

ExampleEdit

An example 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>

DirectivesEdit

:;*?!Edit

Template:Anchor Template:Mono Template:Nobold
Defines labels in CONFIG.SYS as jump targets for Template:Mono, Template:Mono, Template:Mono, Template:Mono and Template:Mono directives.
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono, but can be used also for in-line comments (following other CONFIG.SYS directives). See Template:Mono. (Under MS-DOS/PC DOS the inline-comment is not ignored if put in double-quotes.)
Template:Anchor Template:Mono Template:Nobold
Used to lead in in-line comments in addition to the ; directive.
Template:Anchor Template:Mono Template:Nobold
Displays a Yes/No query and (since DR DOS 5.0) optional message to ask the user for confirmation to execute the following CONFIG.SYS directives.<ref name="Paul_2000_CONFIG"/> (FreeDOS does not support optional messages, but optional conditions in conjunction with boot menus defined with Template:Mono and Template:Mono.) (DOS 6.0 and higher supports a similar feature by adding a Template:Mono after the corresponding CONFIG.SYS directive, f.e. Template:Mono or Template:Mono instead of Template:Mono. This variant is also supported by DR DOS.)
Template:Anchor Template:Mono Template:Nobold
Unconditionally execute the following CONFIG.SYS directive.

ATemplate:NbndCEdit

Template:Anchor Template:Mono Template:Nobold
Specifies if programs can be aborted on errors.
Template:Anchor Template:Mono Template:Nobold
<ref name="Paul_1997_OD-A3"/> Configures which drives should store file access date stamps in the reserved area of directory entries in FAT file systems.<ref name="Microsoft_1995_CONFIG"/><ref name="Microsoft_1998_CONFIG"/>
Template:Anchor Template:Mono Template:Nobold
Conditional execution on AT-compatible machines only.
Template:Anchor Template:Mono Template:Nobold
Boot manager.
Template:Anchor Template:Mono Template:Nobold
Configures verbosity of error messages.
Template:Anchor Template:Mono Template:Nobold
Changes internal default serial device driver (Template:Mono to Template:Mono) for Template:Mono device.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Disables the availability of character devices outside phantom \DEV directory.
Template:Anchor Template:Mono Template:Nobold
Loads base device driver into memory.
Template:Anchor Template:Mono Template:Nobold
Emits a short beep, even if audible notifications are disabled via Template:Mono.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Specifies operating system to be booted.
Template:Anchor Template:Mono Template:Nobold
Sets or clears extended Template:Keypress checking.
Template:Anchor Template:Mono Template:Nobold
Specifies the number of disk buffers to allocate.
Template:Anchor Template:Mono Template:Nobold
Same as Template:Mono, but explicitly loads buffers into HMA or UMB (like Template:Mono under DR DOS 6.0 and higher).
Template:Anchor Template:Mono Template:Nobold
Maximum number of 512-byte cache blocks dynamically allocated from system pool.
Template:Anchor Template:Mono Template:Nobold
Maximum time in ms before unused cache blocks are returned to system pool.
Template:Anchor Template:Mono Template:Nobold
Maximum time in ms before a dirty cache block gets flushed to disk.
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono under DOS, loads programs in CONFIG.SYS. Similar to Template:Mono under OS/2, but runs in foreground and halts CONFIG.SYS processing until return.
Template:Anchor Template:Mono Template:Nobold
Specifies whether the keyboard Template:Keypress status is turned on or off.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Specifies the name of the CD-ROM hardware driver.
Template:Anchor Template:Mono Template:Nobold
Specifies the number of buffers for CD-ROM access.
Template:Anchor Template:Mono Template:Nobold
Continues CONFIG.SYS processing in new file and (since DR-DOS 7.02) at optional label.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_CHAIN"/>
Template:Anchor Template:Mono Template:Nobold
Specifies the type of clock used by the system.
Template:Anchor Template:Mono Template:Nobold
Clears screen.
Template:Anchor Template:Mono Template:Nobold
Specifies the OEM codepage(s).
Template:Anchor Template:Mono Template:Nobold
Specifies the address of the CMOS RAM.
Template:Anchor Template:Mono Template:Nobold
Specifies colors for boot menus.
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for COM1: device.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2002_CTMOUSE"/>
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for COM2: device.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2002_CTMOUSE"/>
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for COM3: device.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2002_CTMOUSE"/>
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for COM4: device.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2002_CTMOUSE"/>
Template:Anchor Template:Mono Template:Nobold
Specifies buffer for DMA.
Template:Anchor Template:Mono Template:Nobold
Redefines the lead-in character(s) for CONFIG.SYS inline-comments, or causes the following line to be ignored.
Template:Anchor Template:Mono Template:Nobold
Enables and configures international support.
Template:Anchor Template:Mono Template:Nobold
Sets display cursor to specified position for configuration menus.
Template:Anchor Template:Mono Template:Nobold
For codepage switching support.
Template:Anchor Template:Mono Template:Nobold
Specifies RAM refresh speed.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 8088 CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 8088 and higher CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 8086 CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 8086/8088 and higher CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 286 CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 286 and higher CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 386 and higher CPUs only, f.e. <syntaxhighlight lang="text" class="" style="" inline="1">CPU386 DEVICE=C:\DOS\EMM386.EXE</syntaxhighlight> or <syntaxhighlight lang="bat" class="" style="" inline="1">CPU386 GOTO label386</syntaxhighlight>
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 386 and higher CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 486 CPUs only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on 486 and higher CPUs only.

DTemplate:NbndFEdit

Template:Anchor Template:Mono Template:Nobold
Configures the relocation of the drive descriptor tables.
Template:Anchor Template:Mono Template:Nobold
Specifies the memory segment address up to which multi-sector disk data deblocking is allowed.
Template:Anchor Template:Mono Template:Nobold
Enables internal debugger support.
Template:Anchor Template:Mono Template:Nobold
Boot manager.
Template:Anchor Template:Mono Template:Nobold
Loads a device driver into memory.
Template:Anchor Template:Mono Template:Nobold
Loads a device driver into upper memory. (Same as Template:Mono in DRTemplate:NbhDOS 5.0.)
Template:Anchor Template:Mono Template:Nobold
Configures country and codepage information for KBD, SCR, LPT1, LPT2, LPT3 devices.
Template:Anchor Template:Mono Template:Nobold
Configures cache memory sizes.
Template:Anchor Template:Mono Template:Nobold
Specifies floppy disk compatibility mode.
Template:Anchor Template:Mono Template:Nobold
Specifies display font.
Template:Anchor Template:Mono<ref name="Schneider_1994"/> Template:Nobold
Specifies whether to load DOS into the high memory area and/or use upper memory. (Similar to Template:Mono under DRTemplate:NbhDOS 5.0.)
Template:Anchor Template:Mono Template:Nobold
Specifies whether to load DOS tables (Template:Mono, Template:Mono, Template:Mono, Template:Mono, Template:Mono) into upper memory.
Template:Anchor Template:Mono Template:Nobold
Specifies alternative path to search for DOS files.
Template:Anchor Template:Mono Template:Nobold
Template:Anchor Template:Mono Template:Nobold
Specifies the search path for data files.
Template:Anchor Template:Mono Template:Nobold
Specifies physical parameters of disk drives.
Template:Anchor Template:Mono Template:Nobold
Define parameters for unrecognized drives.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono.<ref name="Paul_2000_CONFIG"/>
Template:Anchor Template:Mono Template:Nobold
Enables and specifies drive for PDUMP.nnn error logs.
Template:Anchor Template:Mono Template:Nobold
Displays a message on screen.
Template:Anchor Template:Mono Template:Nobold
Displays a message including ANSI Escape sequences.
Template:Anchor Template:Mono Template:Nobold
Specifies if additional checks should be carried out when starting programs.
Template:Anchor Template:Mono Template:Nobold
Specifies an error / return code to be assumed in the following.
Template:Anchor Template:Mono Template:Nobold
Specifies the state of the A20 gate when starting a program.
Template:Anchor Template:Mono Template:Nobold
Finishes CONFIG.SYS processing before the end of the file has been reached (except for Template:Mono and Template:Mono directive processing under some conditions).
Template:Anchor Template:Mono Template:Nobold
Specified the size of the hash table for fast file open operations. Works considerably differently from the external MS-DOS/PC DOS FASTOPEN driver.
Template:Anchor Template:Mono Template:Nobold
Specifies the number of cached FCBs that can be opened at once. (Under DR-DOS, Template:Mono and Template:Mono dynamically share the same internal buffer.)
Template:Anchor Template:Mono Template:Nobold
Same as Template:Mono, but explicitly loads FCBs into upper memory.
Template:Anchor Template:Mono Template:Nobold
Boot manager.
Template:Anchor Template:Mono Template:Nobold
Specifies the number of files that can be opened at once.
Template:Anchor Template:Mono Template:Nobold
Same as Template:Mono, but explicitly loads file handles into upper memory.
Template:Anchor Template:Mono Template:Nobold
Include execution of specified CONFIG.SYS subsections. See Template:Mono.

GTemplate:NbndIEdit

Template:Anchor Template:Mono Template:Nobold
Waits for key (or timeout) and sets error level to its ASCII code (or 1024 on timeout).
Template:Anchor Template:Mono Template:Nobold
Continues CONFIG.SYS processing at specified label.
Template:Anchor Template:Mono Template:Nobold
Continues nested CONFIG.SYS processing at specified label, with Template:Mono returning to old location.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
See Template:Mono or Template:Mono or Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono or Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono or Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono.
Template:Anchor Template:Mono Template:Nobold
Installs a TSR program into memory, like Template:Mono, but installs after the DOS data segment relocation. Compare also: INSTCDEX.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono or Template:Mono or Template:Mono.
Template:Anchor Template:Mono Template:Nobold
See Template:Mono.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2000_CONFIG"/><ref name="Paul_2004_YESCHAR"/>
Template:Anchor Template:Mono Template:Nobold
See Template:Mono or Template:Mono.
Template:Anchor Template:Mono Template:Nobold
Enables and configures console and command line history buffer and extended pattern search functionality.
Template:Anchor Template:Mono Template:Nobold
Specifies the address of the HMA segment.
Template:Anchor Template:Mono Template:Nobold
Configures HLT energy saving.
Template:Anchor Template:Mono Template:Nobold
Specifies if the system should check for boot sector viruses.
Template:Anchor Template:Mono Template:Nobold
Loads installable file systems.
Template:Anchor Template:Mono Template:Nobold
Exclude execution of specified CONFIG.SYS subsections. See Template:Mono.
Template:Anchor Template:Mono Template:Nobold
Specifies programs (which would normally run at the CPU's IOPL ring 3) which should be allowed to run at ring 2 in order to directly access the hardware for I/O.
Template:Anchor Template:Mono Template:Nobold
Include directives from another menu block. (Can be emulated using Template:Mono and Template:Mono under DR-DOS.)
Template:Anchor Template:Mono Template:Nobold
Specifies whether the keyboard Template:Keypress mode status is turned on or off.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Installs a TSR program into memory.<ref name="Paul_1997_NWDOSTIP"/><ref name="4DOS_8.00_HELP"/>
Template:Anchor Template:Mono Template:Nobold
Installs a TSR program into upper memory. (Same as Template:Mono in DR DOS 5.0.)
Template:Anchor Template:Mono Template:Nobold
Installs a TSR program into memory, like Template:Mono, but installs after the DOS data segment relocation. Compare also: INSTCDEX.
Template:Anchor Template:Mono Template:Nobold
Rotates PIC controller interrupt priorities so that specified number gets the highest priority

KTemplate:NbndMEdit

Template:Anchor Template:Mono Template:Nobold
Specifies the keyboard layout.
Template:Anchor Template:Mono Template:Nobold
Specifies the address of the relocated keyboard buffer.
Template:Anchor Template:Mono Template:Nobold
Specifies the maximum of drives that can be accessed.
Template:Anchor Template:Mono Template:Nobold
Same as LASTDRIVE, but explicitly loads the Current Directory Structure (CDS) into upper memory.
Template:Anchor Template:Mono Template:Nobold
Specifies a list of search paths for DLLs.
Template:Anchor Template:Mono Template:Nobold
Specifies how old programs should be handled.
Template:Anchor Template:Mono Template:Nobold
Specifies number of file locks.
Template:Anchor Template:Mono Template:Nobold
Configures boot logo support under MS-DOS. Allows to display startup message in conjunction with PTS-DOS boot manager.
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for LPT1: device.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for LPT2: device.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Defines count and logical order and configures I/O address and timeout for LPT3: device.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Enables, defines count and logical order and configures I/O address and timeout for LPT4: device.
Template:Anchor Template:Mono Template:Nobold
Specifies time before a waiting process gets a higher priority.
Template:Anchor Template:Mono Template:Nobold
Configures memory allocation strategy
Template:Anchor Template:Mono Template:Nobold
Specifies the default DOS memory allocation strategy.
Template:Anchor Template:Mono Template:Nobold
Defines menu options.
Template:Anchor Template:Mono Template:Nobold
Specifies menu colors. (Can be emulated using Template:Mono under DR-DOS.)
Template:Anchor Template:Mono Template:Nobold
Specifies the default menu block. (Can be emulated using Template:Mono and Template:Mono under DR-DOS.)
Template:Anchor Template:Mono Template:Nobold
Specifies a menu block. (Can be emulated using Template:Mono and Template:Mono under DR-DOS.)
Template:Anchor Template:Mono Template:Nobold
Specifies whether multitrack disk operations are used or not.
Template:Anchor Template:Mono Template:Nobold
Continues CONFIG.SYS processing in new file (similar to DR-DOS CHAIN) and optionally after loading a specific device driver and setting %NEWFILE% environment variable.<ref name="Datalight_2005_ROM-DOS"/>

NTemplate:NbndQEdit

Template:Anchor Template:Mono Template:Nobold
Specifies the default No (Template:Keypress) character in Yes/No/Resume questions.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2000_CONFIG"/><ref name="Paul_2004_YESCHAR"/>)
Template:Anchor Template:Mono Template:Nobold
Specifies whether the keyboard [[Num Lock|Template:Keypress]] status is turned on or off.
Template:Anchor Template:Mono Template:Nobold
Conditional execution depending on last return code/error status only, f.e. <syntaxhighlight lang="bat" class="" style="" inline="1">ONERROR > 0 GOTO failload</syntaxhighlight> or <syntaxhighlight lang="dosbatch" class="" style="" inline="1">ONERROR > 10 ONERROR <> 17 ONERROR <= 30 ECHO Error 11-16 or 18-30 occurred</syntaxhighlight>.<ref name="Paul_1997_NWDOSTIP"/>
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono and Template:Mono under DR-DOS, displays a text and waits for a key press.
Template:Anchor Template:Mono Template:Nobold
Specifies if user must acknowledge errors in CONFIG.SYS.
Template:Anchor Template:Mono Template:Nobold
Configures buffer size for LPT1, LPT2, LPT3.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on PC-compatible machines only.
Template:Anchor Template:Mono Template:Nobold
Configures priority scheduler.
Template:Anchor Template:Mono Template:Nobold
Configures priority of programs using disk I/O.
Template:Anchor Template:Mono Template:Nobold
Changes internal default printer device driver (Template:Mono to Template:Mono, or even Template:Mono) for PRN device.<ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Specifies if DOS programs can be run or not.
Template:Anchor Template:Mono Template:Nobold
Loads user interface.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on PS/1-compatible machines only.
Template:Anchor Template:Mono Template:Nobold
Conditional execution on PS/2-compatible machines only.
Template:Anchor Template:Mono Template:Nobold
Mutes display output send to STDOUT.

RTemplate:NbndTEdit

Template:Anchor Template:Mono Template:Nobold
Specifies if system should reboot automatically on errors.
Template:Anchor Template:Mono Template:Nobold
Allows comments in CONFIG.SYS.
Template:Anchor Template:Mono Template:Nobold
Specifies a drive letter not to be used up for local block device drivers.
Template:Anchor Template:Mono Template:Nobold
Specifies the default Resume (Template:Keypress) character in Yes/No/Resume queries.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_YESCHAR"/>)
Template:Anchor Template:Mono Template:Nobold
Returns nested CONFIG.SYS processing at previous location of Template:Mono or Template:Mono directive. An optional return code can be given, otherwise 0 is assumed.
Template:Anchor Template:Mono Template:Nobold
Defines the real mode memory size.
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono, loads programs in CONFIG.SYS. Similar to Template:Mono under DOS and Template:Mono under OS/2, but loads programs in background concurrently.
Template:Anchor Template:Mono Template:Nobold
Specifies, if the first character of deleted files should be stored in the reserved area of directory entries in the FAT file system.
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono under PTS-DOS, specifies the video mode to be used under FreeDOS. Under PTS-DOS, Template:Mono does not specify the video mode but screen access methods.
Template:Anchor Template:Mono Template:Nobold
Specifies whether the keyboard [[Scroll Lock|Template:Keypress]] status is turned on or off.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_YESCHAR"/>)
Template:Anchor Template:Mono Template:Nobold
Sets environment variables.
Template:Anchor Template:Mono Template:Nobold
Loads the command interpreter shell.<ref name="Paul_2004_YESCHAR"/><ref name="Paul_2004_COMMAND"/>
Template:Anchor Template:Mono Template:Nobold
Same as Template:Mono, but supports an additional Template:Mono parameter to define the size of the pre-allocation for COMMAND.COM to relocate its resident portion into the HMA (with /MH). Can be useful to avoid HMA fragmentation in conjunction with third-party shells which cannot load into the HMA. SHELLHIGH under PTS-DOS tries to load the shell into UMBs instead.)<ref name="Paul_1997_OD-A3"/><ref name="Paul_2000_CONFIG"/><ref name="4DOS_8.00_HELP"/><ref name="Paul_2004_YESCHAR"/>
Template:Anchor Template:Mono Template:Nobold
Specifies the state of the keyboard modifiers like Shift Lock, Num Lock, Scroll Lock or Insert mode.
Template:Anchor Template:Mono Template:Nobold
Specifies if files should be closed on Template:Keypress.
Template:Anchor Template:Mono Template:Nobold
Specifies if POST should be skipped on reboots.
Template:Anchor Template:Mono Template:Nobold
Compatibility dummy - DR DOS 3.31 - 6.0 were mostly reentrant and had a different stacks layout.
Template:Anchor Template:Mono Template:Nobold
Specifies the number of stacks for hardware interrupts.
Template:Anchor Template:Mono Template:Nobold
Default stack size allocated for new threads.
Template:Anchor Template:Mono Template:Nobold
Same as Template:Mono, but explicitly loads buffers into upper memory.
Template:Anchor Template:Mono Template:Nobold
Boot manager.
Template:Anchor Template:Mono Template:Nobold
Internal use.
Template:Anchor Template:Mono Template:Nobold
Specifies how XMS A20 gate control should work.
Template:Anchor Template:Mono Template:Nobold
Specifies a submenu block. (Can be emulated using Template:Mono, Template:Mono and Template:Mono under DR-DOS.)
Template:Anchor Template:Mono Template:Nobold
Specifies a drive where to log error information instead of displaying a textmode popup screen.
Template:Anchor Template:Mono Template:Nobold
Specifies swap file path.
Template:Anchor Template:Mono Template:Nobold
Conditionally continues nested CONFIG.SYS processing at one of the specified labels depending on keys pressed, with Template:Mono returning to old location.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2000_CONFIG"/><ref name="Paul_2004_YESCHAR"/>
Template:Anchor Template:Mono Template:Nobold
Defines the default SwitChar used by the system (either '/' or '-').<ref name="4DOS_8.00_HELP"/>
Template:Anchor Template:Mono Template:Nobold
Specifies special options.<ref name="Paul_2004_YESCHAR"/><ref name="Paul_1997_OD-A3"/>
Template:Anchor Template:Mono Template:Nobold
Specifies if a fix for a FPU rounding bug should be activated or not.
Template:Anchor Template:Mono Template:Nobold
Specifies file name of alternative DOS operating systems to boot.
Template:Anchor Template:Mono Template:Nobold
Configures the location of the various DOS parts in memory.
Template:Anchor Template:Mono Template:Nobold
Load system from alternative disk area.
Template:Anchor Template:Mono Template:Nobold
Size of system memory pool from which the system dynamically allocates for various purposes
Template:Anchor Template:Mono Template:Nobold
Specifies if DOS data and code should be loaded into UMBs.
Template:Anchor Template:Mono Template:Nobold
Specifies number of concurrent threads.
Template:Anchor Template:Mono Template:Nobold
Specifies the timeouts in CONFIG.SYS single-stepping and with Template:Mono, Template:Mono and Template:Mono, and the default answers for Yes/No queries and Template:Mono selections.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2000_CONFIG"/><ref name="Paul_2004_YESCHAR"/> PTS-DOS only supports the timeout value.
Template:Anchor Template:Mono Template:Nobold
Configures minimum and maximum time slices for scheduler.
Template:Anchor Template:Mono Template:Nobold
Specifies the file extension for temporary files.
Template:Anchor Template:Mono Template:Nobold
Globally or locally enables or disables CONFIG.SYS (and AUTOEXEC.BAT) single-stepping execution.<ref name="Paul_2004_YESCHAR"/><ref name="Paul_1997_OD-A3"/> The functionality under OS/2 differs significantly from that under DOS.
Template:Anchor Template:Mono Template:Nobold
Specifies size of Template:Mono log buffer.
Template:Anchor Template:Mono Template:Nobold
Logs detailed error information.

UTemplate:NbndZEdit

Template:Anchor Template:Mono Template:Nobold
Configures DOS management to use a specific segment as UMB memory.
Template:Anchor Template:Mono Template:Nobold
Configures the UMB server used.
Template:Anchor Template:Mono Template:Nobold
Specifies the address ranges used as UMB RAM.
Template:Anchor Template:Mono Template:Nobold
Enables or disables disk write verification.
Template:Anchor Template:Mono Template:Nobold
Specifies the DOS version (and optionally the true DOS version) to be reported to programs.
Template:Anchor Template:Mono Template:Nobold
Configures VGA display status.
Template:Anchor Template:Mono Template:Nobold
Similar to Template:Mono under FreeDOS, specifies current video mode.
Template:Anchor Template:Mono Template:Nobold
Specifies if virtual DMA can be used.
Template:Anchor Template:Mono Template:Nobold
Specifies if the processor's Virtual Mode Extensions (VME) should be deactivated or not.
Template:Anchor Template:Mono Template:Nobold
Configures VxD driver for Windows.
Template:Anchor Template:Mono Template:Nobold
Configures system support for Windows.
Template:Anchor Template:Mono Template:Nobold
Configures the relocation of the Extended BIOS data area (XBDA)
Template:Anchor Template:Mono Template:Nobold
Conditional execution on XT-compatible machines only.
Template:Anchor Template:Mono Template:Nobold
Configures the built-in Year 2000 support.
Template:Anchor Template:Mono Template:Nobold
Specifies the default Yes (Template:Keypress) character in Yes/No/Resume queries.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_YESCHAR"/>
Template:Anchor Template:Mono Template:Nobold
Configures deletion tracking.

IssuesEdit

File:PC-MOS-386 boot screen.jpg
PC-MOS detecting a missing <syntaxhighlight lang="text" class="" style="" inline="1">CONFIG.SYS</syntaxhighlight> on startup

The system can still boot if this file is missing or corrupted. However, this file, along with AUTOEXEC.BAT, is essential for the complete bootup process to occur with the DOS operating system. These files contain information that is used to customize the operating system for personal use. They also contain the requirements of different software application packages. A DOS system would require troubleshooting if either of these files became damaged or corrupted.

If CONFIG.SYS does not contain a SHELL directive (or the file is corrupt or missing), DOS typically searches for COMMAND.COM in the root directory of the boot drive.<ref name="Paul_2004_YESCHAR"/> If this is not found, versions of DOS before 6.0 will not start up. MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and higher will instead display a prompt to enter the path and filename of a command processor. This recovery prompt is also displayed when the primary command processor is aborted due to faults or if it is exited deliberately.<ref name="Paul_1997_NWDOSTIP"/> (In the case of COMMAND.COM, the internal EXIT command is disabled only when the shell was started with /P.) This also provides limited means to replace the shell at runtime without having to reboot the system. Since the MS-DOS 7.0 and higher COMMAND.COM executable is incompatible with DR-DOS,<ref name="Paul_2004_COMMAND"/> but typically resides in the root of drive C: in dual-boot scenarios with DR-DOS, DR-DOS 7.02 and higher no longer allow to bypass SHELL directives in (Template:Keypress+)Template:Keypress/Template:Keypress/Template:Keypress "skip"/"trace"/"step" modes.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_YESCHAR"/><ref name="Paul_2004_COMMAND"/> (Some later issues added (Template:Keypress+)Template:Keypress to reinvoke the former Template:Keypress "skip" behaviour in order to allow recovery from problems with invalid SHELL arguments as well.<ref name="Paul_2004_YESCHAR"/>) Also, if no SHELL directive could be found when skipping CONFIG.SYS processing via (Template:Keypress+)Template:Keypress (and also with (Template:Keypress+)Template:Keypress/Template:Keypress, when the default file extension has been changed with SYS /DR:ext),<ref name="Paul_2017_DR"/> the user is prompted to enter a valid shell file name before trying to load COMMAND.COM from the root.<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_COMMAND"/> Pressing Template:Keypress without specifying a file will assume the former default.<ref name="Paul_1997_OD-A3"/>

Depending on the version, the size of the CONFIG.SYS file is limited to a few kilobytes under MS-DOS/PC DOS (up to 64 KB in most recent versions), whereas the file's size is unlimited under DR-DOS.<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2004_YESCHAR"/> This is because the former operating systems (since DOS 3.0<ref name="Ernst_1987_DRIVER"/>) will compile the file into some tokenized in-memory representation<ref name="Ernst_1987_DRIVER"/> before they sort and regroup the directives to be processed in a specific order (with device drivers always being loaded before TSRs), whereas DR-DOS interprets the file and executes most directives line-by-line, thereby giving full control over the load order of drivers and TSRs via DEVICE and INSTALL (for example to solve load order conflicts or to load a program debugger before a device driver to be debugged)<ref name="Paul_1997_OD-A3"/><ref name="Paul_2004_YESCHAR"/> and allowing to adapt the user interaction and change the flow through the file based on conditions like processor types installed, any type of keys pressed, load or input errors occurring, or return codes given by loaded software.<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_1997_OD-A3"/> This becomes particularly useful since INSTALL can also be used to run non-resident software under DR-DOS, so that temporary external programs can be integrated into the CONFIG.SYS control flow.<ref name="Paul_1997_NWDOSTIP"/><ref name="4DOS_8.00_HELP"/><ref name="Paul_1997_OD-A3"/>

In MS-DOS/PC DOS 2.0 through 4.01, the length of the SHELL line was limited to 31 characters, whereas up to 128 characters are possible in later versions.<ref name="Paul_1997_NWDOSTIP"/><ref name="4DOS_8.00_HELP"/> DR-DOS even accepts up to 255 characters.<ref name="Paul_1997_NWDOSTIP"/><ref name="4DOS_8.00_HELP"/> CONFIG.SYS directives do not accept long filenames.

Dual booting DOS and Windows 9xEdit

When installing Windows 95 over a preexisting DOS/Windows install, CONFIG.SYS and AUTOEXEC.BAT are renamed to CONFIG.DOS and AUTOEXEC.DOS. This is intended to ease dual booting between Windows 9x and DOS. When booting into DOS, they are temporarily renamed CONFIG.SYS and AUTOEXEC.BAT. Backups of the Windows 95 versions are made as CONFIG.W40 and AUTOEXEC.W40 files.

When Caldera DR-DOS 7.02/7.03 is installed on a system already containing Windows 95, Windows' CONFIG.SYS and AUTOEXEC.BAT retain those names. DR-DOS' startup files are installed as DCONFIG.SYS (a name already used in earlier versions of DR DOS) and AUTODOS7.BAT.<ref name="Caldera_1998_USER"/>

OS/2 / Windows NTEdit

OS/2 uses the CONFIG.SYS file extensively for setting up its configuration, drivers and environment before the graphical part of the system loads.

In the OS/2 subsystem of Windows NT, what appeared as CONFIG.SYS to OS/2 programs was actually stored in the registry.

There are many undocumented or poorly documented CONFIG.SYS directives used by OS/2.<ref name="Childs_1995_OS2"/>

CONFIG.SYS continues to be used by the OS/2 derivatives eComStation<ref name="ecom_2001"/> and ArcaOS.<ref name="ArcaOS_2020"/>

See alsoEdit

NotesEdit

Template:Reflist

ReferencesEdit

Template:Reflist

External linksEdit

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

  • {{#invoke:citation/CS1|citation

|CitationClass=web }} (Description of DR-DOS 7 CONFIG.SYS directives (incomplete))

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

Template:DOS system files