MS-DOS 6.22 Boot Menu Configuration File
In MS-DOS 6.22, system configuration choices and startup menu
definitions are stored directly inside the CONFIG.SYS file
located in the root directory of the boot drive. This article explains
the role of CONFIG.SYS in managing the multi-configuration
boot menu, how configuration blocks are structured, and how the user's
menu choice is processed during the boot sequence.
The Role of CONFIG.SYS
The CONFIG.SYS file is a plain text file that DOS reads
immediately after the operating system kernel (IO.SYS and
MSDOS.SYS) loads into memory. Introduced to allow multiple
startup configurations in MS-DOS 6.0 and refined through version 6.22,
the multi-config feature allows users to define alternative system
configurations—such as separate profiles for gaming, networking, or
general productivity—all contained within this single file.
How the Boot Menu Is Structured
The boot menu is defined within CONFIG.SYS using
specialized section headers:
[menu]: Declares the start of the boot menu options.menuitem: Defines an selectable configuration block and its associated description text (for example,menuitem=GAME,MS-DOS Gaming Configuration).menudefault: Specifies the default block to boot if the user does not make a selection within a specified timeout period.menucolor: Sets the foreground and background text colors for the menu interface.
Below the [menu] block, individual configuration
sections are declared using bracketed block names (e.g.,
[GAME], [NORMAL]). Each block contains the
specific drivers, memory managers (such as HIMEM.SYS and
EMM386.EXE), and system parameters (BUFFERS,
FILES, DOS=HIGH,UMB) assigned to that profile.
A [common] block can also be included for directives that
apply to every choice.
Runtime Selection Handling
When you select an option from the menu during boot:
- MS-DOS reads
CONFIG.SYSand executes only the directives within the matching configuration block, alongside any[common]blocks. - MS-DOS assigns the name of the chosen block to a temporary internal
environment variable named
%CONFIG%. - After
CONFIG.SYScompletes,AUTOEXEC.BATexecutes. Batch scripts insideAUTOEXEC.BATuse the%CONFIG%variable alongsideGOTOstatements (for example,GOTO %CONFIG%) to load matching software, sound card drivers, mouse drivers, or network settings corresponding to the selection made inCONFIG.SYS.