GENERAL PROTECTION FAULT TROUBLESHOOTING
A General Protection Fault (GPF) can be caused by several occurrences, and some trouble
shooting tips for GPFs provided below.
What is a General Protection Fault (GPF)?
General Protection Faults occur only in the standard and 386 enhanced modes of Windows;
they cannot occur in the real mode of Windows 3.0.
A GPF signifies that something unexpected has happened within the Windows environment,
typically an improper memory access. for example, an application or a Windows component
might read or write to a memory location that has not been allocated to it (memory that
it does not "own"), potentially overwriting and corrupting other program code in that
area of memory.
Another situation where a GPF may occur involves the passing of parameters between
applications and the Windows environment. Invalid parameters can cause invalid
instructions to be executed, resulting in GPFs. This is usually the result of an
application internal program code incorrectly passing specific data that could not be
correctly interpreted by Windows or a Windows-based application.
TROUBLE SHOOTING GPF
-First you will want to run CHKDSK/F at a DOS prompt. Before you run this command you
must exit Windows. By running CHKDSK/F, any lost allocation units or other file
allocation table (FAT) errors are corrected. For more information on CHKDSK/F, refer
to your MS-DOS documentation.
NOTE: If you are using MS-DOS 6.2 or later, run SCANDISK instead of CHKDSK/F.
-Ensure system resources are above the 60 percent level. You may do so by selecting
the Help menu in the Program Manager, choose About Program Manager. You should be
running Windows in the highest mode your hardware supports, and your system resources
should be close to 60%. If system resources are lower than 60%, you may have an
application running in the background using resources. If this is the case, close all
applications before proceeding.
-Check the MS-DOS version you are running. Your machine should have the proper MS-DOS
version for its hardware type. Original equipment manufacturer (OEM) versions of MS-DOS
(such as COMPAQ(r) MS-DOS or IBM(r) PC-DOS) should be used only on their respective OEM
hardware platforms (that is COMPAQ MS-DOS on COMPAQ machines only and IBM PC-DOS on IBM
-The next thing to look at is if the problem occurs in standard mode. If you are having
problems with GPFs in 386 enhanced mode, try running Windows in standard mode (WIN/S)
to see if the GPF still occurs. If the errors are present in both standard and 386
enhanced mode, the problem may be caused by a conflict between Windows and a hardware
device, or you may have a corrupted file.
NOTE: Standard mode is not available in Windows for Workgroups 3.11. Start Windows for
Workgroups 3.11 by typing WIN/D:T to prevent loading any 386 enhanced mode virtual
-Run Windows without using the WIN.INI file. To determine if you are having problems
with corrupted fonts, a corrupted printer driver, or software loading from the run= or
load= line, rename the WIN.INI file with the following command,
rem c:\windows\win.ini winini.old
If this procedure corrects the problem, ensure the load= and the run= lines in the
[windows] section of the WIN.INI file are either blank or preceded with a semicolon(;)
to prevent any software from loading. If this fails to correct the problem, contact
Microsoft Product Support
Services for assistance in isolating the problem within the WIN.INI file.
If the previous procedure does not correct the problem, rename WININI.OLD to WIN.INI,
by typing the following command
copy c:\windows\winini.old win.ini
-Reinstall the software that is causing the GPF. If the GPF can be tracked to a specific
application, reinstall the software causing the GPF. The files on disk may have been
corrupted or damaged, or the application may have been improperly installed.
Once you are ready to access Windows again, do a clean boot. To do a clean boot, turn
off your computer. Upon start up hit F5 (you may hit the F5 key several times if you
are unsure of yourself).
If you are running MS-DOS 6.0 or higher, try booting your machine, and hitting the
F8 key when you see the message "Loading MS-DOS". Hitting this key will prompt
everything to load into memory. LOAD ONLY HIMEM.SYS
This is the only necessary device to load Windows 3.1. Then say NO to everything
else, including AUTOEXEC.BAT this will ensure that DOS is not loading any unnecessary
drivers or programs.
If you are running a DOS level lower than 6.0, then create a system disk by typing
FORMAT A: /S be sure the disk you are creating is blank,
you will lose whatever information is on it. Then go to the A: drive and
type COPY CON CONFIG.SYS and hit enter. Then type DEVICE=C:\DOS\HIMEM.SYS then
hold down the CTRL key and the Z key,and hit enter. You should see the message 1 file(s)
copied. Then reboot with the disk in the drive.