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.
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
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
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
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
We're done with the creation (of copies) of profiles for now. Click OK
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.
Now, we need to change the way services are loaded for each profile during the boot up.
Right-click on My Computer > Manage > Services and Applications > Services.
Alternatively, you can get to the services via the Control Panel > Administrative Tools
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.
In the default configuration, most services are set to either automatic
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
- System Restore
- Task Scheduler
- Terminal Services
- Windows Time
- Wireless Zero Configuration
Once you are done, reboot. But before we do that, let's review our current resource usage - and the
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
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
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.
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.