CONFIG.SYS (DOS)

CONFIG.SYS is a plain text file which handles the boot configuration and setup of a DOS operating system. Further configuration is then done with another configuration text (batch) file, AUTOEXEC.BAT. Configuration directives in CONFIG.SYS may only be loaded into the environment after a cold or warm reboot of the computer, while items placed in AUTOEXEC.BAT may be changed from the command line while the system is running (PATH, programs to start, etc.).

In a dual boot configuration, the DOS CONFIG.SYS is renamed CONFIG.DOS (AUTOEXEC.BAT is similarly renamed to AUTOEXEC.DOS). See BOOT.COM for more details.

Some DOS configuration parameters are not relevant to DOS running as a VDM (Virtual DOS Machine) under OS/2, specifically, those device drivers or kernel directives which access hardware directly (e.g., DRIVPARM), as OS/2 handles all physical device interactions.

Common CONFIG.SYS commands

 * BREAK
 * BUFFERS:The number of buffers DOS reserves for disk access, can be one to 99, the more there are the faster disk access can be but available memory will be lower. If you use a disk caching program this should be set very low.
 * Options:
 * n (read ahead buffers, 1 to 9 or 0 to 9 depending on version)
 * Usage example: BUFFERS=20,2


 * COMMENT
 * COUNTRY
 * DEVICE:Loads a device driver into memory
 * Options: Driver file name and path
 * Usage example: DEVICE=C:\DOS\HIMEM.SYS


 * DEVICEHIGH:Loads drivers into high memory
 * Usage example: DEVICEHIGH=C:\DOS\ANSI.SYS


 * DOS:Loads DOS or portions of it into high memory, only works if the HIGHMEM.SYS or comparable driver is present and configured in CONFIG.SYS
 * Options: HIGH - UMB
 * Usage example: DOS=HIGH,UMB


 * DOSDATA
 * DRIVPARM
 * FCBS:The number of files control blocks DOS reserves for other users on a network, on a standalone PC this should be 0 unless a program specifically requires otherwise.
 * Options: None
 * Usage example: FCBS=30


 * FILES:The number of files DOS allows applications and shells to have open at once, keep as low as possible since DOS reserves memory space for file handlers. With MS Windows systems running 1.x, 2.x and 3.x, the optimal number of files is around 30, but can be under 10 if Windows and database programs are not used. Some databases and database driven systems like accounting packages can require a much higher number of files open.
 * Options: None
 * Usage example: FILES=30


 * INCLUDE
 * INSTALL
 * INSTALLHIGH
 * LASTDRIVE:Tells DOS to stop searching for drives after a specific drive letter has been found, useful for networked workstations but DOS will continue searching for drive letters indefinitely if this is not used.
 * Options: None
 * Usage example: LASTDRIVE=Z


 * MENUCOLOR
 * MENUDEFAULT
 * MENUITEM
 * MULTITRACK
 * NUMLOCK
 * REM:Comment
 * SET:Sets DOS environment variables
 * SHELL:Command shell
 * STACKS:Used to control the behaviour of stack swapping in older versions of DOS, best ignored and left as "STACKS=0,0" unless a program specifically requires anything else.
 * Options: None
 * Usage example: STACKS=0,0


 * SUBMENU
 * SWITCHES

Outdated commands:
 * AVAILDEV:usage of \DEV prefix for device names (DOS 2.x)
 * CPSW:enable code page switching (DOS 4.0)
 * IFS:installable file system driver (DOS 4.0)
 * STRING:string substitution buffer (DOS 3.0)
 * SWITCHAR:default switch character (DOS 2.x)

Common CONFIG.SYS drivers

 * ANSI.SYS - Allows the change of keyboard, graphics and display characters
 * Options:
 * /X
 * /K
 * /R
 * Usage example: DEVICE=C:\DOS\ANSI.SYS</tt>


 * EMM386.EXE - Expanded memory manager for computers with 386 or newer processors, alternatives existed for 286 and older processors. Allows DOS to access more than 1MB of memory.
 * Options:
 * on|off|auto
 * NOEMS
 * W=ON|OFF
 * MIN=size (in kb)
 * M x (x = address in hex)
 * FRAME=address (in hex)
 * /P mmmm (mmmm = address in hex)
 * P n = address (in hex)
 * X=mmmm-nnnn
 * i=mmmm-nnnn
 * L= minXMS
 * A= altregs
 * H= handles
 * D=nnn
 * RAM=mmmm-nnnn
 * NOVCPI
 * HIGHSCAN
 * VERBOSE
 * WIN=mmmm-nnnn
 * NOHI
 * ROM=mmmm-nnnn
 * NOMOVEXBDA
 * ALTBOOT
 * Usage example: DEVICE=C:\Windows\EMM386.EXE NOEMS</tt>


 * HIMEM.SYS - Allows the loading of a device drivers into High Memory
 * Options:
 * /A20CONTROL:ON|OFF
 * /CPUCLOCK:ON|OFF
 * /EISA
 * /HMAMIN=m
 * /INT15=xxxx
 * /NUMHANDLES=n
 * /MACHINE:xxxx
 * /SHADOWRAM:ON|OFF
 * /TESTMEM:ON|OFF
 * /VERBOSE
 * Usage example: DEVICE=C:\DOS\HIMEM.SYS /SHADOWRAM:ON /NUMHANDLES=128</tt>

Text editors with CONFIG.SYS support

 * Boxer - CONFIG.SYS syntax support included by default - Commercial - OS/2 and DOS versions discontinued, Win32 versions still available.