WHAT IS SAFE MODE?
Safe Mode is a troubleshooting tool for Windows, much like the command line switches were for Windows 3.X. Safe Mode allows access into Windows using only the most basic drivers. Autoexec.bat and Config.sys are not loaded. The main portion of the Registry is not loaded. In Win.ini, the load= and run= lines are not loaded. And, in System.ini, the [Boot] and [386Enh] sections are not loaded.
To get to Safe Mode, start (or restart) your computer, and, as soon as you see the "starting Windows 9X" text, hit the F8 key. Choose option 3, Safe Mode.
NOTE: If you can not get into Safe Mode with the F8, try inserting a blank floppy disk rebooting to a non- system disk error , remove the disk and tap the F8 key twice, you can also try holding down all the keys you can on the keyboard when booting and getting a stuck key error .. at that point Microsoft will give you the stuck key error .. PRESS any key to continue .. Press the F8 Key twice.
If you can get into Safe Mode, the first thing to do is to check Device Manager (Control Panel / System / Device Manager) for any hardware devices that may be conflicting. If there are conflicts, you may have to change some IRQ's, DMA's or something to get your system working properly. If you don't see any conflicts, your problem is probably software, and the three steps below may help.
Safe Mode is the best troubleshooting tool Windows has, but Safe Mode doesn't tell you exactly where the problem is. Some common things to do if Safe Mode works are: Turn hardware acceleration (Control Panel / System / Performance / Graphics) down to none; turn read-ahead (Control Panel / System / Performance / File System) down to none; and change the video driver to a standard VGA (Control Panel / Display / Settings / Change Display Type). Remember to restart your computer, booting to normal mode, each time you change something. If none of these options work, try the three steps below.
DO STEP BY STEP CONFIRMATIONS
When restarting the computer and hitting the F8 key, there are many options to choose from. One option is a Step By Step Confirmation. This option will ask you to confirm every command that loads when Windows loads. These three different steps will help to narrow down where the problem may lie.
Step A loads everything but Windows drivers. To accomplish this, choose the Step By Step confirmation from the Startup Menu. Say yes to every line except the line that asks whether you want to load "all windows drivers". This will boot you into a hybrid version of Safe Mode. This version does not load the run= and load= lines in the win.ini, and does not load the [boot] and the [386Enh] sections of the system.ini. If the system boots (into safe mode), using this option, you know that the problem is in one of these two areas. If Step A doesn't work, go to Step B. If it the system hangs, or doesn't let you into Safe Mode (there is a good chance that you will get errors, but try to go beyond them), try these two things:
Restart your computer and go to the Startup Menu again. Choose Step By Step Confirmation, and say no to loading the autoexec.bat and config.sys . Say yes to everything else. Step B does not load the autoexec.bat or config.sys (real mode drivers). If the system boots, search the autoexec.bat and config.sys for problem lines, or even lines you don't recognize. If it doesn't boot, go to Step C. Quite often, there are lines like virus detection, caches for Cyrix chips, and other junk loading in the autoexec.bat or config.sys. Rem'ing these lines out usually doesn't hurt, but you might want to make a copy of these two files before you play with them.
The only thing Boot D does is not load the registry. This will not allow you the option to load Windows drivers, but will put you directly into Safe Mode. The only thing Boot D will tell you is whether the Registry is working okay. If you get into Safe Mode, it works. If you don't get into Safe Mode, read KB article Q131431 on the Registry. This article will give good steps on creating a working registry.
If all else fails, you may need to rename all the registry files and rerun setup.
If you've determined the problem to be in win.ini or system.ini, here are some helpful hints:
There are only two lines in the win.ini that don't load in Safe Mode; the run= and the load= lines. Remark out these lines by putting a semi-colon (;) in front of them. If this solves the problem, then something being loaded on these lines is causing the problem. These lines load programs. Old versions of After Dark and other programs can cause problems with Win95.
There are two sections in system.ini that need to be looked at: the [Boot] and [386Enh] sections. These are the only two sections that are not loaded when you boot into Safe Mode. In general, and line that has a .exe is a program that is loading. This can be the cause of all your troubles. You can remark these lines out by putting a semi-colon (;) in front of them. Also look for lines that access files with a .386 in them. These are old "legacy" drivers. You may need these to run things like sound cards, modems, and such, but most companies have updated drivers now. Aside from those, here are some specific lines to look at.
In the [Boot] section:
This line, most likely, should say comm.drv=comm.drv. If it says something else, remark it out and type the above below it.
This line is loaded whether you're in normal mode or Safe Mode. If you start your computer up, and all you ever see is the clock, someone may have played a trick on you and changed this line to read shell=clock.exe.
If you're not getting any sound, or you get errors from your sound card, check out this line. It most likely should read Drivers=mmsystem.dll. There may be more to it, like a mouse driver, but that's okay.
In the [386Enh] section:
This is the section where you will find most of the *.386 files. Remark these out. Like stated previously, if you remark these out, but a certain program doesn't work after that, call the program vendor and see if they have Windows drivers.
If you're having modem troubles, look at any lines in this area that start with COM. These lines can change your com ports around. Remark all these lines out and see if it helps.