Understanding the Boot Process for MS-DOS and Windows 9x
This section will cover the boot process for Windows 9x, which has not changed much since the days of MS-DOS and Windows 3.11. It will discuss the difference in the process for Windows 95 and Windows 98, starting right after the Power-On Self-Test (POST) and continuing through to the loading of Windows 9x.When covering this material, you will see the options that relate to the version of MS-DOS that is included with Windows 9x, and not the last packaged version of MS-DOS, which was MS-DOS 6.22. On your job, you will most likely use the MS-DOS files from Windows 98, which has support FAT32 and is now the most popular version for people who are using MS-DOS boot disks.
The MS-DOS/Windows 9x boot loader is io.sys. This file executes and proceeds to display the opening Windows splash screen, as well as launching the real-mode operating system components of Windows 9x. The Windows splash screen is the graphic with the cloud background and the animated band at the bottom of the screen that is displayed at the start of the boot processes. Real-mode is one of the operating modes of Windows 9x. It is used to process the initial boot of Windows 9x, to process boot files such as autoexec.bat, and to call win.com, which is the Windows GUI (Graphical User Interface). When in real-mode, the memory structures and restrictions that apply to MS-DOS apply to Windows 9x, which means that all components are limited to the first 640KB of memory. When you read "Managing Memory," later in this tutorial, you will learn about all of the limits that affect real-mode networking, and how to optimize your use of real-mode memory.
When loading the logo for display on the splash screen, Windows 9x first checks to see if a file (c:\logo.sys) exists. If it does exist, it displays the file; if it does not exist, then it uses a copy of the file that is embedded in io.sys.
If you do not like your startup splash screen, you can make your own by working with a bitmapped graphic that is 320x400 pixels in size, with 256 colors. Just save the graphic as c:\logo.sys. You can also create or modify c:\windows\logow.sys ("Windows is shutting down.") and c:\windows\ logos.sys ("It is now safe to turn off your computer."). Both of these files have the same dimensions as the c:\logo.sys graphic.
The io.sys file reads MS-DOS environment settings from msdos.sys and then config.sys before moving on to loading and passing control to command. com. command.com then calls on autoexec.bat and processes all of the commands in the batch file. At the end of processing config.sys (or if it does not exist), Windows 9x will enforce certain settings that are deemed necessary to Windows 9x, and it also ensures that certain required systemlevel device drivers (such as himem.sys) get loaded. If autoexec.bat does not exist, there are also certain elements that will be processed and enforced. The following section will describe msdos.sys, config.sys, and autoexec. bat in more detail. All of these files exist on the root of your bootable drive, usually C:.
You can't configure io.sys directly, but when diagnosing boot problems, it is one of the files that you should check.
Remember: Remember that io.sys is OS version-specific. It has been written to load only one version of the OS, which means that there is a version to load MSDOS 6.22, one unique versions to load for Windows 95 Upgrade/Retail, Windows 95 OSR2, Windows 98, Windows 98SE (Second Edition), and Windows ME (Millennium Edition). Keep this in mind when you're diagnosing boot problems.
The Windows 2000 and Windows XP boot processes do not use io.sys, but rather they use ntldr as the boot loader, which you will read about in "Standard Boot Process for Windows XP," later in this tutorial.
In this tutorial:
- System Files and the Boot Process
- Power-On Self-Test (POST) Process
- Standard Boot Process for Windows XP
- ARC pathnames
- The device load process
- Loading the shell
- Understanding the Boot Process for MS-DOS and Windows 9x
- win.com and vmm32
- Managing Memory
- Expanded memory
- Upper memory
- Examining Other Boot Process Files