home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Supreme Volume 6 #1
/
swsii.zip
/
swsii
/
198
/
DOS6ALL.ZIP
/
PD0470.TXT
< prev
next >
Wrap
Text File
|
1993-03-29
|
27KB
|
676 lines
======================================================================
Microsoft(R) Product Support Services Application Note (Text File)
PD0470: SYSTEM FAILS WHEN YOU ARE USING EMM386.EXE
======================================================================
Revision Date: 4/93
No Disk Included
The following information applies to Microsoft MS-DOS 5.0 Upgrade, 6.0
Upgrade.
INTRODUCTION
============
This application note discusses the symptoms associated with your
system failing when you use EMM386.EXE, the cause of this problem, and
how to correct this behavior. This information applies to MS-DOS 5
Upgrade and MS-DOS 6 Upgrade.
SYMPTOMS
========
After you install EMM386.EXE, your computer stops responding (hangs).
This occurs when you first start your computer, when network drivers
load, when applications start, or when you press CTRL+ALT+DEL.
CAUSE
=====
There are several reasons why your computer might hang when you are
using EMM386.EXE:
- Your hardware may not support EMM386.EXE.
- You may be using a memory manager that conflicts with EMM386.EXE.
- If you have an Adaptec controller card, it may require a device
driver to work with EMM386.EXE.
- You may not be using the correct version of the HIMEM.SYS or
EMM386.EXE file.
- HIMEM.SYS or EMM386.EXE may not be functioning properly.
- A program or device driver may not be able to function in upper
memory.
- Your disk-caching program may need to be loaded into conventional
memory to work with EMM386.EXE.
- Another program or device driver and EMM386.EXE may be using the
same memory.
SOLUTION
========
First, create an MS-DOS startup disk with your original configuration.
If you have any problems starting your computer, you can restore your
original configuration by starting your system (that is, booting) from
this disk.
Insert a formatted floppy disk in drive A and type the following at
the MS-DOS command prompt and press ENTER after each line
sys <startupdrive>: a:
copy <startupdrive>:\autoexec.bat a:\
copy <startupdrive>:\config.sys a:\
where <startupdrive> is the drive where your AUTOEXEC.BAT and
CONFIG.SYS files currently reside (usually drive C). For example, if
your startup drive is drive C, type the following commands:
sys c: a:
copy c:\autoexec.bat a:\
copy c:\config.sys a:\
NOTE: Hereafter "c" is used to refer to your startup drive.
Perform the following procedures in order. You may have to try several
of them before one solves the problem. If you need further help, or
these suggestions do not solve the problem, write down the error
messages you receive and contact Microsoft Product Support Services.
MAKE SURE YOUR HARDWARE SUPPORTS EMM386.EXE
===========================================
You can only use EMM386.EXE on a computer that has an 80386 or higher
processor. If you aren't sure what kind of processor your computer
has, check your documentation. If you do not have a computer with an
80386 or higher processor, you may want to consider purchasing an
expanded-memory board or an 80286 expanded-memory emulator. You should
contact your hardware vendor to determine the type of memory support
your hardware provides and what kind of additional hardware and
software is compatible with your computer.
MAKE SURE YOUR MEMORY MANAGER DOESN'T CONFLICT WITH EMM386.EXE
==============================================================
Check to see if you are loading another expanded-memory manager in
your CONFIG.SYS file. If you want to use another 80386 memory manager,
such as Quarterdeck's QEMM-386(TM) or Qualitas's(R) 386MAX(R), do not
use EMM386.EXE. Most 80386 memory managers have 386 or EMM in their
filename. You can see if you are loading any memory managers by typing
the following at the MS-DOS command prompt and pressing ENTER:
type c:\config.sys | more
MAKE SURE YOUR ADAPTEC CONTROLLER CARD HAS A DEVICE DRIVER THAT WORKS
WITH EMM386.EXE
=====================================================================
If you have an Adaptec controller card, you may not be able to use
EMM386.EXE unless you have the ADAPTEC.SYS device driver. Contact
Adaptec or Microsoft Product Support Services to obtain this driver.
MAKE SURE YOU ARE USING THE CORRECT VERSION OF THE HIMEM.SYS OR
EMM386.EXE FILE
===============================================================
EMM386.EXE uses HIMEM.SYS to access extended memory. To check whether
you have the most current versions of these files, do the following:
NOTE: If you used the MS-DOS 6.0 MemMaker program to configure your
memory, you do not need to follow this procedure because MemMaker
makes sure that the correct files are in place.
1. Make sure you are in the root directory of your startup drive by
typing the following at the MS-DOS command prompt and pressing
ENTER after each line:
c:
cd\
2. At the MS-DOS command prompt, type the following and press ENTER
dir /s himem.sys
and then type the following and press ENTER:
dir /s emm386.exe
3. MS-DOS displays the name of each subdirectory that contains a copy
of the file you specified, as well as the file size and date. Make
a note of which directory contains the file with the latest date,
and note the file date.
4. Check your CONFIG.SYS file by typing the following at the MS-DOS
command prompt and pressing ENTER:
type c:\config.sys | more
5. Look for the two DEVICE commands that load HIMEM.SYS and
EMM386.EXE. They should look something like this, and may have
other parameters following them
device=<drive>:\<directory>\himem.sys
device=<drive>:\<directory>\emm386.exe
where <drive> is your hard disk drive and <directory> is the
directory where HIMEM.SYS and EMM386.EXE reside. For example if your
hard disk drive is drive C and your HIMEM.SYS and EMM386.EXE files
are located in the DOS directory, the DEVICE commands should look
something like the following:
device=c:\dos\himem.sys
device=c:\dos\emm386.exe
6. Make sure these DEVICE commands specify the files with the latest
dates that you identified in step 3. If the DEVICE commands do not
specify the files with the latest dates, follow these steps:
a. Use a text editor to edit the CONFIG.SYS file on your startup
drive. If you want to use MS-DOS Editor, type the following at
the MS-DOS command prompt and press ENTER:
edit c:\config.sys
b. Edit the DEVICE commands so both show the most recent version of
HIMEM.SYS and EMM386.EXE.
NOTE: Both files should have the same date. If they don't,
proceed to step 8.
c. Save the CONFIG.SYS file. If you're using MS-DOS Editor, choose
Exit from the File menu. When MS-DOS Editor displays a dialog
box prompting you to save your file, choose the Yes button or
press ENTER.
7. If the file dates are later than 04-09-91, you have the most recent
version of these files. If you had to make any of the preceding
changes, restart your computer by pressing CTRL+ALT+DEL. If the
problem still exists after you restart your computer, skip to the
next procedure.
8. If the date for the most recent version of HIMEM.SYS or EMM386.EXE
is earlier than 04-09-91, you probably have old versions of the
files. If you have an old version of either file, you need to
transfer the correct version from the MS-DOS installation disks to
the directory named in your CONFIG.SYS file. HIMEM.SYS and
EMM386.EXE are located on the following MS-DOS installation disks:
MS-DOS Version
and Disk Size HIMEM.SYS EMM386.EXE
-------------------------------------------------------------
MS-DOS 5 Upgrade, 5.25-inch (1.2 MB) Disk 6 Disk 6
MS-DOS 5.0a Upgrade, 5.25-inch (1.2 MB) Disk 1 Disk 1
MS-DOS 5.0a Upgrade, 3.5-inch (1.44 MB) Disk 1 Disk 6
MS-DOS 6 Upgrade, 5.25-inch (1.2 MB) Disk 2 Disk 4
MS-DOS 6 Upgrade, 3.5-inch (1.44 MB) Disk 1 Disk 3
a. Insert the appropriate MS-DOS installation disk in your floppy
disk drive.
b. Use the EXPAND command to expand and copy the HIMEM.SY_ file
from your installation disk to the directory specified in your
CONFIG.SYS file. You can do this by typing the following at the
MS-DOS command prompt and pressing ENTER:
expand a:\himem.sy_ c:\dos\himem.sys
Similarly, to expand and copy EMM386.EX_ from the installation
disk in drive A to the DOS directory on drive C, type the
following:
expand a:\emm386.ex_ c:\dos\emm386.exe
NOTE: Make sure you specify the same destination directory that
you found in step 5 for HIMEM.SYS and EMM386.EXE.
c. Restart your computer by pressing CTRL+ALT+DEL. If the problem
still exists after you restart your computer, follow the next
procedure.
MAKE SURE HIMEM.SYS AND EMM386.EXE ARE FUNCTIONING PROPERLY
===========================================================
The following procedure helps you determine what is causing your
problem: HIMEM.SYS, EMM386.EXE, or your hardware. If your computer
still hangs after completing this procedure, call Microsoft Product
Support Services for help in determining the problem.
1. Create a disk to test HIMEM.SYS and EMM386.EXE by doing the
following:
a. Insert a formatted floppy disk in drive A, type the following at
the MS-DOS command prompt, and press ENTER:
sys c: a:
b. Copy the CONFIG.SYS file from your startup drive to the floppy
disk in drive A by typing the following command at the MS-DOS
command prompt and pressing ENTER:
copy c:\config.sys a:
c. Use a text editor to edit the test CONFIG.SYS file. If you want
to use MS-DOS Editor, type the following at the MS-DOS command
prompt and press ENTER:
edit a:\config.sys
d. Remove all the lines in the file except the DEVICE commands
loading HIMEM.SYS and EMM386.EXE.
e. If you have MS-DOS 5.0, change the DEVICE command that loads
EMM386.EXE to resemble the following:
device=c:\dos\emm386.exe noems x=a000-efff nomovexbda
NOTE: The letter a is followed by three zeros (000).
If your computer hangs when you press CTRL+ALT+DEL, change the
DEVICE command to resemble the following:
device=c:\dos\emm386.exe noems x=a000-efff nomovexbda altboot
f. Save the test CONFIG.SYS file. If you're using MS-DOS Editor,
choose Exit from the File menu. When MS-DOS Editor displays a
dialog box prompting you to save your file, choose the Yes
button or press ENTER.
g. Create a new AUTOEXEC.BAT file on the test disk for testing
purposes. If you are using MS-DOS Editor, you can do this by
typing the following at the MS-DOS command prompt and pressing
ENTER:
edit a:\autoexec.bat
h. Type the following command lines in the new file:
path=c:\dos
prompt $p$g
i. Save the test AUTOEXEC.BAT file by choosing Exit from the File
menu. When MS-DOS Editor displays a dialog box prompting you to
save your file, choose the Yes button or press ENTER.
You now have a test disk with which to test HIMEM.SYS and
EMM386.EXE. Your original AUTOEXEC.BAT and CONFIG.SYS files are
still on your startup drive (usually drive C) and have not been
changed.
2. Make sure your test disk is in drive A and restart your computer by
pressing CTRL+ALT+DEL.
3. If your computer hangs, continue to the next step. If your computer
works properly at this point, HIMEM.SYS is working with EMM386.EXE.
(Note that some devices, such as your mouse, will not operate
during testing due to the simple test configuration you are using.)
You can now check if any other programs conflict with EMM386.EXE.
Skip the following step and continue to the next procedure.
4. If your computer hangs when you used the test disk in drive A, you
may have a problem with HIMEM.SYS or your particular hardware.
Contact Microsoft Product Support Services for help in solving your
problem.
DETERMINE IF YOUR DISK-CACHING PROGRAM NEEDS TO BE LOADED INTO
CONVENTIONAL MEMORY
==============================================================
Sometimes loading SMARTDrive into conventional memory solves problems
with EMM386.EXE. If you use another disk-caching program, remove it
temporarily and replace it with SMARTDrive, using one of the following
procedures.
If You Are Using MS-DOS 5.0
---------------------------
If you are running MS-DOS 5.0, do the following:
NOTE: If you are running Microsoft Windows operating system version
3.1, see the next section, "If You Are Using Windows 3.1 or MS-DOS
6.0."
1. Type the following command at the MS-DOS command prompt and press
ENTER to copy your original CONFIG.SYS file to the test disk you
created in the previous procedure:
copy c:\config.sys a:
NOTE: If you are unable to access drive C, restart your computer
from the hard disk before performing this step by removing the
floppy disk from drive A and pressing CTRL+ALT+DEL.
2. Use a text editor to edit the CONFIG.SYS file on the floppy disk in
drive A. If you want to use MS-DOS Editor, type the following at
the MS-DOS command prompt and press ENTER:
edit a:\config.sys
3. Add the following line to the CONFIG.SYS file immediately after the
command that loads HIMEM.SYS:
device=c:\dos\smartdrv.sys /b+
4. Delete any other lines that load SMARTDRV.SYS or other disk-caching
programs.
5. Save the CONFIG.SYS file. If you're using MS-DOS Editor, choose
Exit from the File menu. When MS-DOS Editor displays a dialog box
prompting you to save your file, choose the Yes button or press
ENTER.
6. With the floppy disk in drive A, restart your computer by pressing
CTRL+ALT+DEL. If your computer works properly now, keep this
command in your CONFIG.SYS file. Copy the test CONFIG.SYS file from
your floppy disk to your hard disk by doing the following:
a. Make a backup copy of your old CONFIG.SYS file by typing the
following:
ren c:\config.sys config.bak
b. Copy the CONFIG.SYS file from the floppy disk in drive A to your
hard disk by typing the following:
copy a:\config.sys c:\
NOTE: If you usually use a different disk-caching program, it
may not be working properly with EMM386.EXE. Leave SMARTDrive in
your CONFIG.SYS file for now, and contact the manufacturer of your
other disk-caching program for more information about using it with
EMM386.EXE.
7. If your computer still hangs, continue to the procedure "Make Sure
Your Programs and Device Drivers Function Correctly in Upper
Memory." (Do not delete the command you just added to your
CONFIG.SYS file. There may be an additional problem that is causing
your computer to hang.)
If You Are Using Windows 3.1 or MS-DOS 6.0
------------------------------------------
SMARTDrive has changed in Windows 3.1 and MS-DOS 6.0. Its filename is
SMARTDRV.EXE (not SMARTDRV.SYS), and it loads from both the
AUTOEXEC.BAT and CONFIG.SYS files. To load SMARTDrive, do the
following:
1. Copy your original AUTOEXEC.BAT and CONFIG.SYS files to the test
disk you created in the procedure "Make Sure HIMEM.SYS and
EMM386.EXE Are Functioning Properly." You can do this by typing the
following at the MS-DOS command prompt and pressing ENTER:
copy c:\autoexec.bat a:\
copy c:\config.sys a:\
2. Use a text editor to open the test AUTOEXEC.BAT file. If you want
to use MS-DOS Editor, type the following at the MS-DOS command
prompt and press ENTER:
edit a:\autoexec.bat
3. Make sure SMARTDRV.EXE is in the test AUTOEXEC.BAT file and remove
any other disk-caching programs you find. If you have Windows 3.1,
the SMARTDrive command line should resemble the following
c:\<directory>\smartdrv.exe
where <directory> is your Windows directory. For example if your
Windows directory is WINDOWS, your SMARTDrive command line should
look as follows:
c:\windows\smartdrv.exe
If you have MS-DOS 6.0, the command line should resemble the
following
c:\<directory>\smartdrv.exe
where <directory> is your MS-DOS directory. For example if your MS-
DOS directory is DOS, your SMARTDrive command line should look as
follows:
c:\dos\smartdrv.exe
4. Save the test AUTOEXEC.BAT file. If you are using MS-DOS Editor,
choose Exit from the File menu. When MS-DOS Editor displays a
dialog box prompting you to save your file, choose the Yes button
or press ENTER.
5. Open the test CONFIG.SYS file in a text editor. If you want to use
MS-DOS Editor, type the following at the MS-DOS command prompt and
press ENTER:
edit a:\config.sys
6. Remove any disk-caching programs you find except SMARTDRV.EXE. If
you have Windows 3.1, modify the SMARTDrive command line to
resemble the following:
device=c:\windows\smartdrv.exe /double_buffer+
If you have MS-DOS 6.0, the command line should resemble the
following:
device=c:\dos\smartdrv.exe /double_buffer+
7. Save the test CONFIG.SYS file. If you are using MS-DOS Editor,
choose Exit from the File menu. When MS-DOS Editor displays a
dialog box prompting you to save your file, choose the Yes button
or press ENTER.
8. With the floppy disk containing the test CONFIG.SYS file still in
drive A, restart your computer by pressing CTRL+ALT+DEL. If your
computer now works properly, keep the test AUTOEXEC.BAT and
CONFIG.SYS files. Copy them both from your floppy disk in drive A
to your hard disk by following the steps below. If your computer
still hangs, continue to the procedure "Make Sure Your Programs and
Device Drivers Function Correctly in Upper Memory." (Do not delete
the changes you just made. There may be an additional problem that
is causing your computer to hang.)
a. Make a backup copy of your old AUTOEXEC.BAT and CONFIG.SYS files
by typing the following commands at the MS-DOS command prompt
and pressing ENTER after each line:
ren c:\config.sys config.bak
ren c:\autoexec.bat autoexec.bak
b. Copy the files from the floppy disk in drive A to your hard disk
by typing the following commands at the MS-DOS command prompt
and pressing ENTER after each line:
copy a:\config.sys c:\
copy a:\autoexec.bat c:\
NOTE: If you usually use a different disk-caching program, it
may not be working properly with EMM386.EXE. Leave SMARTDrive
the way you have it for now, and contact the manufacturer of
your other disk-caching program for more information about
using it with EMM386.EXE.
MAKE SURE YOUR PROGRAMS AND DEVICE DRIVERS FUNCTION CORRECTLY IN
UPPER MEMORY
================================================================
NOTE: If you load into upper memory only programs and device drivers
that came with MS-DOS, you can skip this procedure.
If your computer hangs only when you load a specific driver or
terminate-and-stay-resident (TSR) program with the DEVICEHIGH or
LOADHIGH (or LH) command, you may not be able to load that particular
device driver or TSR into an upper memory block (UMB). MS-DOS device
drivers and memory-resident programs should load into UMBs without any
problems. (EMM386.EXE and HIMEM.SYS cannot load high and, depending on
your hardware, hard disk device drivers and disk caches may not load
high either.)
If you suspect that loading a device driver or TSR program into upper
memory is causing the problem, you can load it into conventional
memory instead of upper memory.
Device Drivers
--------------
If you suspect a device driver is causing your computer to hang, do
the following:
1. Use a text editor to edit the CONFIG.SYS file on the floppy disk
you created in the procedure "Determine if Your Disk-Caching
Program Needs to Be Loaded into Conventional Memory." If you want
to use MS-DOS Editor, type the following at the MS-DOS command
prompt and press ENTER:
edit a:\config.sys
2. Find the command that loads the device driver causing the problem.
It should begin with a DEVICEHIGH command. For example
devicehigh=c:\<directory>\driver.sys
where <directory> is the directory where DRIVER.SYS currently
resides. For example if your DRIVER.SYS file is located in the
DRIVERS directory, the DEVICEHIGH command should resemble the
following:
devicehigh=c:\drivers\driver.sys
3. Replace the DEVICEHIGH command with DEVICE so that the device is
loaded into conventional memory. (You may also have to remove a
SIZE switch.) For example, you would change this command
devicehigh size=39e0 c:\drivers\mouse.sys
to look like this:
device=c:\drivers\mouse.sys
4. Save your CONFIG.SYS file. If you're using MS-DOS Editor, choose
Exit from the File menu. When MS-DOS Editor displays a dialog box
prompting you to save your file, choose the Yes button or press
ENTER.
5. Restart your computer by pressing CTRL+ALT+DEL. If loading the
device driver with the DEVICEHIGH command was causing the problem,
your computer should work normally now. Copy the CONFIG.SYS file
from your floppy disk in drive A to your startup drive as follows:
a. Make a backup copy of your old CONFIG.SYS file by typing the
following:
ren c:\config.sys config.bak
b. Copy the CONFIG.SYS file from the floppy disk in drive A to your
startup drive by typing the following:
copy a:\config.sys c:\
6. If your computer still hangs, continue loading device drivers low
by following steps 1-4 until you find the device driver that is
causing the problem. If you load all your device drivers into
conventional memory and your computer still hangs, continue to the
next procedure.
TSR Programs
------------
If you suspect a TSR program is causing the problem, edit your
AUTOEXEC.BAT file as follows:
1. Copy the AUTOEXEC.BAT file from your startup drive to the floppy
disk in drive A by typing the following at the MS-DOS command
prompt and pressing ENTER:
copy c:\autoexec.bat a:\
2. Use a text editor to edit the AUTOEXEC.BAT file. If you want to use
MS-DOS Editor, type the following command:
edit a:\autoexec.bat
3. Read your AUTOEXEC.BAT file and find the command where the problem
occurs. It should begin with a LOADHIGH or LH command. For example,
if your computer hangs after loading MYTSR.COM into upper memory,
you would look for one of these commands:
loadhigh c:\mytsr.com
-or-
lh c:\mytsr.com
4. Remove the LOADHIGH or LH command so that the program loads into
conventional memory. For example, you would change either of the
above commands to the following:
c:\mytsr.com
5. Save your AUTOEXEC.BAT file. If you're using MS-DOS Editor,
choose Exit from the File menu. When MS-DOS Editor displays a
dialog box prompting you to save your file, choose the Yes button
or press ENTER.
6. Restart your computer by pressing CTRL+ALT+DEL. If loading the
program with the LOADHIGH or LH command was causing the problem,
your computer should work normally now. Copy the AUTOEXEC.BAT file
from the floppy disk in drive A to your startup drive as follows:
a. Make a backup copy of your old AUTOEXEC.BAT file by typing the
following:
ren c:\autoexec.bat autoexec.bak
b. Copy the AUTOEXEC.BAT file from the floppy disk in drive A to
your startup drive by typing the following:
copy a:\autoexec.bat c:\
If your computer still hangs, try to determine if it hangs after
loading the same program as before. If it hangs after the same
program, continue to the next procedure. If your computer hangs
when loading a different program, continue removing LOADHIGH
commands using steps 1-4.
MAKE SURE EMM386.EXE ISN'T USING THE SAME MEMORY AS ANOTHER PROGRAM
OR DEVICE DRIVER
===================================================================
If your computer still hangs and none of the previous procedures have
helped, EMM386.EXE may be using the same memory area as another
program, device driver, or hardware adapter. For example, this could
happen when you install a network interface card (NIC).
At this point, experiment with the EMM386 command to determine which
memory addresses are being used by the other programs or device
drivers. You can also contact the manufacturer of the hardware device
or Microsoft Product Support Services to help determine the problem.
If you think you have an adapter or program that is conflicting with
EMM386.EXE and you want to try to solve the problem yourself, check
the documentation that came with it to see what address space the
adapter or program uses. If the conflict occurs over a network, check
with your network administrator to find out what memory addresses are
in use. You can then use the x= switch when you load EMM386.EXE to
prevent EMM386.EXE from using those addresses.
For example: If a NIC uses the D800-DFFF memory address range, add the
x=d800-dfff switch to the end of the DEVICE command that loads
EMM386.EXE in your CONFIG.SYS file. If your original EMM386 command
looked like this
device=c:\dos\emm386.exe noems
modify it to look like this:
device=c:\dos\emm386.exe noems x=d800-dfff
If you want help with this procedure, or with finding out which memory
address is causing the problem, contact Microsoft Product Support
Services.
RELATED INFORMATION
===================
For more information about EMM386.EXE, see pages 287-290 and 605-609
of the "Microsoft MS-DOS User's Guide and Reference" for version 5.0
or, if you have MS-DOS 6.0, see MS-DOS Help (by typing "help" [without
the quotation marks] at any MS-DOS command prompt and selecting
EMM386.EXE).