Difference Between HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE (With Table)

HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE are both information storage registries in the Windows registry compile unit found in Windows Operating System since Windows version 3.1.

The Windows registry contains information about many settings that is either by default or manually changeable by the user or a group of users depending on their needs.

HKEY_CURRENT_USER vs HKEY_LOCAL_MACHINE

The main difference between HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE is that while in HKEY_CURRENT_USER the information registry consists of all the necessary detailing about the computer system and display needed by an individual user the HKEY_LOCAL_MACHINE registry holds information regarding the computer as a whole single unit that can come in need for a group of individuals as a whole.

HKEY_CURRENT_USER information registry holds only if the computer needs are limited to a single user that is the computer is used by one person. It contains an index of all the OS functions that can affect the single user and thus can also be edited by them alone. It is a single-user type of registry both edited and used by an individual alone.

HKEY_LOCAL_MACHINE information registry comes into use in those cases when a single computer unit is shared among multiple users all of whom have equal access to the system. The information index that this registry holds has all the OS functions needed to clear the technical aspects of the computer system that can be accessed by all those who use the system unit.

Comparison Table Between HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE

Parameters of ComparisonHKEY_CURRENT_USERHKEY_LOCAL_MACHINE
AbbreviationHKCVHKLM
Settings Under ControlDesktop wallpaper, other display settings, onscreen keyboard layoutThe file path, versions, hardware connections in the OS
Could be Edited byA single userMultiple users
Number of CopiesMultiple copies of the index valuesA single copy of the information index value.
SubkeyNo sub key availableMultiple sub keys

What is HKEY_CURRENT_USER? 

HKEY_CURRENT_USER is one among the multiple registries that come along with the Windows OS. It holds configuration details that are specific to the software of individual users.

HKEY_CURRENT_USER is the registry that contains the entire necessary information specific to a single user.

It can hold multiple copies regarding a single setting under its control but with different values.

In HKEY_CURRENT_USER, if a user wishes to change or edit any entries that are by default entered in the registry then he/ she can do so.

But such changes made by them won’t be visible for any other computer system but only for themselves.

And similarly, a single computer system can only be edited by the individual user for whom it is assigned.

A user can’t simply log in to the account of another’s HKEY_CURRENT_USER account and start editing the contents as that account might belong to another.

HKEY_CURRENT_USER registries are always loaded only after the specific individual user logs in to his/her account.

This method of registry loading seems to avoid confusion if the registries were all loaded as soon as the system activates.

This loading system helps the Operating System to identify the user whose registry needs to be loaded.

But if in case the user does not log into their specific account but instead into a guest account on their device or into the default account in the system, then the registry loaded would be the default HKEY_CURRENT_USER account specific to the computer system.

For a new user who hasn’t yet made any edits or registry changes, the HKEY_CURRENT_USER account of theirs would hold all the default HKEY_CURRENT_USER account values.

The settings that could be changed in the HKEY_CURRENT_USER are all user-specific. For example, display settings like color, desktop background, positioning of the applications, etc.

Other settings that come under the HKEY_CURRENT_USER are onscreen keyboard layout window sizes etc.

What is HKEY_LOCAL_MACHINE? 

HKEY_LOCAL_MACHINE is one among the many information registries that help create the foundation for the Windows registry.

HKEY_LOCAL_MACHINE is a major registry that holds the major configuration information for the programming software that the user might have needed for their computer system.

HKEY_LOCAL_MACHINE holds the information registry regarding the whole operating system as a whole instead of for the individual users who might operate it.

By creating a change in any of the entries made by default in the registry, a user is editing it for the entire system thereby changing the value for all the users that might access it.

HKEY_LOCAL_MACHINE registry can be changed by anyone if the users use the OS. This is because the change made by one can be viewed by all.

It has a single copy regarding the information that it holds giving it a single unique value instead of many.

HKEY_LOCAL_MACHINE is loaded onto the user account at the time the system is started or initiated into action. Hence giving all user logs in accounts the same information registry.

The information held on the HKEY_LOCAL_MACHINE registry is for the whole of the computer including its technical capabilities that could be called global settings like the file path of a program or the version of the software.

It doesn’t only hold software configuration information but it can also withhold information about the hardware and other device drivers that are in connection with the OS.

HKEY_LOCAL_MACHINE registry has 4 subkeys that are considered its main subkeys. These are SAM, SECURITY, SOFTWARE, and SYSTEM.

These subkeys help in the smooth index handling capacity of the HKEY_LOCAL_MACHINE registry.

In Windows Vista and Windows version 7 and above, a fifth subkey is usually seen which is the HARDWARE subkey.

Even rarer is the 6th subkey called BCD. Among all of these subkeys, the most common is the SOFTWARE that accompanies almost all the HKEY_LOCAL_MACHINE information registry at the time of system loading.

Main Differences Between HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE

  1. While in HKEY_LOCAL_MACHINE only one copy of the information registry is available for the users, in the case of HKEY_CURRENT_USER, multiple copies of the given information registry values regarding the single user are present. 
  2. In HKEY_CURRENT_USER if the user changes the values of the default registry on his account, the change won’t be visible to others but in the case of HKEY_LOCAL_MACHINE, a change in the value by one user changes the registry values for all the users.
  3. HKEY_LOCAL_MACHINE can be edited by any number of a user from their account to create a change in everyone’s registry whereas in HKEY_CURRENT_USER only one user can edit the registry for themselves. 
  4. HKEY_CURRENT_USER is loaded when a user logs in to their account while the HKEY_LOCAL_MACHINE registry is loaded as soon as the system in use is started. 
  5. While HKEY_LOCAL_MACHINE holds information regarding the global settings that are in connection with the computer system HKEY_CURRENT_USER holds information entries related to mostly the display settings and other users changeable manual settings. 

Conclusion

Both HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE are highly important to store index values regarding information that might prove important to the user.

HKEY_LOCAL_MACHINE is for a computer operating system that is more liable to be used by a group of people working in sync.

HKEY_CURRENT_USER is an individually accessible registry holding index values that are of any interest to an individual related to their OS.

Both of the registries being used simultaneously in a single operating system are rare to be seen.

HKEY_CURRENT_USER is found in personal computers or a desktop system used by one person.

HKEY_LOCAL_MACHINE is usually found in operating systems that are accessed by much number of people who have equal control over what happens to the values in the registry.

While HKEY_LOCAL_MACHINE usually holds subkeys under it, HKEY_CURRENT_USER itself is a subkey that comes under HKEY_USER.

References

  1. https://www.sciencedirect.com/science/article/pii/S1742287605000587
  2. https://www.virusbulletin.com/uploads/pdf/conference_slides/2009/Willems-VB2009.pdf

About the Editorial Staff

Editorial Staff at Ask Any Difference is a team of experts in the field of "Difference Between" topics and led by Sandeep Bhandari, Piyush Yadav and Chara Yadav. Trusted by over 1.5 million readers worldwide
PinterestLinkedIn, Facebook

2D vs 3D x
2D vs 3D