IO.SYS is the DOS BIOS of all versions of MS-DOS and Windows 9x. It contains the default MS-DOS device drivers (hardware interfacing routines) and the DOS initialization program. It is responsible and essential for every version of MS-DOS and Windows 9x to boot.

The file IO.SYS in some OEM releases (especially non PC-compatible ones) have different names such as BIOS.SYS, IOSYS.COM and IBMBIO.COM however they all perform the same task. IBM PC-DOS and DR-DOS use the file IBMBIO.COM. The name of this file is not important as long as the boot sector loads it. IO.SYS has RHSA attributes so it cannot be deleted or executed easily.

IO.SYS in Windows 9x has three parts (DOS BIOS, DOS Kernel and a bitmap). Some Emergency Boot Disks created by Windows 9x use the file name WINBOOT.SYS. Similarly, FreeDOS uses a combined system file as well, but names it KERNEL.SYS.

Boot sequence[edit | edit source]

In the IBM PC bootup sequence, the first sector of the boot disk is loaded into memory and executed. If this is the DOS boot sector, it loads the first three sectors of IO.SYS into memory and transfers control to it. IO.SYS then:

  1. Loads the rest of itself into memory.
  2. Initializes each default device driver in turn (console, disk, serial port, etc.). At this point, the default devices are available.
  3. Loads the DOS kernel and calls its initialization routine. The kernel is stored in MSDOS.SYS with MS-DOS and in IO.SYS with Windows 9x. At this point, normal file access is available. Pressing the F8 key in MS-DOS 6.0 and later triggers the step-by-step confirmation, which, for example, allows skipping AUTOEXEC.BAT. On Windows 9x, a startup menu appears, which has options such as the step-by-step confirmation, skipping WIN.COM or skipping both the startup process and WIN.COM.
  4. Processes MSDOS.SYS or WINBOOT.INI with Windows 9x.
  5. Processes the CONFIG.SYS file, in MS-DOS 2.0 and higher.
  6. Processes the AUTOEXEC.BAT file.
  7. Loads COMMAND.COM or other shells if specified. (In Windows 9x, it automatically loads WIN.COM unless "Command prompt only" is selected from the startup menu)
  8. Displays the boot screen in Windows 9x. If LOGO.SYS is present, it is used as the boot screen. Otherwise, the bitmap in IO.SYS is used.

Disk layout requirements[edit | edit source]

  • The two first entries of the root directory must be IO.SYS and MSDOS.SYS, in that order (except for Windows 9x).
  • IO.SYS must be the first file stored in the FAT directory table for files (except for Windows 9x).
  • The files IO.SYS and MSDOS.SYS must be contiguous (except for Windows 9x).
  • MS-DOS 3.30 allows sector 4 and higher to be fragmented.
  • MS-DOS 5.00 allows the first 3 sectors of IO.SYS to be allocated anywhere (as long as they are contiguous).

See also[edit | edit source]