1. Click Start, Run, type sysedit, and then press Enter. Click the Config.sys tab to bring it into focus and see if there is an entry for Himem.sys. If there is not, then close Sysedit and go to paragraph #2.
a. If listed, make sure this file is in the folder depicting your Windows file folder and the path is correctly specified. Example:
b. There may be extra parameters on this line and if so, please read:
(1) "MS-DOS Error Msg: Unable to Control A20 Line (Q73713)", for appropriate information that is included for your machine.
(2) "HIMEM.SYS Reports Error: Unable to Control A20 Line! (Q96711)."
c. Boot the system and when you see the Starting Windows 9x message, press the F8 key for Win95 or Win98 with EZDrive or otherwise hold the Ctrl-key for Win98 and then choose Step-by-Step Confirmation from the Startup menu. Answer yes (y) for processing the items and watch closely when starting the Process your startup device drivers (Config.sys)? and see if any error is displayed. Continue until Windows boots. If there is an error of any sort, post a reply to this thread with the exact error displayed.
d. If there was an entry for Himem.sys in the Config.sys file and the path and spelling are correct, extract a new copy of that file from the Windows CD-ROM to the folder depicting your Windows file folder ("How to Extract Original Compressed Windows Files (Q129605)").
2. Check the System Registry file and see if the key pointing to Himem.sys has become corrupt or is missing. For example:
a. Click Start, Run, type regedit, and then press Enter.
b. Click on the plus (+) before each word preceding the slash in the following line until you reach the last word. Click on Himem and look in the right window for an entry similar to that depicted in quotations:
c. Whether it is listed exactly as shown or not, write it down, click the word Registry in the toolbar and select Exit. Do not change anything.
d. If the information in quotations above was otherwise different, report what you copied down in a thread to this message. Also, verify whether Himem.sys exist at the location specified in the pathname listed and that pathname is valid for your system. Does Himem.sys exist in several locations on your system?
3. A system restart problems of this sort may be identified by stopping the Windows reboot process and creating a BootLog.txt file.
a. The BOOTLOG.TXT file contains a record of the current startup process for starting Windows. This file shows the Windows components and drivers loaded and initialized, and the status of each.
b. When you use the F8 option for interactive system startup for Windows 95 or holding the Ctrl key in Windows 98, you can choose to create a boot log during system startup. Also pressing the F8 or Ctrl key appropriately for either version during a reboot will process the startup menu for making selections. You may also just "Boot to the command prompt" and use the /b switch to create a boot log when running WIN.COM from the command line. Example: Win /b, and then pressing ENTER.
c. The information in Bootlog.txt is written in sequence during startup, in roughly five major sections. Depending upon a specific error condition, you might need to examine multiple sections. Notice, however, that a Loadfailed= entry means only that the related VxD refused to load as explained in "Load Failures Listed in the Bootlog.txt File (Q127970)."
d. The Step-by-Step Confirmation boot as indicated in #1c above can also be used to verify whether HIMEM.SYS is loading.
4. Sometimes a memory conflict can cause shutdown problems particularly in Win95 and whether this could have transcended into Win98 is anybody's guess and these conflicts can exist even when HIMEM.SYS and EMM386.EXE aren't loaded directly in the CONFIG.SYS file. To see if this is your situation, edit the or create an CONFIG.SYS file to make its first two lines read exactly as follows, [Q145926]:
a. The X=A000-FEFF parameter tells EMM386.EXE to exclude the largest allowable memory range. EMM386 can actually accept values up to the hexadecimal address FFFF, but using values larger than FEFF for this purpose will result in a conflict because of overlapping memory requirements.
b. Once you edit the necessary lines in CONFIG.SYS, save your changes. Now, restart, shut down, or shut down and restart your computer. If the process is successful, you probably have some sort of memory conflict.
Note: Remember to return your system to it previous stage of startup concerning this procedure if the exercise was futile.
5. Please read the Microsoft Developer Network (MSDN) article, subject "Err Msg: While Initializing Device NTKERN: Windows Protection... (Q192397)."