MS-DOS 6.22 Boot File Order in Root Directory

This article details the system file requirements and directory structure needed to successfully boot MS-DOS 6.22. It covers the required system files, their physical placement and order within the root directory table, and the chronological boot sequence the system follows to reach the command prompt.

Required Root Directory Files

For MS-DOS 6.22 to boot cleanly to a command prompt, the root directory (C:\ or A:\) must contain the following core system files:

  1. IO.SYS (Hidden, System, Read-Only)
  2. MSDOS.SYS (Hidden, System, Read-Only)
  3. COMMAND.COM (Read-Only or Normal)

While not strictly required for a basic boot, two additional configuration files are standard:

  • CONFIG.SYS (Text configuration file)
  • AUTOEXEC.BAT (Startup batch script)

Directory Entry and Disk Placement Order

In early versions of MS-DOS (versions 1.x through 3.2), strict physical directory placement was mandatory: IO.SYS had to occupy the very first entry in the root directory table, followed immediately by MSDOS.SYS.

By MS-DOS 6.22, the boot sector logic was updated, modifying these physical directory restrictions:

  • Directory Entry Order: The MS-DOS 6.22 partition boot sector contains code that searches the root directory entries specifically for the filename IO.SYS, followed by MSDOS.SYS. As a result, IO.SYS does not strictly have to be the first physical 32-byte entry in the root directory table, though utilities such as SYS.COM and FORMAT /S will write it there by default.
  • Cluster Contiguity: The initial sectors of IO.SYS must reside at the very beginning of the data area (Cluster 2) and must be contiguous. The boot sector contains only enough code to read the first few sectors of IO.SYS into memory directly without traversing complex cluster chains in the File Allocation Table (FAT).
  • MSDOS.SYS Placement: Once IO.SYS initializes, its internal routines read the FAT table directly. Consequently, MSDOS.SYS does not need to be contiguous or occupy a fixed cluster position, though it must exist in the root directory.

The Execution Boot Sequence

When the machine starts, execution follows this specific order:

  1. Master Boot Record (MBR): The BIOS loads the MBR, which locates the active primary partition.
  2. Partition Boot Record (PBR): The MBR passes control to the volume boot record of the MS-DOS partition.
  3. IO.SYS Execution: The boot sector locates IO.SYS in the root directory, loads its first sectors into memory, and hands over control. IO.SYS initializes basic hardware drivers and loads the rest of itself.
  4. MSDOS.SYS Initialization: IO.SYS loads the core operating system kernel, MSDOS.SYS, into memory. The kernel initializes file systems, device tables, and system variables.
  5. CONFIG.SYS Processing: The kernel parses CONFIG.SYS from the root directory to load specified device drivers (DEVICE=) and allocate system buffers.
  6. COMMAND.COM Loading: The system loads the default command processor, COMMAND.COM (or an alternative specified via SHELL= in CONFIG.SYS).
  7. AUTOEXEC.BAT Execution: COMMAND.COM executes AUTOEXEC.BAT to configure the environment, run startup utilities, and present the user with the command prompt.