Troubleshooting 386 Enhanced Mode Problems
======================================================================
Microsoft Product Support Services Application Note (Text File)
WW0525: Troubleshooting 386 Enhanced Mode Problems
======================================================================
Revision Date: 3/92
No Disk Included
The following information applies to Microsoft Windows version 3.1.
--------------------------------------------------------------------
| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY |
| ACCOMPANY THIS DOCUMENT (collectively referred to as an |
| Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY |
| KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO |
| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A |
| PARTICULAR PURPOSE. The user assumes the entire risk as to the |
| accuracy and the use of this Application Note. This Application |
| Note may be copied and distributed subject to the following |
| conditions: 1) All text must be copied without modification and |
| all pages must be included; 2) If software is included, all files |
| on the disk(s) must be copied without modification [the MS-DOS(R) |
| utility DISKCOPY is appropriate for this purpose]; 3) All |
| components of this Application Note must be distributed together; |
| and 4) This Application Note may not be distributed for profit. |
| |
| Copyright 1992 Microsoft Corporation. All Rights Reserved. |
| Microsoft, MS-DOS, and the Microsoft logo are registered |
| trademarks and Windows is a trademark of Microsoft Corporation. |
--------------------------------------------------------------------
Introduction
------------
Microsoft Windows version 3.1 has two modes of operation: standard and
386 enhanced modes. 386 enhanced is the highest-level mode of
operation because it utilizes the virtual mode of the 80386i
processor. However, you may experience the following problems when
attempting to run Windows 3.1 in 386 enhanced mode:
- Windows stopping or returning to the MS-DOS prompt
- General protection faults (GPFs)
- Windows defaulting to standard mode when you type "win"
(without the quotation marks) at the MS-DOS prompt
Troubleshooting Procedure
-------------------------
The following steps may correct or reduce these problems:
1. Ensure that the system has the minimum configuration required to
run Windows 3.1 in 386 enhanced mode. These requirements are:
- An 80386 or faster processor
- 200K of free conventional memory
- 1024K of free extended memory
- 2 MB of free disk space
2. Try to force Windows into 386 enhanced mode by typing "win /3"
(without the quotation marks). If this is successful, the computer
probably has available less than the 1024K of extended memory
required for Windows to default to 386 enhanced mode on startup.
Verify that you are running an extended memory manager (HIMEM.SYS
is the extended memory manager that comes with Windows 3.1). If
so, you should free up extended memory so that Windows can default
to 386 enhanced mode.
The best way to accomplish this is to start your computer with
minimal CONFIG.SYS and AUTOEXEC.BAT files. Using a text editor
such as Notepad, comment out any lines that load extraneous device
drivers, terminate-and-stay-resident (TSR) programs, and so forth,
that are not required to run your machine. To comment out a line,
type "rem" (without the quotation marks) at the beginning of the
line.
Caution: If you do not know the purpose of a line in your
CONFIG.SYS or AUTOEXEC.BAT file, leave that line as is.
Other things that might help free up extended memory include
reducing the size of any disk cache, such as SMARTDRV.EXE, or RAM
drive. Although you can force Windows into enhanced mode if there
is less than 1024K of extended memory, this is not recommended
because this condition can adversely affect the performance of
Windows.
3. Try starting Windows by typing:
win /d:xvs
If this is successful, try each of the following switches
individually to see which is required:
WIN /D:X
This switch excludes the entire upper memory block region
from A000-FFFF. It is functionally equivalent to adding
EmmExclude=A000-EFFF to the [386enh] section of the
SYSTEM.INI file.
NOTE: If any upper memory block (UMB) provider is
installed in the CONFIG.SYS file, this switch has no
effect in the region the UMB provider is using. The UMB
provider has priority in the UMB area. For this reason,
you should disable the UMB provider (such as EMM386.EXE),
restart the system, and then try the WIN /D:X switch.
WIN /D:V
This switch is equivalent to adding the line
VirtualHDIrq=OFF to the [386enh] section of the SYSTEM.INI
file. For more information about the VirtualHDIrq= setting,
consult the SYSINI.WRI file in the \WINDOWS directory.
WIN /D:S
This switch is equivalent to adding the line
SystemROMBreakPoint=OFF to the [386enh] section of the
SYSTEM.INI file.
After determining which switch, or combination of switches, allows
Windows 3.1 to successfully start in 386 enhanced mode, use a text
editor such as Notepad to add the corresponding line, or lines, to
the [386enh] section of the SYSTEM.INI file.
4. Create a BOOTLOG.TXT file by typing "win /b" (without the
quotation marks) to start Windows. This switch will create a file
called BOOTLOG.TXT in the \WINDOWS directory. Once this file has
been created, you can view it using any text editor (such as
Notepad). In this file, Windows creates a list of the basic
Windows drivers as they are loaded. If there is a problem with one
of these drivers loading, a statement will appear in the
BOOTLOG.TXT file showing which driver could not load. This
information is valuable in determining which component of Windows
is not able to function properly.
NOTE: This switch will append new information to the end of an
existing BOOTLOG.TXT file. Therefore, you may want to rename or
delete any existing BOOTLOG.TXT file in the \WINDOWS directory
before using the /B switch.
The following is a list of error codes that may appear in the
BOOTLOG.TXT file:
0 Out of memory
2 File not found
3 Path not found
5 Attempt to dynamically link to a task
6 Library requires separate data segments for each task
8 Insufficient memory to start application
10 Incorrect Windows version
11 Invalid .EXE file (non-Windows .EXE file or error in .EXE
file image)
12 OS/2 application
13 MS-DOS 4.0 application
14 Unknown .EXE file type
15 Attempt in protected (standard or 386 enhanced) mode to
load an .EXE file created for an earlier version of
Windows
16 Attempt to load a second instance of an .EXE file
containing multiple writeable data segments
17 Attempt in a large-frame EMS mode to load a second
instance of an application that links to certain
nonshareable DLLs already in use
18 Attempt in real mode to load an application marked for
protected mode only
5. At the MS-DOS prompt, change to the \WINDOWS directory before
starting Windows. When Windows starts, it reads the .INI files
that specify the locations of many of the files that Windows needs
in order to start. When Windows reads the .INI files, it looks for
the specified files in the following locations:
a. The current directory
b. The \WINDOWS directory
c. The \WINDOWS\SYSTEM subdirectory
d. All of the directories listed in the PATH environment variable
in the AUTOEXEC.BAT file
e. All of the directories in the list of directories mapped on a
network
For example, if there is an outdated MOUSE.DRV file (the Windows
Microsoft Mouse driver) in the current directory, Windows may not
be able to start.
6. Verify that Windows can run in standard mode by typing "win /s"
(without the quotation marks) at the MS-DOS prompt. If Windows can
run in standard mode, you may have installed a mouse, keyboard,
video, or printer driver designed for a previous version of
Windows, or you may have made an incorrect selection for your
hardware.
To change the printer driver, start the Control Panel and choose the
Printers icon. To change the mouse, keyboard, video, or network
driver, from the Program Manager File menu, choose Run, type "setup,"
(without the quotation marks) and choose the OK button. This command
brings up the System Information screen; from the Options menu, choose
Change System Settings.
Also, check the "Microsoft Windows Version 3.1 Hardware
Compatibility List" that ships with Windows to see if your
computer requires special handling. If it does, exit Windows and
then reinstall it, using only a minimum of drivers (use no mouse
or network driver and use the lowest resolution video driver) and
the SETUP /I switch.
Another option is to delete Windows and reinstall it using the
SETUP /I switch, along with the minimal configuration described
above. This may be necessary if it is not possible to determine
which component of Windows is preventing proper operation.
7. Check your AUTOEXEC.BAT and CONFIG.SYS files for TSR programs,
sufficient buffers, files, and environment space. Some TSR
programs are not compatible with Windows 3.1 and may need to be
commented out during Windows operation. Again, if you do not know
the purpose of a line, do not comment it out.
8. Disable the autoswitching or autosensing feature on the video card
if applicable. Verify that you are using the latest version of the
BIOS (basic input/output system) for that video card (see step
13).
9. Disable system or video ROM shadowing if it is supported by the
system.
10. Verify that you are using the correct version of MS-DOS for the
system. You should be using a version of MS-DOS that is 3.1 or
later and is designed for the machine. Do NOT use an original
equipment manufacturer (OEM) version of MS-DOS on a computer that
was not manufactured by that OEM (for example, do not use COMPAQ
MS-DOS on an IBM computer).
11. Ensure that HIMEM.SYS loads successfully. If it does not, or if a
problem is suspected, try ALL A20 handlers available to the
version of HIMEM.SYS being used. The DEVICE=C:\HIMEM.SYS line in
your CONFIG.SYS file should include the /M:x switch, where x
denotes a handler number. For example, if you are using a PS/2,
this line should read DEVICE=C:\HIMEM.SYS /M:2.
For more information about the /M switch, see pages 543–547 of the
version 3.1 "Microsoft Windows User's Guide."
NOTE: Some A20 handlers may lock up your computer, so it is
important to have a system MS-DOS floppy disk available that
contains an ASCII text editor (such as Edlin or Edit) should this
problem occur.
12. Install Windows in an empty directory. Do not install Windows
version 3.1 over a 2.x version, because some files and drivers may
not be updated properly.
13. Confirm that you are using a system BIOS that is dated 1988 or
later. If you are using a BIOS with a date earlier than 1988, you
may encounter problems when trying to run Windows 3.1 in 386
enhanced mode. The BIOS date will vary depending on the brand of
your BIOS and the manufacturer of your machine. The BIOS version
and date are typically displayed when you first start up the
system. If the date is not displayed when the system is started,
or if you have any questions about the compatibility of your BIOS
with Windows 3.1, you should contact your hardware manufacturer.
14. Remove any additional hardware from the system (mouse, network
card, fax board, modem, and so forth). After all the nonessential
hardware has been removed, restart the system, and run Windows
3.1. If you can now run in 386 enhanced mode, it is likely that an
interrupt request line (IRQ) conflict exists. Replace one piece of
hardware at a time, restarting the machine after each new piece of
hardware is replaced, and run Windows in 386 enhanced mode. Do
this until the symptom reoccurs, at which point you've most likely
found an IRQ conflict. For more information on how to deal with
IRQ conflicts, contact the manufacturer of the piece of hardware
in question.
15. If none of the above steps has corrected the problem, you may want
to contact your hardware manufacturer for additional information.
Microsoft Product Support Services Application Note (Text File)
WW0525: Troubleshooting 386 Enhanced Mode Problems
======================================================================
Revision Date: 3/92
No Disk Included
The following information applies to Microsoft Windows version 3.1.
--------------------------------------------------------------------
| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY |
| ACCOMPANY THIS DOCUMENT (collectively referred to as an |
| Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY |
| KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO |
| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A |
| PARTICULAR PURPOSE. The user assumes the entire risk as to the |
| accuracy and the use of this Application Note. This Application |
| Note may be copied and distributed subject to the following |
| conditions: 1) All text must be copied without modification and |
| all pages must be included; 2) If software is included, all files |
| on the disk(s) must be copied without modification [the MS-DOS(R) |
| utility DISKCOPY is appropriate for this purpose]; 3) All |
| components of this Application Note must be distributed together; |
| and 4) This Application Note may not be distributed for profit. |
| |
| Copyright 1992 Microsoft Corporation. All Rights Reserved. |
| Microsoft, MS-DOS, and the Microsoft logo are registered |
| trademarks and Windows is a trademark of Microsoft Corporation. |
--------------------------------------------------------------------
Introduction
------------
Microsoft Windows version 3.1 has two modes of operation: standard and
386 enhanced modes. 386 enhanced is the highest-level mode of
operation because it utilizes the virtual mode of the 80386i
processor. However, you may experience the following problems when
attempting to run Windows 3.1 in 386 enhanced mode:
- Windows stopping or returning to the MS-DOS prompt
- General protection faults (GPFs)
- Windows defaulting to standard mode when you type "win"
(without the quotation marks) at the MS-DOS prompt
Troubleshooting Procedure
-------------------------
The following steps may correct or reduce these problems:
1. Ensure that the system has the minimum configuration required to
run Windows 3.1 in 386 enhanced mode. These requirements are:
- An 80386 or faster processor
- 200K of free conventional memory
- 1024K of free extended memory
- 2 MB of free disk space
2. Try to force Windows into 386 enhanced mode by typing "win /3"
(without the quotation marks). If this is successful, the computer
probably has available less than the 1024K of extended memory
required for Windows to default to 386 enhanced mode on startup.
Verify that you are running an extended memory manager (HIMEM.SYS
is the extended memory manager that comes with Windows 3.1). If
so, you should free up extended memory so that Windows can default
to 386 enhanced mode.
The best way to accomplish this is to start your computer with
minimal CONFIG.SYS and AUTOEXEC.BAT files. Using a text editor
such as Notepad, comment out any lines that load extraneous device
drivers, terminate-and-stay-resident (TSR) programs, and so forth,
that are not required to run your machine. To comment out a line,
type "rem" (without the quotation marks) at the beginning of the
line.
Caution: If you do not know the purpose of a line in your
CONFIG.SYS or AUTOEXEC.BAT file, leave that line as is.
Other things that might help free up extended memory include
reducing the size of any disk cache, such as SMARTDRV.EXE, or RAM
drive. Although you can force Windows into enhanced mode if there
is less than 1024K of extended memory, this is not recommended
because this condition can adversely affect the performance of
Windows.
3. Try starting Windows by typing:
win /d:xvs
If this is successful, try each of the following switches
individually to see which is required:
WIN /D:X
This switch excludes the entire upper memory block region
from A000-FFFF. It is functionally equivalent to adding
EmmExclude=A000-EFFF to the [386enh] section of the
SYSTEM.INI file.
NOTE: If any upper memory block (UMB) provider is
installed in the CONFIG.SYS file, this switch has no
effect in the region the UMB provider is using. The UMB
provider has priority in the UMB area. For this reason,
you should disable the UMB provider (such as EMM386.EXE),
restart the system, and then try the WIN /D:X switch.
WIN /D:V
This switch is equivalent to adding the line
VirtualHDIrq=OFF to the [386enh] section of the SYSTEM.INI
file. For more information about the VirtualHDIrq= setting,
consult the SYSINI.WRI file in the \WINDOWS directory.
WIN /D:S
This switch is equivalent to adding the line
SystemROMBreakPoint=OFF to the [386enh] section of the
SYSTEM.INI file.
After determining which switch, or combination of switches, allows
Windows 3.1 to successfully start in 386 enhanced mode, use a text
editor such as Notepad to add the corresponding line, or lines, to
the [386enh] section of the SYSTEM.INI file.
4. Create a BOOTLOG.TXT file by typing "win /b" (without the
quotation marks) to start Windows. This switch will create a file
called BOOTLOG.TXT in the \WINDOWS directory. Once this file has
been created, you can view it using any text editor (such as
Notepad). In this file, Windows creates a list of the basic
Windows drivers as they are loaded. If there is a problem with one
of these drivers loading, a statement will appear in the
BOOTLOG.TXT file showing which driver could not load. This
information is valuable in determining which component of Windows
is not able to function properly.
NOTE: This switch will append new information to the end of an
existing BOOTLOG.TXT file. Therefore, you may want to rename or
delete any existing BOOTLOG.TXT file in the \WINDOWS directory
before using the /B switch.
The following is a list of error codes that may appear in the
BOOTLOG.TXT file:
0 Out of memory
2 File not found
3 Path not found
5 Attempt to dynamically link to a task
6 Library requires separate data segments for each task
8 Insufficient memory to start application
10 Incorrect Windows version
11 Invalid .EXE file (non-Windows .EXE file or error in .EXE
file image)
12 OS/2 application
13 MS-DOS 4.0 application
14 Unknown .EXE file type
15 Attempt in protected (standard or 386 enhanced) mode to
load an .EXE file created for an earlier version of
Windows
16 Attempt to load a second instance of an .EXE file
containing multiple writeable data segments
17 Attempt in a large-frame EMS mode to load a second
instance of an application that links to certain
nonshareable DLLs already in use
18 Attempt in real mode to load an application marked for
protected mode only
5. At the MS-DOS prompt, change to the \WINDOWS directory before
starting Windows. When Windows starts, it reads the .INI files
that specify the locations of many of the files that Windows needs
in order to start. When Windows reads the .INI files, it looks for
the specified files in the following locations:
a. The current directory
b. The \WINDOWS directory
c. The \WINDOWS\SYSTEM subdirectory
d. All of the directories listed in the PATH environment variable
in the AUTOEXEC.BAT file
e. All of the directories in the list of directories mapped on a
network
For example, if there is an outdated MOUSE.DRV file (the Windows
Microsoft Mouse driver) in the current directory, Windows may not
be able to start.
6. Verify that Windows can run in standard mode by typing "win /s"
(without the quotation marks) at the MS-DOS prompt. If Windows can
run in standard mode, you may have installed a mouse, keyboard,
video, or printer driver designed for a previous version of
Windows, or you may have made an incorrect selection for your
hardware.
To change the printer driver, start the Control Panel and choose the
Printers icon. To change the mouse, keyboard, video, or network
driver, from the Program Manager File menu, choose Run, type "setup,"
(without the quotation marks) and choose the OK button. This command
brings up the System Information screen; from the Options menu, choose
Change System Settings.
Also, check the "Microsoft Windows Version 3.1 Hardware
Compatibility List" that ships with Windows to see if your
computer requires special handling. If it does, exit Windows and
then reinstall it, using only a minimum of drivers (use no mouse
or network driver and use the lowest resolution video driver) and
the SETUP /I switch.
Another option is to delete Windows and reinstall it using the
SETUP /I switch, along with the minimal configuration described
above. This may be necessary if it is not possible to determine
which component of Windows is preventing proper operation.
7. Check your AUTOEXEC.BAT and CONFIG.SYS files for TSR programs,
sufficient buffers, files, and environment space. Some TSR
programs are not compatible with Windows 3.1 and may need to be
commented out during Windows operation. Again, if you do not know
the purpose of a line, do not comment it out.
8. Disable the autoswitching or autosensing feature on the video card
if applicable. Verify that you are using the latest version of the
BIOS (basic input/output system) for that video card (see step
13).
9. Disable system or video ROM shadowing if it is supported by the
system.
10. Verify that you are using the correct version of MS-DOS for the
system. You should be using a version of MS-DOS that is 3.1 or
later and is designed for the machine. Do NOT use an original
equipment manufacturer (OEM) version of MS-DOS on a computer that
was not manufactured by that OEM (for example, do not use COMPAQ
MS-DOS on an IBM computer).
11. Ensure that HIMEM.SYS loads successfully. If it does not, or if a
problem is suspected, try ALL A20 handlers available to the
version of HIMEM.SYS being used. The DEVICE=C:\HIMEM.SYS line in
your CONFIG.SYS file should include the /M:x switch, where x
denotes a handler number. For example, if you are using a PS/2,
this line should read DEVICE=C:\HIMEM.SYS /M:2.
For more information about the /M switch, see pages 543–547 of the
version 3.1 "Microsoft Windows User's Guide."
NOTE: Some A20 handlers may lock up your computer, so it is
important to have a system MS-DOS floppy disk available that
contains an ASCII text editor (such as Edlin or Edit) should this
problem occur.
12. Install Windows in an empty directory. Do not install Windows
version 3.1 over a 2.x version, because some files and drivers may
not be updated properly.
13. Confirm that you are using a system BIOS that is dated 1988 or
later. If you are using a BIOS with a date earlier than 1988, you
may encounter problems when trying to run Windows 3.1 in 386
enhanced mode. The BIOS date will vary depending on the brand of
your BIOS and the manufacturer of your machine. The BIOS version
and date are typically displayed when you first start up the
system. If the date is not displayed when the system is started,
or if you have any questions about the compatibility of your BIOS
with Windows 3.1, you should contact your hardware manufacturer.
14. Remove any additional hardware from the system (mouse, network
card, fax board, modem, and so forth). After all the nonessential
hardware has been removed, restart the system, and run Windows
3.1. If you can now run in 386 enhanced mode, it is likely that an
interrupt request line (IRQ) conflict exists. Replace one piece of
hardware at a time, restarting the machine after each new piece of
hardware is replaced, and run Windows in 386 enhanced mode. Do
this until the symptom reoccurs, at which point you've most likely
found an IRQ conflict. For more information on how to deal with
IRQ conflicts, contact the manufacturer of the piece of hardware
in question.
15. If none of the above steps has corrected the problem, you may want
to contact your hardware manufacturer for additional information.
Comments
Post a Comment