Unleashing Windows: Modifying the Windows 95 Startup


Last time, I talked about how to setup different boot options with Windows 95, Windows NT, and OS/2. This time, we'll look at the Windows 95 startup process a bit closer and find out how many different ways we can modify the way Windows 95 starts. Windows 95, by default, doesn't show much when it boots up to keep the novice user from having to worry about a lot if different options. But, if you're the type of user that likes to really understand what's going on or want to modify how things start, you'll find a lot of interesting things that you can see about the Windows 95 startup. A word of warning before we begin, remember that you can do a lot of damage if you aren't careful!!!

Let's take a look at how Windows 95 boots. First, the boot sector is read off the hard disk which contains an IO.SYS loader. This loads the IO.SYS file and then turns control over to it. All the IO.SYS does is start the file system and displays the opening graphic screen. Then, the Plug-and-Play (PNP) Configuration Manager starts and either loads the hardware profile or creates a new hardware profile. Then, control is turned over to what turns out to be a very powerful file called MSDOS.SYS. The MSDOS.SYS file contains important paths to key Windows 95 files, including the registry. This file also can contain an array of options that affect the Windows 95 boot process.

After this, the Compatibility Phase begins. If it exists, the CONFIG.SYS file is processed for compatibility for devices used before Windows 95 was installed, or if the device or program is designed to work under DOS/Windows 3.X. Then, COMMAND.COM is run which then runs AUTOEXEC.BAT, if it exists. These steps are designed to maintain backwards compatibility with programs that existed before Windows 95. After processing the AUTOEXEC.BAT file, the process can branch one of two ways. If no WIN.COM command exists in the AUTOEXEC.BAT file, control is given to VMM32, which starts loading Windows-based components. If there is a WIN.COM, this allows Windows 95 to be loaded with a variety of troubleshooting options. Then, control and the specified options are passed to VMM32. The VMM32.VSD loads virtual drivers from the registry and the [386ENH] section of the SYSTEM.INI file.

Then, loading of the OS components begins. This loads the kernel, GDI resources (GDI.EXE & GDI32.EXE), USER resources (USER.EXE & USER32.EXE), fonts, and values in the WIN.INI, if one exists. Finally, the Desktop is initialized. This loads the Windows 95 shell, the components on the Desktop, Network logons, and processes the Startup group. So, as you can see, the boot process in Windows 95 contains a variety of tasks.

Let's go back to the MSDOS.SYS file in Windows 95. This file is a hidden, system, and read-only file. But, if you change the attributes of this file, you can edit the file manually and provide different startup options. If you are brave and actually edit this file manually, you should note that the file size must be greater than 1024 bytes or else you run the risk of losing compatibility with some MS-DOS programs. Some of you may have noticed that the F5, F6, & F8 keys can be used in the boot process in a manner similar to the MS-DOS 6.X boot process. F5 will start Windows 95 in Fail Safe mode, F6 starts Windows 95 in Networking Fail Safe mode, and F8 will display a menu of options on the screen. These options can also be defined in the AUTOEXEC.BAT file by adding switches to the WIN.COM line.

Let's say that we always wanted to bring up the menu that the F8 key brings up EVERY time we started the Windows 95 machine. If add the line: BootMenu=1 in the [Options] section of the MSDOS.SYS file, the menu will automatically be displayed. In fact, if we wanted to do the opposite and wanted to prevent a user from using the F5, F6, or F8 keys, we can add: BootKeys=0 in the [Options] section. This is useful if you need to provide a higher level of security for a Windows 95 workstation. Also, this is where the system is told to dual-boot if you set this machine as a dual-boot system. This file is has a lot of options that can affect how Windows 95 is started. Due to lack of space, all the options won't be discussed here, but I strongly recommend that you look at the Supporting Windows 95 training kit from Microsoft Press or the Windows 95 Resource Kit for more information.

Also, if there is a WIN.COM line in the AUTOEXEC.BAT file, Windows 95 can be started with a variety of options using the /d: switch. If you use: WIN /d:f, this will turn off 32-bit access. WIN /d:m and WIN /d:n start Windows 95 in the two Fail Safe modes, Fail Safe mode and Network Fail Safe mode respectively. These switches are usually used to help administrators and support staff troubleshoot and diagnose Windows 95. Again, for more detail of these switches, take a look at the Windows 95 training kit or Resource Kit from Microsoft Press. These books are filled with a variety of technical information about Windows 95 and are very useful if you have to support Windows 95.

This is just a quick overview of the Windows 95 boot process. I've really just scratched the surface about modifying the Windows 95 startup. But, hopefully, you've discovered that the Windows 95 boot process can be modified to help troubleshoot the system or to make your system better suit your needs. Once you dig deep down into the Windows 95 system, you'll find a lot of things that are very similar to the Windows 3.1 system, but are done in just a slightly different manner. As you explore how Windows 95 works, you'll soon be able to make it run at its best!


Richard Neff is a Microsoft Certified Professional, certified as a Systems Engineer.

Back to the Unleashing Windows Index