IO.SYS

From BetaWiki
Jump to navigation Jump to search

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 uses the file name WINBOOT.SYS. Similarly, FreeDOS uses a combined system file as well, but names it KERNEL.SYS.

Boot sequence[edit]

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.
  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)
  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]

  • 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]