Article ID: 189119
Article Last Modified on 2/27/2007
APPLIES TO
- Microsoft Windows NT Server 4.0, Terminal Server Edition
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
This article was previously published under Q189119
SYMPTOMS
Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
When you log on to a Windows NT 4.0 computer, you may receive the following error in the User Environment dialog box:
The following message may be displayed as well:
Your profile settings (desktop icons, application settings, and so on) are reset to the default. If you look in the %SystemRoot%\Profiles folder, you should see your profile directory has been renamed to %SystemRoot%\Profiles\Username.bak, and a new default profile has been stored in %SystemRoot%\Profiles\Username. This is done to allow a user to log on successfully if the profile has been corrupted or does not load for some other reason.
If the registry size limit has been exceeded, a system pop-up message indicating this will be presented to the user during the first logon attempt when this occurs. The following message will be displayed:
During subsequent logon attempts, profile load errors will occur and the following application events will be logged:
Event ID 1000 userenv RegLoadKey failed with error 1009 for C:\WINNT\Profiles\username\ntuser.dat Event ID 1000 userenv The operating system was unable to load the locally stored profile. A new local profile will be created. (1009)
NOTE: If a user commonly locks the workstation instead of logging off, the original Registry Size Limit error may have been forgotten or lost from the event log by the time a subsequent logon attempt occurs and the profile fails to load.
Windows 2000 Terminal Server SP4 clients are not able to connect to the Terminal Server because of the following error messages:
CAUSE
Although the user profile registry keys may fail to load for a number of reasons, one status code is always returned indicating that the profile is corrupted. The Registry Size Limit (RSL) may have been exceeded. The RSL is a user-defined quota that places a maximum upper limit on how large the registry can grow. When this limit is approached, a message stating this in the Application Popup dialog box will be presented to the user. Because the loading of a user profile (stored in Ntuser.dat) consumes Registry Quota, this may contribute to the exhaustion of this resource.
RESOLUTION
A User Profile does not load if the RSL has been exceeded. This is by design. To work around this problem, the RSL can be increased to avoid the restriction. To do this, follow these steps:
- In Control Panel, double-click System.
- On the Performance tab, click Change in the Virtual Memory section.
- In the Virtual Memory dialog box, in the Registry Size section, the current registry size and the maximum registry size are displayed. Modify the current RSL in this section.
Microsoft recommends increasing the RSL only enough to accommodate the current Registry and a small amount of growth. For additional information, please see the following article in the Microsoft Knowledge Base:
176083
System Is Running Low on Registry Quota
In Windows NT 4.0, Terminal Server Edition, the RSL is based on paged pool. The maximum size of paged pool is 192 MB. RSL can consume a maximum of 80 percent of paged pool, for a maximum of 153.6 MB. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
124594 Understanding and Configuring Registry Size Limit (RSL)
Windows NT 4.0
If the profile has been renamed to Username.bak as a result of the RSL being exceeded, it is possible to restore the original profile settings.
- Log on to the computer as Administrator.
- Rename or delete the %SystemRoot%\Profiles\
Username
profile folder. - Rename the %SystemRoot%\Profiles\
Username
.bak profile folder toUsername
. - Log off as Administrator and log on as
Username
.
Windows 2000
Windows 2000 includes a UserEnv enhancement so that the user profile is not deleted if or when the profile is not corrupt. A pop-up message is provided indicating insufficient resources. The user is then logged off if the user does not have local administrative privileges or the user is logged on when administrative privileges are identified. The administrator can then increase the registry size limit and log on again. The user profile used prior to the problem is still being saved on the local computer unless it has just been copied.
Note A restart is required after RSL has been increased either by using Control Panel or by editing the registry, because this change does not happen dynamically and you may still experience the following event:
Event Type: Error
Event Source: Userenv
Event Category: None
Event ID: 1000
Date: Date
Time: Time
User: NT AUTHORITY\SYSTEM
Computer: ComputerName
Description: RegLoadKey failed.
Return value: Insufficient system resources exist to complete the requested service for C:\Documents and Settings\ntuser.dat.
Windows 2000 Terminal Server SP4 clients
Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.
- Locate the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
- Implement the following registry settings:
PoolUsageMaximum=dword:00000030
PagedPoolSize=dword:ffffffff - Restart the computer.
To try to reduce the size of the registry on Windows 2000 Professional-based computers that are affected:
- Click Start, click Run, type ntbackup, and then click OK. Click Emergency Repair Disk.
- When the following message comes up:
When you click OK, you can disregard the following error message: - Create a new Regback folder in c:\winnt\repair. Close Windows NT Backup, and then start the Registry Editor.
- Click \HKEY_LOCAL_MACHINE, and then click Load Hive on the File menu.
- Open the c:\winnt\repair\regback folder, click Software, and then click Open.
- In the Key Name box, type software.good, and then click OK.
- On the Registry menu, click Save Key.
- Restart your computer with the Windows 2000 CD-ROM in your CD-ROM drive so you can so you can boot from the Windows 2000 CD.
- Start the Recovery Console, and then type the following commands. Press ENTER after each command:
cd\winnt\system32\config
rename software Software.bad
rename Software.good software - Restart your computer. For additional information about the Recovery Console, click the following article number to view the article in the Microsoft Knowledge Base:
229716 Description of the Windows 2000 Recovery Console
To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
152734 How to Obtain the Latest Windows NT 4.0 Service Pack
STATUS
Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.
MORE INFORMATION
Error code 1009 is always returned as the NtStatus code for the Windows API MyRegLoadkey. This code maps to the configuration registry database as corrupted: ERROR_BADDB or STATUS_REGISTRY_CORRUPT. This is misleading if the loading of the registry hive failed because of other causes. If the RSL is exceeded, the correct NtStatus code is 1450, insufficient system resources exist to complete the requested: ERROR_NO_SYSTEM_RESOURCES or STATUS_INSUFFICIENT_RESOURCES.
For additional information, please see the following article in the Microsoft Knowledge Base:
185198 Error 1000 and User Profiles
Keywords: kbhotfixserver kbqfe kbbug kbfix kbqfe KB189119