What is IO.SYS?
IO.SYS is a hidden executable binary file that processes instructions that tell the operating system (OS) how the computer is set up when it is booted or started. IO.SYS was an essential part of MS-DOS and up to Windows 9x but is not used in newer versions of Windows.
In MS-DOS, IO.SYS supplied default device drivers and the instructions needed to initialize DOS. Windows 95 changed the role of IO.SYS by combining older IO.SYS and MSDOS.SYS files into a single file also called IO.SYS. The newer IO.SYS contains all the information needed to start a computer and eliminates the need for the CONFIG.SYS and autoexec.bat files. However, both files still come with Windows for older applications and drivers that need them.
What does IO.SYS do?
IO.SYS is a critical part of a computer's boot sequence for Windows 9x and earlier versions of Windows and works in the following ways:
- The computer is powered up either through a cold start or a warm reboot.
- The computer's BIOS firmware initializes the hardware and prepares the computer to load the OS.
- Firmware automatically causes primary storage -- a disk -- to load and execute a default boot sector to begin loading the OS.
- The boot sector includes instructions that trigger OS startup.
In the early days of personal computing, the default boot sector of DOS and early versions of Windows would start loading IO.SYS -- which was always the first entry of a disk's root directory -- into memory. The disk begins loading IO.SYS into memory to start the OS boot. IO.SYS takes over to finish loading into memory and processes a series of startup steps that include the following:
- IO.SYS prepares default devices, including other storage devices, the keyboard and the RS-232 serial port.
- IO.SYS loads the kernel MSDOS.SYS for DOS or Windows 9x.
- IO.SYS processes the CONFIG.SYS file to set up other system characteristics.
- The OS files continue to load. Operating systems like Windows load additional drivers, such as mouse and printer drivers, to prepare other devices for service.
- IO.SYS loads COMMAND.COM or another user interface (UI) shell.
- The UI -- such as a command prompt or Windows desktop -- is ready.
What are the differences between IO.SYS, MSDOS.SYS and CONFIG.SYS?
Traditionally, DOS relied on the following three key files to configure the computer and initiate the OS startup:
- IO.SYS, which provides low-level hardware preparation;
- MSDOS.SYS, which handles file access and program management; and
- CONFIG.SYS, which supplies details about the specific computer.
As DOS matured and became the default foundation for early Windows versions, IO.SYS and MSDOS.SYS files evolved and merged to some extent.
For example, Windows 95 was based on MS-DOS 7.x and Windows ME was based on MS-DOS 8.x, and these OS versions basically combined the functionality of IO.SYS and MSDOS.SYS into the IO.SYS file. This left the MSDOS.SYS file as a plain text file containing boot directions. MSDOS.SYS was not executed if WINBOOT.INI was present on the system.
CONFIG.SYS remained largely unchanged as a text file with configuration details about the specific computer, and was finally replaced by the CONFIG.NT file with 32-bit Windows versions such as early Windows NT.
Generally, end users have the ability to open, see and edit text files such as CONFIG.SYS. Editing these files, however, should only be attempted by expert computer users with a clear knowledge of configuration settings and their implications.
How to edit IO.SYS behavior
In computers using DOS or up to Windows 9x, the IO.SYS is loaded with the MSDOS.SYS file when the computer is booted. MSDOS.SYS is a text file that determines whether DOS or Windows is loaded. Because IO.SYS is a sequence of executable code rather than readable text, it is not editable like MSDOS.SYS, CONFIG.SYS or AUTOEXEC.BAT.
To change default values that come with IO.SYS, a user must change the CONFIG.SYS file. In loading IO.SYS, the system picks up any changed values that are present in the CONFIG.SYS file.
The CONFIG.SYS file can be altered using any simple text editor and supports an array of commands that influence memory use, shell selection, opens files and buffers, and other options. Any changes to the CONFIG.SYS file must be saved, and the system rebooted before those changes are reflected in memory.
Learn about the new features of Windows 11 Enterprise and how this version differs from Windows 10.