Jump to content

NOCHAR (CONFIG.SYS directive)

From Alfawiki
Adapted from the English Wikipedia article NOCHAR (CONFIG.SYS directive), available under CC BY-SA 4.0Updated 9 August 20252 sources
CONFIG.SYS
Company typeConfiguration file
IndustryComputer software
Founded1983
ProductsDOS and OS/2 system configuration

CONFIG.SYS serves as the main configuration file for DOS and OS/2 operating systems. This specialized ASCII text file contains setup instructions accessible to users, which are interpreted by the operating system's DOS BIOS during the boot sequence. CONFIG.SYS was first introduced with DOS version 2.0.

Usage

The directives within CONFIG.SYS configure DOS to manage devices, applications, and memory allocation. Once CONFIG.SYS is processed, DOS initiates the command interpreter specified by the SHELL directive or defaults to COMMAND.COM, which subsequently executes AUTOEXEC.BAT.

CONFIG.SYS primarily includes name=value style commands that set adjustable parameters or load device drivers and terminate-and-stay-resident programs (TSRs). This file is located in the root directory of the system’s boot drive.

Certain DOS variants prioritize alternative filenames over CONFIG.SYS:

Concurrent DOS 386, Concurrent DOS XM, Multiuser DOS, System Manager, and REAL/32 search for CCONFIG.SYS or CCONFIG.INI (in Multiuser DOS) and MCONFIG.SYS (in REAL/32). These platforms support extended configuration options stored in binary files such as CCONFIG.BIN, which are typically edited using CONFIG.EXE.

In DR DOS versions 3.31 and later—including PalmDOS 1.0, Novell DOS 7, OpenDOS 7.01, and DR-DOS 7.02+—the file DCONFIG.SYS takes precedence over CONFIG.SYS. This arrangement aids in managing multiple configurations in multi-boot setups and supports disk compression utilities. Additionally, OpenDOS 7.01 and DR-OpenDOS 7.02 check for ODCONFIG.SYS, while some DR-DOS 7.02+ editions also recognize DRCONFIG.SYS.

Starting with DR-DOS 6.0, users can alter default system file extensions using SYS /DR:ext, allowing multiple system files to coexist within a single root directory managed by boot loaders such as LOADER. The SHELL command allows specifying alternative AUTOEXEC.BAT files through /P[:filename.ext], with COMMAND.COM supporting extensions beyond ".BAT" (a feature also present in 4DOS). The CHAIN=filespec directive permits continuation of configuration processing from a different file, optionally with a label argument.

DR-DOS 7.03 and later introduced SYS /A, which copies CONFIG.SYS and AUTOEXEC.BAT alongside other system files.

Other DOS variants use different configuration filenames: FreeDOS utilizes FDCONFIG.SYS, RxDOS 7.24 and newer employ RXCONFIG.SYS, and PTS-DOS uses CONFIG.PTS.

In the case of Windows 95 and Windows 98, both based on DOS, CONFIG.SYS and AUTOEXEC.BAT exist but are typically left empty. Unlike its predecessors, Windows Me does not process CONFIG.SYS during startup; instead, it loads environment variables from the Windows Registry at:

HKLM\System\CurrentControlSet\Control\SessionManager\Environment

For FlexOS, CONFIG.SYS is a binary configuration file that specifies resource managers and device drivers loaded during system initialization.

Example

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>

:;*?!

Establishes labels within CONFIG.SYS that serve as jump destinations for the , , , and commands.
Functions like , additionally utilized for inline comments following other directives. (Note: In MS-DOS/PC DOS, inline comments enclosed in double quotes are not ignored.)
Introduces inline comments alongside the ; directive.
Prompts a Yes/No confirmation before executing subsequent CONFIG.SYS commands.[1] Starting with DOS 6.0, a comparable feature is available by appending after the directive (e.g., ). FreeDOS permits optional conditions via boot menu configurations.
Executes the ensuing CONFIG.SYS command without condition.

ATemplate:NbndC

Determines whether programs can be terminated upon encountering errors.
Sets which drives record file access dates within FAT file systems.
Enables conditional execution on AT-compatible hardware.
Boot management utility.
Adjusts verbosity level of error messages.
Alters the default serial device driver assigned to the AUX device.
Prevents character devices from being accessible outside the phantom \DEV directory.
Loads fundamental device drivers into memory.
Produces a brief beep even if audible alerts are disabled.[2]
Defines the operating system designated for next boot.
Enables or disables extended Ctrl+C detection.
Specifies the quantity of disk buffers to allocate.
Similar to BUFFERS but loads buffers into HMA or UMB areas (akin to HIBUFFERS in DR DOS).
, CACHETTL, CACHEFLUSH (Embedded DOS 6-XL only)
Control cache block allocation and flushing intervals.
Executes programs listed in CONFIG.SYS, running them in the foreground and pausing further processing until completion.
Sets keyboard Caps Lock state.[2]
, CDDBUFFERS (PTS-DOS exclusive)
Configures CD-ROM driver designation and buffer settings.
Continues processing CONFIG.SYS from a specified new file or label.[2]
, CLS, CODEPAGE, CMOSADDR, COLOR
Various system-level configurations primarily for PTS-DOS or OS/2 environments.
, COM2, COM3, COM4 (DR-DOS 7.02+)
Define parameters such as count, sequence, I/O address, and timeout for COM ports.[2]
, COMMENT(S), COUNTRY
Set DMA buffer sizes, designate comment lead characters, and configure internationalization support respectively.
, CPSW (MS-DOS 4.x), CPU flags (PTS-DOS only)
Manage cursor positioning, codepage switching capabilities, and CPU-specific conditional execution directives.

This concise enumeration underscores essential CONFIG.SYS directives pivotal for configuring and optimizing DOS-based systems. It highlights those impacting device drivers, memory allocation, boot sequence management, and hardware compatibility—vital considerations for enterprise IT operations handling legacy platforms or specialized software applications.

DTemplate:NbndF

Manages relocation of drive descriptor tables.
Defines memory segment address used for multi-sector disk data deblocking operations.
Activates internal debugger features.
Boot management utility.
Loads device drivers into conventional memory.
Loads device drivers into upper memory blocks (equivalent to in DRDOS 5.0).
Configures country codes and codepage information for keyboard, screen, and printer devices.
Sets cache memory sizes.
Determines floppy disk compatibility mode settings.
Specifies display font selection.
Controls loading of DOS into high memory and/or utilization of upper memory areas (similar to in DRDOS 5.0).
Loads DOS system tables (, , , etc.) into upper memory regions.
Defines an alternate search path for DOS executable files.
Specifies search paths for data files used by DOS programs.
Sets physical parameters for disk drives.
Defines characteristics for unrecognized disk drives.
Refer to .
Enables error logging with PDUMP.nnn files on a specified drive.
Displays text messages on-screen during processing.
Outputs messages including ANSI Escape sequences for enhanced formatting.
Adds supplementary checks when starting programs.
Sets an assumed error or return code for subsequent operations.
Configures the state of the A20 gate when launching applications.
Terminates CONFIG.SYS processing prematurely except for certain directives that must still execute.
Sets hash table size to accelerate file opening processes, differing from MS-DOS/PC DOS external driver implementations.
Defines how many cached File Control Blocks can be open simultaneously (shares buffer space with FILES under DR-DOS).
Similar to FCBS but explicitly loads these into upper memory areas.
Boot management utility.
Specifies maximum number of simultaneously open files allowed by DOS.
Functions like FILES but explicitly loads file handles into upper memory regions.
Includes execution of specific CONFIG.SYS subsections (see IGNORE).

GTemplate:NbndI

Waits for a key press or timeout, setting the error level to the ASCII value of the key or 1024 if timed out.
Resumes processing of CONFIG.SYS at a designated label.
Continues nested CONFIG.SYS processing at a specified label, then returns to the previous point.
Refer to , , or for additional details.
See also .
Additional information available at .
Consult or for related commands.
Refer to or for further instructions.
See .
Loads a TSR program into memory following relocation of the DOS data segment. Compare with INSTCDEX.
Refer to , , or for more context.
See .
Consult or for related information.
Activates console and command line history buffer with advanced pattern searching capabilities.
Defines the address of the High Memory Area (HMA) segment.
Configures energy-saving mode via HLT instruction.
Enables scanning for boot sector viruses.
Loads installable file system drivers.
Prevents execution of specific CONFIG.SYS subsections.
Permits selected programs to operate at ring 2, allowing direct hardware I/O access.
Incorporates directives from another menu section (emulated using GOSUB/RETURN in DR-DOS).
Sets the status of the keyboard Insert mode.
Loads TSR programs into memory.
Loads TSR programs into upper memory area (equivalent to HIINSTALL in DR DOS 5.0).
Installs TSR programs after relocating DOS data segment. See also INSTCDEX.
Rotates Programmable Interrupt Controller (PIC) priorities, assigning the highest priority to a specified IRQ line.

KTemplate:NbndM

Defines the keyboard layout configuration.
Specifies the relocated address of the keyboard buffer.
Sets the maximum number of accessible drives.
Similar to LASTDRIVE but additionally loads Current Directory Structure into upper memory.
Determines search paths for dynamic link libraries (DLLs).
Manages compatibility settings for legacy software.
Sets the number of file locks allowed.
Configures support for boot logo display during startup messages.
Defines count, order, I/O port address, and timeout parameters for the LPT1 device.
Same configuration as LPT1 but applied to LPT2 device.
Same as LPT1 settings but targeting LPT3 device.
Enables and configures LPT4 device similarly to other LPT ports.
Sets delay before increasing process priority level.
Specifies strategy for memory allocation management.
Defines default approach for DOS memory allocation.
Specifies menu options available during boot or operation.
Sets color scheme for menus (can be emulated with ECHO command in DR-DOS).
Defines default menu block (emulatable through TIMEOUT and SWITCH commands in DR-DOS).
Specifies individual menu blocks (can be emulated via ECHO and SWITCH in DR-DOS).
Enables or disables multitrack disk operations functionality.
Continues processing CONFIG.SYS from a new file, optionally loading a device driver and setting %NEWFILE% environment variable.

NTemplate:NbndQ

Determines default character representing "No" () in Yes/No/Resume prompts.
Sets initial state of keyboard [[Num Lock|Template:Keypress]] key (on or off).
Enables conditional execution based on previous error code, e.g., .
Displays a message and waits for key input, similar to DR-DOS commands and .
Requires user confirmation when errors occur in CONFIG.SYS processing.
Configures buffer size used by LPT ports.
Allows conditional execution on PC-compatible hardware platforms.
Sets priority level for scheduler operations.
Assigns priority for disk input/output processes.
Changes default printer device driver from LPT1 to LPT3 or LPT4 ports.
Indicates whether DOS applications are permitted to run.
Loads a user interface shell environment.
Enables conditional execution on IBM PS/1-compatible systems.
Enables conditional execution on IBM PS/2-compatible systems.
Suppresses output sent to STDOUT.

RTemplate:NbndT

Activates automatic system reboot upon encountering errors.
Permits inclusion of comments within CONFIG.SYS.
Allocates a drive letter for local block device drivers.
Sets the default Resume () response character during queries.
Returns control from nested CONFIG.SYS processing to the prior GOSUB or SWITCH point, optionally providing a return code.
Defines the size of real mode memory.
Allows simultaneous loading of programs in CONFIG.SYS, functioning similarly to CALL or INSTALL commands in DOS.
Saves the initial character of deleted files in the reserved FAT area.
Determines video mode (FreeDOS) or screen access methods (PTS-DOS).
Controls the Scroll Lock key status on the keyboard.
Assigns environment variables.
Loads the command interpreter shell.
Similar to SHELL but permits pre-allocating memory size to relocate COMMAND.COM into HMA or UMBs, reducing fragmentation.
Sets keyboard modifier keys such as Shift Lock, Num Lock, Scroll Lock, and Insert mode.
Specifies whether files close when pressing Ctrl+Alt+Del.
Indicates if POST is bypassed during reboot.
, STACKSIZE, STACKSHIGH
Configure interrupt stack sizes and buffer locations across various DOS versions.
, SYSBOOT, SYSGEN, SYSLOAD, SYSTOUMB
Manage boot settings, system memory placement, and loading into upper memory blocks (UMB), mainly for PTS-DOS and Embedded DOS variants.
, SWITCH
Enables conditional blocks within CONFIG.SYS for supported DOS versions.
, SWAPPATH, THREADS, TIMESLICE
OS/2-specific parameters controlling error handling, swap file locations, thread concurrency, and scheduler time slices.
, SWITCHES
Define default command-line switch characters ('/' or '-') and special options in DOS systems excluding PTS-DOS.
, TRAPDUMP
OS/2-specific fixes addressing FPU errors and providing detailed error logging capabilities.
, TRACE, TRACEBUF
Control CONFIG.SYS timeouts, single-step execution modes, and log buffer sizes across DR-DOS, PTS-DOS, FreeDOS, and OS/2 platforms.

UTemplate:NbndZ

Directs DOS to utilize a specified segment as Upper Memory Block (UMB) memory.
Specifies which UMB server is employed.
Defines address ranges allocated as UMB RAM.
Enables or disables verification of disk writes.
Sets the DOS version reported to applications.
Controls VGA display status settings.
Indicates the current video mode in use.
Determines if virtual DMA is permitted.
Specifies whether processor Virtual Mode Extensions should be disabled.
Configures VxD driver support for Windows environments.
Sets system support parameters for Windows operation.
Manages relocation of the Extended BIOS Data Area (XBDA).
Enables conditional execution on XT-compatible machines.
Activates built-in Year 2000 compliance support.
Defines the default affirmative response character in prompts.
Configures tracking of file deletions.

Issues

Although the system can start without CONFIG.SYS or AUTOEXEC.BAT files present, these are crucial for comprehensive DOS customization and application requirements. Problems arise when these files are missing or corrupted, necessitating troubleshooting.

If CONFIG.SYS lacks a SHELL command or is missing/corrupted itself, DOS attempts to locate COMMAND.COM in the root directory of the boot drive. Versions preceding DOS 6.0 will not boot without this file. Conversely, MS-DOS 6.0/PC DOS 6.1 and Novell DOS 7 and later prompt users to specify a command processor path if COMMAND.COM cannot be found. This prompt also appears if the shell exits or aborts intentionally, allowing limited runtime replacement of the shell without rebooting.

COMMAND.COM from MS-DOS 7.0 and later is incompatible with DR-DOS but is commonly found on drive C: root in dual-boot configurations. DR-DOS 7.02 and newer prevent skipping SHELL directives during skip/trace/step modes to improve stability in multi-boot scenarios. Recovery mechanisms exist for invalid SHELL parameters by prompting users to input valid shell filenames before loading COMMAND.COM.

CONFIG.SYS file size limits differ: MS-DOS/PC DOS enforces size restrictions (up to 64 KB in recent editions), whereas DR-DOS imposes no limits other than those dictated by the file system. MS-DOS processes CONFIG.SYS by compiling it into tokenized form and executes directives following a fixed sequence—loading device drivers before TSRs. In contrast, DR-DOS interprets CONFIG.SYS sequentially line-by-line, granting precise control over loading order and enabling conditional execution based on hardware presence or errors. This approach benefits complex setups and debugging processes.

DR-DOS supports embedding non-resident software using INSTALL, allowing temporary programs to be integrated within CONFIG.SYS processing—a valuable feature for system customization.

Earlier MS-DOS iterations restricted SHELL command lines to 31 characters. Later versions expanded this limit up to 128 characters, with DR-DOS accommodating up to 255 characters. Notably, CONFIG.SYS directives do not support long filenames.

Dual booting DOS and Windows 9x

During the installation of Windows 95 over a pre-existing DOS/Windows environment, the system renames CONFIG.SYS and AUTOEXEC.BAT to CONFIG.DOS and AUTOEXEC.DOS respectively, enabling dual-boot functionality between Windows 9x and DOS. When switching to DOS mode, these files are temporarily reverted to their original names, CONFIG.SYS and AUTOEXEC.BAT. Additionally, versions associated with Windows 95 are saved as CONFIG.W40 and AUTOEXEC.W40.

In cases where Caldera DR-DOS 7.02/7.03 is installed alongside Windows 95, the CONFIG.SYS and AUTOEXEC.BAT files used by Windows remain intact. DR-DOS employs its own startup configuration files named DCONFIG.SYS and AUTODOS7.BAT.

OS/2 / Windows NT

OS/2 depends extensively on CONFIG.SYS for loading drivers and setting the environment prior to launching its graphical user interface.

Within the Windows NT OS/2 subsystem, CONFIG.SYS is not stored as a physical file but is instead virtualized inside the system registry.

Numerous CONFIG.SYS commands in OS/2 lack comprehensive documentation or are poorly described.

CONFIG.SYS continues to be utilized by OS/2-based systems such as eComStation and ArcaOS.

See also

External links

  • Information on AUTOEXEC.BAT and CONFIG.SYS at Computer Hope
  • Overview of CONFIG.SYS directives for Windows 98 / MS-DOS 7.10 (archived)
  • Caldera's CONFIG.SYS Command Reference (archived) – summary of DR-DOS 7 directives
  • Details on FreeDOS CONFIG.SYS directives (archived)
  • PTS-DOS 2000 Pro User Manual featuring CONFIG.SYS directives (archived)
  • Unofficial German PTS-DOS FAQ (archived) including CONFIG.SYS directive explanations
  1. ↑ Cite error: Invalid <ref> tag; no text was provided for refs named Paul_2000_CONFIG
  2. ↑ 2.0 2.1 2.2 2.3 Cite error: Invalid <ref> tag; no text was provided for refs named Paul_1997_OD-A3