CONFIG.SYS, placed in the root directory of an MS-DOS boot drive, is the main system configuration file under MS-DOS and related operating systems.

CONFIG.SYS is executed by the DOS kernel, which is stored in IO.SYS, when the system boots. Each line is read, and specifies some configuration element and its setting. Each line is in the form name=value. The following list is not exhaustive.

DEVICE=path {param}
There may be any number of DEVICE lines in a CONFIG.SYS file. Each DEVICE line specifies the path of a device driver that is to be loaded, as well as any optional parameter to be passed to that device driver. Many device drivers come with DOS, including SETVER.EXE, HIMEM.SYS, and ANSI.SYS. Device drivers may indicate one or more character devices or one block device. More recent versions of DOS support an analogous DEVICEHIGH command that will load the driver into high memory.
SHELL=path {param}
The one optional SHELL line should indicate the path and any optional parameters of a command interpreter to load. That is, this line indicates the user interface that DOS should use. If unspecified, DOS traditionally looks for COMMAND.COM in the root of the boot drive, and executes it with the /P parameter, although new versions of DOS may also look for it in other locations. The COMSPEC environment variable should point to the file indicated in this line.
FILES=int
The FILES line should indicate an integral maximum number of file handles that are allowed to be simultaneously open.
FCBS=int,int
Before DOS 2.0, DOS used FCBs, or File Control Blocks, instead of file handles, to manage file access. This line controls the number of this archaic type of file access to allocate. I forget what the difference is between the two integer parameters.
DOS={HIGH,LOW},{UMB,NOUMB}
This line specifies two important DOS configuration items regarding memory use in versions of DOS since 5.0. The first indicates if the DOS kernel should attempt to load itself into high memory. The second indicates if DOS should make UMBs, or Upper Memory Blocks, available for loading user programs and device drivers. It is necessary to make UMBs available to use the DEVICEHIGH and LOADHIGH commands, in addition to loading EMM386.
LASTDRIVE=drive
This line should specify the last available drive letter that DOS may allocate. LASTDRIVE=Z is the maximum.
BREAK={ON,OFF}
Turns on or off control-C checking.
REM text
This indicates a comment. This is only supported in versions of DOS since 5.0.

There are third-party utilities that can be used to load an MS-DOS device driver from the command line after CONFIG.SYS has been executed, thereby saving you a reboot. In addition, some versions of IBM's PC DOS, as opposed to MS-DOS, come with such a utility.

CONFIG.SYS is still executed under versions of Windows that are based on DOS, but not those based on the NT kernel.

OS/2 also has a CONFIG.SYS file, and it is quite important in that operating system as well. In supports numerous commands above and beyond those of the DOS CONFIG.SYS. In Windows NT, CONFIG.SYS has largely been rendered obsolete as a configurator in favor of the Registry. Please see also AUTOEXEC.BAT and MSDOS.SYS, other important DOS configuration files.


Like all my write-ups, please bear in mind that this is not cut-and-paste; this is all from memory. Scary, eh?

Log in or register to write something here or to contact authors.