Microsoft KB Archive/186909

= Registry Checker Continues to Detect Registry Damage =

Article ID: 186909

Article Last Modified on 1/23/2007

-

APPLIES TO


 * Microsoft Windows 98 Standard Edition
 * Microsoft Windows Millennium Edition

-



This article was previously published under Q186909



SYMPTOMS
When Windows starts, the Registry Checker tool may display the following message:

Windows registry is damaged. Windows will restart and try to fix the problem.

When you click OK, you may receive the same message when Windows restarts.

Note that running the real-mode version of Registry Checker (Scanreg.exe) at a command prompt does not detect registry damage, and Windows Millennium Edition (Me) does support real mode Scanreg.exe.



CAUSE
This problem can occur if there is defective memory in your computer. A defective memory chip may damage the registry in memory. The Windows-based (or protected-mode) version of Registry Checker (Scanregw.exe) scans the registry in memory for damage.

When this issue occurs, Scanregw.exe detects that the registry is damaged in memory and marks the registry as damaged so that the real-mode Scanreg.exe is run the next time the computer starts. Scanreg.exe may not detect any damage if the defective memory is not used in real mode, and may allow Windows to start normally.



RESOLUTION
There are two methods you can use to identify whether defective memory chips are causing the problem:

Method 1
Remove or replace memory chips in the computer to see if the problem is resolved.

Method 2
Try limiting the amount of memory that Windows uses. If limiting the amount of memory that Windows uses resolves the issue, the problem is a defective memory chip. To limit the amount of memory Windows uses, follow these steps:


 * 1) Restart Windows in Safe mode. To do so, restart your computer, press and hold down the CTRL key until the Windows 98 Startup menu appears, and then choose Safe Mode.
 * 2) Click Start, point to Programs, point to Accessories, point to System Tools, and then click System Information.
 * 3) On the Tools menu, click System Configuration Utility.
 * 4) On the General tab, click Advanced.
 * 5) Click to select the Limit Memory To  MB check box, and set the value to 16 megabytes (MB).

NOTE: Limiting memory to less than 16 MB may prevent Windows from loading. If you are unable to start Windows normally, start Windows in Safe mode and then disable this option by pressing and holding down the SHIFT key throughout startup.
 * 1) Click OK, and then click OK.
 * 2) Restart your computer normally.

For more information about troubleshooting memory, please see the following articles in the Microsoft Knowledge Base:

ARTICLE-ID: 134503

TITLE : Parity Error Messages May Indicate Bad Memory

ARTICLE-ID: 142546

TITLE : How to Use a RAM Drive to Troubleshoot Memory



STATUS
This behavior is by design.



MORE INFORMATION
You can disable Registry Checker so that it does not run automatically at startup. To disable Registry Checker, use the following steps.

WARNING: Microsoft does not recommend disabling Registry Checker. This tool automatically guards against problems that may render your computer unusable. The symptom described in this article may be indicative of a larger problem that should be identified and addressed.


 * 1) Restart Windows in Safe mode. To do so, restart your computer, press and hold down the CTRL key until the Windows 98 Startup menu appears, and then choose Safe Mode.
 * 2) Click Start, point to Programs, point to Accessories, point to System Tools, and then click System Information.
 * 3) On the Tools menu, click System Configuration Utility.
 * 4) Click the Startup tab.
 * 5) Click to clear the ScanRegistry check box.
 * 6) Click OK.
 * 7) Restart Windows normally.

Registry Checker consists of both a Windows-based (protected-mode) and MS-DOS-based (real-mode) version of the tool. The Windows-based version (Scanregw.exe) scans the registry for damage and empty data structures (keys marked as deleted), and backs up configuration files at startup once each day. If registry damage is detected, the tool sets a damage flag in the registry to invoke the real-mode tool, and you are prompted to restart the computer. If the registry contains more than 500 KB of empty data structures, the optimization flag is set in the registry and the real-mode tool is invoked the next time the computer starts to optimize the registry.

The real-mode tool (Scanreg.exe) is run at startup when the registry flag is set for either damage or optimization. If the damage flag is set, Scanreg.exe scans the registry for damage and then automatically restores the most recently saved backup set. The backup is extracted to a temporary file and scanned for damage before it replaces the current files. If the backup is damaged, the next most recent backup is restored. If no backups remain, Scanreg.exe attempts to fix the damage by rebuilding the registry without errors or empty data structures. If the optimization flag is set, the registry is compressed by removing all but a 4 KB placeholder for each empty data structure. The registry is not rebuilt when it is optimized; 4 KB remains to serve as a placeholder within the current registry.

For additional information about the Registry Checker tool, please see the following articles in the Microsoft Knowledge Base:

ARTICLE-ID: 183887

TITLE : Description of the Windows Registry Checker Tool (Scanreg.exe)

ARTICLE-ID: 183603

TITLE : How to Customize Registry Checker Tool Settings

ARTICLE-ID: 184023

TITLE : Command-Line Switches for the Registry Checker Tool

Keywords: kbhardware kbprb KB186909

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.