Updated: May 31, 2008
Windows XP Hardware Profiles are a little known Easter Egg available in this operating system. Windows XP Hardware Profiles are sets of instructions that tell Windows which devices to start and how to use them when you boot into Windows. By default, Windows XP uses everything that is installed in its initial configuration. This configuration is very generous; in addition to fully utilizing all of the installed devices, the default profile also runs with most services enabled. While this allows for the maximum instant flexibility, it is quite rarely used to the full potential by most people.
Examples
Here are few simple examples:
If you never use Uninterruptible Power Supply (UPS), why do you need this service? If you do not have a wireless adapter, why use its service? If you are using a laptop (meaning battery time is precious to you), would you not like to be able to trim down on some of those services that just gobble up the battery?The simplest solution would be to shut down unneeded and unused services. But there are a few problems with this approach:
Computer usage is a fluid experience; today's needs might not reflect tomorrow's needs. Disabling services will cause all dependencies to fail too, which might cause a completely unrelated problem later on, which the user will not be able to solve - or even understand the root cause thereof. Globally disabling or enabling services makes them effective for all users, a potentially unwanted side effect. Disabling and enabling services is considered tweaking - something that I do not easily recommend.
Using Hardware Profiles can solve all of the above
The hardware profiles allow the computer user to create different setups/scenarios - id est profiles - for specific computing purposes, without unnecessarily wasting resources on unneeded tasks.
Hardware Profiles do not alter the default configuration - only build upon it. Hardware Profiles will not cause global changes - only local ones - making the process of undoing possible errors or incompatibilities much simpler. Hardware Profiles allow the computer user to adapt his/her machine to a variety of completely unrelated uses without wasting resources; for example, a gaming profile and a security profile. Hardware Profiles can increase security.
For more information about Hardware Profiles, please refer to this Microsoft article. Alright, now that we are convinced that Hardware Profiles can make our lives easier, let's see how we can set them up.Note: Please remember that I do NOT advocate (deliberate) use of tweaks in Windows! However, the use of Hardware Profiles allows almost transparent and harmless tweakability.
Finding Hardware Profiles
There are two ways you can find them - via the Control Panel or by right-clicking on My Computer. I'll show you the second way, for the sake of simplicity. Right-click My Computer > Properties > Hardware tab. Click on Hardware Profiles.
You'll get to the below Window. If you have never tweaked the profiles before, there will be only one, called Profile 1 (Current). This is the default profile, referring to the generous default Windows XP configuration. We shall leave it be - both as a reference and a backup point. We will copy it and work on the copies, creating other profiles that we need. Click Copy to proceed.
Rename the copy to something logical, so when you boot into Windows XP, you'll actually be able to identify different profiles. Calling them A, B, C and such is not wise. In our case, the profile will be called Testing.
We're done with the creation (of copies) of profiles for now. Click OK until you close all of the Windows. It's time to actually configure the profiles. For the time being, Testing is identical to Profile 1(Current).
A few side notes before we proceed:
- You can also rename the default profile, if you like.
- You can shuffle the profiles in the list up and down, changing the boot priorities.
- You can define the timeout before the first listed profile is selected. This can be useful if you do not wish your users to be able to select anything else than the default one - assuming that the intended users are not skilled enough to make changes once they reach the desktop.
Services
Right-click on My Computer > Manage > Services and Applications > Services.
Alternatively, you can get to the services via the Control Panel > Administrative Tools > Services or by typing services.msc into the Run field (Start > Run).
Above, you can see the default configuration. There are three levels of Startup type for services:
- Automatic - meaning they will be loaded, regardless whether they'll be used or not.
- Manual - meaning they will be loaded only when used.
- Disabled- the service will not be loaded.
To be able to configure profiles successfully, you need to understand what each service does. There is a brief description, but there's also more information under the Extended tab. Once you are sure what you may want or need in a particular profile, you will have to change the way services are used.
For each of the services you wish to change, right-click on the relevant entry > Properties. In our case, the first services that we will change is the Automatic Updates.
The information affecting the profiles can be altered under the Log On tab.
Disable or enable the service for each of the profiles you created. In our case, Testing will be a slightly slimmed down version of the default profile, with several services (like Automatic Updates) disabled.
We shall repeat this for every services we deem unneeded in our profile.
The following services were set to disable for the Testing profile:
- Automatic Updates
- Error Reporting
- Fast User Switching
- Help and Support
- IPSEC Services
- Secondary Logon
- SSDP
- System Restore
- Task Scheduler
- Terminal Services
- Windows Time
- Wireless Zero Configuration
Our system is running with 20 processes at 71Mb memory. Not that much - and insignificant for computers with plenty of RAM - but it might be meaningful when the default profile is running at 40-50 processes with 400-500Mb memory used.
Port wise, we have some ports open.
Now, let's see what happens when we reboot.
First thing, the boot up menu will change. Instead of the usual expected Windows logo, you will be prompted to choose a profile. We'll proceed with the Testing profile.
After reaching the Desktop, you might not notice any difference. But let's see how the things have changed. Task Manager:
Our memory usage has dropped down by about 10%. The number of visible processes remains the same. Ports:
There are several entries less, most notably the SSDP service that listens on port 1900.
Conclusion
Hardware Profiles offer multilayer flexibility to the Windows XP user. They allow the user to take full advantage of his/her resources by utilizing them when they are needed (or not), rather than running idle 99% of the time. They allow and emphasize separation of tasks and priority - a modular strategy that should be embraced. Finally, they can also be used to greatly enhance security (for example, a Surfing profile is a possibility).Combined with Group Policies, yet another little known Easter Egg, and possibly the use of a limited account, the Hardware Profiles are the Windows best tools available. They take no resources once implemented effectively and correctly, cause no system lag, and allow a high degree of flexibility with just one small disadvantage - you need to reboot for the changes to take effect. But they are worth the price.
Enjoy.