Possibly the most overlooked part of XP is the way people start up and shut down their systems. How much do you think about startup and shutdown? Probably not much. Press a button to start your PC, click a few buttons to shut it down, and that's it.
In fact, there's a lot you can do to get more productive—and to have a little customization fun—when using startup and shutdown. You can create boot menus and choose from customized startup options; you can create your own boot screen; you can perform automated tasks every time you shut down your PC; and you can stop unnecessary programs and services from starting so that you increase the speed of your PC. In this chapter, you'll learn all that, plus other ways to master and customize system startup and shutdown.
Edit or create a startup menu that lets you choose which operating system to boot into in multiboot systems, or create a menu that lets you choose different startup options for your single operating system if you have only XP installed.
If you've installed another operating system (in addition to XP) on your system, your PC starts up with a multiboot menu, which allows you to choose the operating system you want to run. The menu stays live for 30 seconds, and a screen countdown tells you how long you have to make a choice from the menu. After the 30 seconds elapse, it boots into your default operating system, which is generally the last operating system you installed.
You can customize that multiboot menu and how your PC starts by editing the boot.ini file, a hidden system file, to control a variety of startup options, including how long to display the menu, which operating system should be the default, whether to use the XP splash screen when XP starts, and similar features. And as you'll see later in this hack, you can also use the file to create a startup menu that will allow you to choose from different versions of your operating system—for example, one that you'll use for tracking down startup problems, and another for starting in Safe Mode.
The boot.ini file is a plain-text file found in your root C:\ folder. You might not be able to see it because it's a system file, and if you can see it, you might not be able to edit it because it's a read-only file. To make it visible, launch Windows Explorer, choose View → Tools → Folder Options → View, and select the Show Hidden Files and Folders radio button. To make it a file you can edit, right-click it in Windows Explorer, choose Properties, uncheck the Read-Only box, and click OK.
To edit the file, open it with a text editor such as Notepad. Following is a typical boot.ini file for a PC that has two operating systems installed on it—Windows XP Home Edition and Windows 2000 Professional:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000 Professional" / fastdetect
As you can see, there are two sections in the file:
customize your menu and startup options, edit the entries in each
section. Before editing boot.ini, make a copy of
it and save it under a different name (such as
boot.ini.old) so that you can revert to it if
you cause problems when you edit the file.
Following are details about how to edit the entries in each section:
This section controls how the boot process works; it specifies the
default operating system and how long a user has to make a selection
from a boot menu, if a boot menu has been enabled. The
timeout value specifies, in seconds, how long to
display the menu and wait for a selection before loading the default
operating system. If you want a delay of 15 seconds, for example,
15 for the value. Use a value of
0 if you want the default operating system to boot
immediately. If you want the menu to be displayed indefinitely and
stay on-screen until a selection is made, use a value of
default value specifies
which entry in the
system] section is the default operating system.
default value is used even if there is only
one operating system in the
system] section.) To change the default operating
system, edit the setting, in our example, to
So, in our example, if you change the menu settings so that the screen appears for 10 seconds before loading the default operating system, and the default operating system is Windows 2000 Professional, the section reads:
[boot loader] timeout=10 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
This section specifies which operating systems are present on the computer, and detailed options for each one. XP uses the Advanced RISC Computing (ARC) path to specify the location of the boot partition. In our example, the ARC path is:
The first parameter, which identifies the disk controller, should be
0. The second parameter, the
disk parameter, should also be
specifies the disk number on the controller that has the boot
partition. The numbers start at
0. So, if you have
three hard disks installed and the second hard disk has the boot
partition, the setting is
partition parameter identifies the partition
number of the boot partition. Partitions start with the number
1. The final section, which in our example is
\WINDOWS, specifies the path to the folder where
the operating system is installed.
To the right of the ARC path in
the example is
="Microsoft Windows XP
words within quotes are what will appear on the boot menu next to the
entry. To customize the text on the menu you can change these words
to whatever you wish—for example, "My Favorite
Operating System." The
/fastdetect switch disables the detection of
serial and parallel devices, which allows for faster booting. The
detection of these devices isn't normally required
in XP because the functions are performed by Plug and Play drivers,
so as a general rule it's a good idea to use the
/fastdetect switch. The
/fastdetect switch is only one of many switches
that you can use in the boot.ini file to
customize how the operating system loads. Table 1-1 lists others you can use.
Table 1-1. Switches for boot.ini
What it does
Starts XP using the standard VGA driver. It's most useful if you can't boot normally because of a video driver problem.
Logs information about the boot process to the ntbtlogl.txt file in the C:\Windows folder.
Loads the debugger at boot, but the debugger remains inactive unless a crash occurs.
Loads the debugger at boot and runs it.
Disables the detection of serial and parallel devices.
Specifies the maximum amount of RAM that XP can use.
Does not allow the XP splash screen to load during boot.
Stops the debugger from loading.
Forces XP to boot into the safe mode specified by the
Displays the name of each driver as it loads and gives descriptions of what is occurring during the boot process. It also offers other information, including the XP build number, the service pack number, the number of processors on the system, and the amount of installed memory.
When you've finished editing the boot.ini file, save it. The next time you start your computer, its settings will go into effect.
In our example, if we want the menu to appear for 45 seconds, the default operating system to be Windows 2000, and the XP splash screen to be turned off when we choose to load XP, the boot.ini file should look like this:
[boot loader] timeout=45 default=multi(0)disk(0)rdisk(0)partition(2)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /noguiboot multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows 2000 Professional" / fastdetect
Even if you have only one operating system, you can create a boot menu that will let you choose to load your operating system with different parameters. For example, for menu choices, you might have your normal operating system; a mode that lets you trace any startup problems; and Safe Mode. To give yourself the option of operating systems with different parameters, create separate entries for each new operating system choice. For example, for the version of the operating system that traces potential startup problems, you could create this entry:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Trace Problems XP Home Edition" /fastdetect /bootlog /sos
This entry creates a startup log and displays information about the drivers and other operating system information as it loads.
For the version of the operating system that loads in Safe Mode but that still allows networking, you could create this entry:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Safe Start XP Home Edition" / fastdetect /safeboot:network
The boot.ini file would look like this, assuming that you want the menu to display for 30 seconds and you want normal XP startup to be the default:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Trace Problems XP Home Edition" /fastdetect /bootlog /sos multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Safe Start XP Home Edition" / fastdetect /safeboot:network
If you're leery of using a text editor to edit
boot.ini directly, you can use the System
msconfig at a command prompt or in
the Run box and click the BOOT.INI tab, shown in Figure 1-1. You'll be able to add
several switches (but not as many as you can if you edit the
boot.ini file yourself using a text editor).
You're not stuck with XP's default splash logo on the startup screen; use any picture or logo of your choosing.
The techniques in this hack work only with versions of XP before SP2. If you have SP2, they won't work, and they could harm your system. If you have SP2 and want to change your boot screen, your best bet is to use downloadable software, such as Style XP from Tgtsoft at http://www.tgtsoft.com/download.php.
Many people, myself included, would prefer to see a more interesting splash screen (also called the startup screen) than the default gives you on startup. You can change your splash screen to any of hundreds that have been created, or make one of your own—for example, with your picture or company logo on it.
To choose from already created splash screens, go to http://www.themexp.org and click Boot Screens. You'll find more than 1,000 of them, organized by categories such as Sports, TV/Movies, and so on. I live in wintry but civilized New England, and during the winter I like to imagine myself in a far wilder place, so I use a picture of wolves in the wilds of Alaska for my splash screen. You can see it pictured in Figure 1-2. Nice way to greet the new day, don't you think?
Once you've found the image you want to use as your splash screen, download it. It will be downloaded as a .zip file. I create a general folder for all my boot screen files, called C:\Bootscreens, and then for each boot screen I download I create a new folder—in this instance, C:\Bootscreens\Wild.
It's possible that something will go wrong with your new boot screen, so before making the change, create a system restore point by choosing Control Panel → Performance and Maintenance → System Restore and following the instructions. If something goes wrong, you can revert to that restore point.
Unzip the contents of the .zip file into the folder. There will be one or more files, including ReadMe files. The boot screen itself, however, will be named ntoskrnl.exe. If you have XP Service Pack 1 installed, you might have to use a different file, named ntoskrnlSP1.exe, which might also be in the downloaded .zip file. Check the documentation of the file you download to make sure. If you're not sure if you have Service Pack 1 installed, it's easy to find out. Right-click My Computer and choose Properties → General. Your version of the operating system will be displayed. If you have Service Pack 1, it will say so on that screen.
The ntoskrnl.exe file is an executable file that contains the XP boot screen. During the boot process, XP executes this file, found in C:\Windows\System32, which in turn displays the boot screen graphic. So, to change your boot screen, replace your existing ntoskrnl.exe file with the one you just downloaded. But wait: there's more.
Never download and use a boot screen that is packaged inside a .exe file rather than a .zip file, and that you install by running an installation program. Always use .zip files and install the boot screens manually, instead of using an installation program. Many boot screen installation programs that change your boot screen contain spyware that they install on your PC without telling you, so stay away from them. For details about how to detect and kill spyware, see [Hack #34] .
You might think that all you have to do is copy the new ntoskrnl.exe over the existing one and then restart your computer for the changes to take effect. That's not quite the case, though. First you have to get around a feature of Windows XP that protects system files from being overwritten. Windows File Protection automatically replaces certain files with the original XP version of the file if they've been replaced, and ntoskrnl.exe is one of those files. However, if you make the change in Safe Mode, Windows File Protection won't kick in and you can safely copy the file.
Windows File Protection protects many other files, not just ntoskrnl.exe. Also included are .dll, .exe, .fon, .ocx, .sys, .tff, and, depending on your system, other file types such as .ax, .cpl, .cpx, .dll, .exe, .inf, .rsp, and .tlb.
Reboot your PC and press F8 immediately to get into Safe Mode. Now go to the C:\Windows\System32 folder and find the ntoskrnl.exe file. Copy it to another folder or rename it as a backup so that you can revert to it when you no longer want to use your new boot screen, or if something goes wrong when you install the new screen. Now copy the new ntoskrnl.exe file into C:\Windows\System32. (If you have to use the ntoskrnlSP1.exe file, rename it to ntoskrnl.exe first, and then copy it over.)
Reboot your computer again but don't go into Safe Mode this time. Now your new splash screen will appear every time you start your PC. To revert to your old splash screen, repeat the steps, copying your original ntoskrnl.exe file over your new one.
Depending on my mood, I might not want to be greeted by huskies every morning. There are times when I want to be greeted by the normal startup screen, and other times when I want to see Andy Warhol's famous painting of Marilyn Monroe, or Al Pacino from the movie Scarface, which are all available from http://www.themexp.org. So, I've made a startup menu that lets me choose which graphic should be my startup screen.
To create a startup menu, first download all the screens you want to use. Then rename the ntoskrnl.exe or ntoskrnlSP1.exe of each so that the filename describes the screen—for example, ntospacino.exe, ntosmonroe.exe, and ntosspongebob.exe. Copy them into C:\Windows\System32. Don't touch the existing ntoskrnl.exe file there; you'll keep that as one of your options. Because you're not changing that file, you don't have to boot into Safe Mode to make any of these changes.
Following the instructions in
, create a multiboot screen by
editing your boot.ini file. In the
[operating systems] section of the
boot.ini file, create a new entry for each
screen from which you want to choose. Copy the existing primary XP
entry and append
to the end of it, where
newbootscreenfilename.exe is the filename
of the boot screen you want to use for that entry. Also edit the
description so that it describes the boot screen. For example, if the
primary entry is:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect
you would create this entry for the SpongeBob startup screen:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="SpongeBob Startup Screen" / fastdetect /kernel=ntosspongebob.exe
Create as many entries as you want in the
loader] section. My boot.ini file
looks like this:
[operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="SpongeBob Startup Screen" / fastdetect /kernel=ntosspongebob.exe multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Pacino Startup Screen" / fastdetect /kernel=ntospacino.exe multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Marilyn Monroe Startup Screen" /fastdetect /kernel=ntosmonroe.exe
Whenever you start up XP now, you'll be able to choose from your normal startup screen or any of the others you've put on the menu. If you have a laptop, for example, you might set up a menu that lets you choose a businesslike startup screen at work and a more entertaining one at home.
So far, this hack has shown you how to use a startup screen that someone else built. But you're not limited to that; you can turn any graphic into a startup screen using BootXP (downloadable from http://www.bootxp.net). It's shareware and free to try, but it costs $7.95 if you decide to keep using it.
The program will convert graphics from many different formats to a boot screen graphic, then use it as your boot screen, or build a boot menu for you so that you can choose from multiple boot screens. That way, you don't have to edit the boot.ini file yourself.
It's a surprisingly simple program to use. Select a graphic that you want to use as a boot screen, and then click a button to convert it to the 640 480-pixel, 16-color bitmap startup screen standard. Preview the graphic, and if it's what you want, tell the program to set it as your boot screen. The program provides a variety of options, including choosing a different progress bar that alerts you that XP is loading, restoring your original startup screen, or randomizing your boot screen so that it randomly selects one you've created each time you boot. You can also use the program to download already created startup screens from http://www.bootxp.net.
Shorten the time it takes for your desktop to appear when you turn on your PC, and make XP shut down faster as well.
No matter how fast your PC boots, it's not fast enough. Here are several hacks to get you right to your desktop as quickly as possible after startup.
There's a simple way to speed up XP startup: make your system do a boot defragment, which will put all the boot files next to one another on your hard disk. When boot files are in close proximity to one another, your system will start faster.
On most systems, boot defragment should be enabled by default, but it might not be on yours, or it might have been changed inadvertently. To make sure that boot defragment is enabled on your system, run the Registry Editor [Hack #83] and go to:
Enable string value to
Y if it is not already set to
Y. Exit the Registry and reboot. The next time you
reboot, you'll do a boot defragment.
I've found many web sites recommending a way of speeding up boot times that might in fact slow down the amount of time it takes to boot up and will probably slow down launching applications as well. The tip recommends going to your C:\WINDOWS\Prefetch directory and emptying it every week. Windows uses this directory to speed up launching applications. It analyzes the files you use during startup and the applications you launch, and it creates an index to where those files and applications are located on your hard disk. By using this index, XP can launch files and applications faster. So, by emptying the directory, you are most likely slowing down launching applications. In my tests, I've also found that after emptying the directory, it takes my PC a few seconds longer to get to my desktop after bootup.
When you turn on your PC, it goes through a set of startup procedures in its BIOS before it gets to starting XP. So, if you speed up those initial startup procedures, you'll make your system start faster.
You can speed up your startup procedures by changing the BIOS with the built-in setup utility. How you run this utility varies from PC to PC, but you typically get to it by pressing the Delete, F1, or F10 keys during startup. You'll come to a menu with a variety of choices. Here are the choices to make for faster system startups:
When you choose this option, your system runs an abbreviated
POST rather than the normal, lengthy one.
Disable this option. When it's enabled, your system spends a few extra seconds looking for your floppy drive—a relatively pointless procedure, especially considering how infrequently you use your floppy drive.
Some systems let you delay booting after you turn on your PC so that your hard drive gets a chance to start spinning before bootup. Most likely, you don't need to have this boot delay, so turn it off. If you run into problems, however, you can turn it back on.
Over time, your Registry can become bloated with unused entries, slowing down your system startup because your system loads them every time you start up your PC. Get a Registry clean-up tool to delete unneeded Registry entries and speed up startup times. Registry First Aid, shown in Figure 1-3, is an excellent Registry clean-up tool. It combs your Registry for outdated and useless entries and then lets you choose which entries to delete and which to keep. It also creates a full Registry backup so that you can restore the Registry if you run into a problem.
Registry First Aid is shareware and free to try, but it costs $21 if you decide to keep using it. Download it from http://www.rosecitysoftware.com/Reg1Aid/index.html.
After you clean out your Registry, you might want to try compacting it to get rid of unused space. The Registry Compactor, available from http://www.rosecitysoftware.com/RegistryCompactor/index.html, will do the trick. Compacting your Registry reduces its size and decreases loading time. It's shareware and free to try, but it costs $19.95 if you decide to keep it.
It's not only startup times that you'd like to speed up; you can also make sure that your system shuts down faster. If shutting down XP takes what seems to be an inordinate amount of time, here are a couple of steps you can take to speed up the shutdown process:
Don't have XP clear your paging file at shutdown
For security reasons, you can have XP clear your paging file (pagefile.sys) of its contents whenever you shut down. Your paging file is used to store temporary files and data, but when your system shuts down, information stays in the file. Some people prefer to have the paging file cleared at shutdown because sensitive information, such as unencrypted passwords, sometimes ends up in the file. However, clearing the paging file can slow shutdown times significantly, so if extreme security isn't a high priority, you might not want to clear it. To shut down XP without clearing your paging file, run the Registry Editor and go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
Change the value of
0. Close the Registry and restart your computer.
Whenever you turn off XP from now on, the paging file
won't be cleared, and you should be able to shut
down more quickly.
Turn off unnecessary services
Services take time to shut down, so the fewer you run, the faster you can shut down. For information on how to shut them down, see [Hack #4] instead.
Increase your PC's performance and speed up startup times by shutting off applications and services that you don't need.
One of the best ways to speed up your PC without having to spend money for extra RAM is to stop unnecessary programs and services from running whenever you start your PC. When too many programs and services run automatically every time you start up your system, startup itself takes a long time, and too many programs and services running simultaneously can bog down your CPU and hog your memory.
Some programs, such as antivirus software, should run automatically at startup and always run on your computer. But many other programs, such as instant messenger software, serve no purpose by being run at startup. And while you need a variety of background services running on your PC for XP to function, there are many unnecessary services that run on startup. For example, on many systems, the Wireless Zero Configuration Service runs to automatically configure a WiFi (802.11) network card, even though no such card is present in the system.
Stopping programs from running at startup is a particularly daunting task because there is no single place you can go to stop them all. Some run because they're put in the Startup folder, others because they're part of logon scripts, still others because of Registry settings, and so on. But with a little bit of perseverance, you should be able to stop them from running.
Start by cleaning out your Startup folder. Find it in C:\Documents and Settings\<User Name>\Start Menu\Programs\Startup, where <User Name> is your Windows logon name. Delete the shortcuts of any programs you don't want to run on startup. As with any shortcuts, when you delete them, you're deleting only the shortcut, not the program itself. (You can also clear out the startup items by going to Start → Programs → Startup and right-clicking items you want to remove.) Next, clean out your Scheduled Tasks folder. Go to C:\WINDOWS\Tasks, and delete the shortcuts of any programs that you don't want to run all the programs in your Startup folder on an as-needed basis. To stop XP from loading any programs in the Startup folder, hold down the Shift key during boot-up. No programs in the Startup folder will run, but the items will still remain there so that they will start up as they would normally the next time you boot.
the previous steps will stop the
obvious programs from running at startup, but it
won't kill them all. The best tool for disabling
hidden programs that run on startup is the Startup tab in the System
Configuration Utility, shown in Figure 1-4. To run
msconfig at a command prompt or in the
Run box and press Enter. (If that doesn't work,
first do a search for msconfig.exe, and then
when you find the file, double-click it.)
To stop a program from running at startup, go to the Startup tab in this utility and uncheck the box next to the program. It can sometimes be difficult to understand what programs are listed on the Startup tab. Some, such as America Online, are clearly labeled. But often, you'll see a phrase or collection of letters, such as fs20. That's the name of the running file—in this case, fs20.exe, which is Free Surfer mk II, an excellent free pop-up killer. As you can see from the picture, I've chosen to let this useful tool run on startup.
To get more information about a listing, expand the width of the Command column near the top of the Startup tab. Expand it enough and you'll see the startup command that the program issues, including its location, such as C:\Program Files\Free Surfer\fs20.exe. The directory location should be another hint to help you know the name of the program.
When stopping programs from running at startup, it's best to stop them one at a time rather than in groups. You want to make sure that you're not causing any system problems by stopping them. So, stop one and restart your PC. If it runs fine, stop another and restart. Continue doing this until you've cleared all the programs you don't want to run automatically.
Each time you uncheck a box and restart your PC, you'll get a warning, shown in Figure 1-5, stating that you've used the System Configuration Utility to disable a program from starting automatically. If you don't want to see that warning, disable it by checking the box in the dialog box itself.
After you've used the System Configuration Utility to identify programs that run on startup, you might want to try disabling them from with the programs themselves. So, run each program that starts automatically, and see if you can find a setting that allows you to halt it from running on startup.
System Configuration Utility
won't necessarily let you identify and kill all
programs that run on startup. You might also need to hack the
Registry to disable them. To do so, run the Registry Editor
and go to
The right pane will contain a list of some of the programs that
automatically run at startup. The Data field tells you the path and
name of the executable so that you can determine what each program
is. Right-click any program you don't want to run,
and choose Delete. That will kill any programs that run specific to
your logon. To kill programs that run for every user of the system,
and follow the same instructions for deleting other programs you
don't want to run at startup.
Constantly running in the background of XP are services—processes that help the operating system run, or that provide support to applications. Many of these services launch automatically at startup. While you need many of them, there are also many that aren't required and that can slow down your system when they run in the background.
You can disable services at startup by using the System Configuration Utility, similar to the way you halt programs from running at startup, except that you use the Services tab instead of the Startup tab. But the System Configuration Utility doesn't necessarily list every service that launches on startup. A bigger problem is that disabling services is more of a shot in the dark than disabling programs. When you disable a program, you can get a sense of what the program does. But when you disable a service through the System Configuration Utility, there's often no way to know what it does.
A better way of disabling services at startup is via the
Services Computer Management Console,
shown in Figure 1-6. Run it by typing
services.msc at the command prompt. The Services
Computer Management Console includes a description of all services so
that you can know ahead of time whether a particular service is one
you want to turn off. It also lets you pause the service so that you
can test out your machine with the service off to see whether
After you run the console, click the Extended tab. This view will show you a description of each service in the left pane when you highlight the service. The Startup Type column shows you which services launch on startup—any services with "Automatic" in that column. Click that column to sort together all the services that automatically launch on startup. Then highlight each service and read the descriptions.
When you find a service you want to disable, right-click it and choose Properties. In the Properties dialog box that appears, choose Manual from the "Startup type" drop-down list. The service won't start automatically from now on, but you can start it manually via the console. If you want the service disabled so that it can't be run, choose Disabled. To test the effects of turning off the service, turn off any services you don't want to run by clicking "Stop the service" in the left pane, or by right-clicking the service and choosing Stop.
Table 1-2 lists some common services you might want to halt from running at startup.
Table 1-2. Services you might want to turn off
What it does
Portable Media Serial Number
Retrieves the serial number of a portable music player attached to your PC.
Schedules unattended tasks to be run. If you don't schedule any unattended tasks, turn it off.
Uninterruptible Power Supply
Manages an Uninterruptible Power Supply (UPS) connected to your PC.
Automatically checks for Windows updates. (You can check manually by going to http://windowsupdate.microsoft.com.)
Telnet (service available on XP Pro only)
Allows a remote user to log in to your computer and run programs. (This will not be found on all versions of XP Pro.)
Wireless Zero Configuration Service
Automatically configures a WiFi (802.11) network card. Disable this only if you're not using a WiFi network card.
Turns off the Messenger service, which can be used to deliver spam via pop ups. (This is not the instant messaging program Windows Messenger.) For more details, see Chapter 7.
If you need to start different programs on startup, depending on what you need to do on your PC, create different startup profiles with this startup utility.
With the hacks covered in this chapter, you can customize how XP starts up. But there's one thing these hacks won't be able to do for you—create different startup profiles. For that, you need downloadable software.
Let's say, for example, you have a laptop that you sometimes run attached to a keyboard, monitor, and an always-on Internet connection, and other times you travel with it, so it is not connected to the Internet. When you use it when you travel, you use it primarily in airplanes, airports, and other places where you typically aren't connected to the Internet. You also run a piece of monitoring software that will send a signal to a call center if your laptop is stolen. You don't need to run that software when you're not on the road.
Ideally, you would have one set of programs that run automatically at home and another set of programs that run when you're on the road. At home, you might want instant messenger software and file sharing software to load at startup; on the road, you don't want that software to load automatically, but you do want your monitoring software to load.
Advanced StartUp Manager—a piece of shareware from Ray's Lab (http://www.rayslab.com), shown in Figure 1-7—lets you create multiple startup profiles so that you can have separate profiles for your laptop at home and the road—or for any other purpose. It's free to try, but it costs $19.95 if you decide to keep it.
In addition to creating a profile for traveling and one for home, you might want to create other profiles. For example, when you want to play games, you'll want to start your system with a minimal number of services and programs running in the background, so you'll create a profile that disables a variety of services, such as the Indexing service, the Task Scheduler, and the Themes service that lets you apply themes to your PC. If you frequently need to troubleshoot your network, you'll want to create a network-troubleshooting profile that automatically starts networking analysis software, such as Qcheck [Hack #67] .
To create a profile, add all the programs you want to run on startup by having them start from the Startup folder, the Registry, or the Win.ini file. Where you want them to start from is up to you. To add a program, just highlight where you want it to run from, choose File → Add Program, and choose the program's executable file. You can add switches, if you want, in the Flags field of the screen you use to add the program. You can also choose whether the program should run for just one specific user or for all users of the machine. To delete a program from the profile, right-click it and choose Delete.
When you have built a profile with all the programs you want to run at startup, save it by choosing File → Backup Configuration as, and then choosing a name for the profile. Create as many profiles as you want. To load a profile, choose File → Open Backup, and choose the profile you want to load. After you've loaded a profile, the next time you start your computer it will load with that startup software. Be aware that this means you can't choose a profile when you boot your system. You have to run Advanced StartUp Manager before you exit XP, choose the profile you want to run next time you start XP, and then exit.
OSL2000 (http://www.osloader.com) lets you boot from up to 100 separate operating systems (including multiple copies of XP or other versions of Windows), lets you boot from a second hard disk, and offers a variety of other features, such as an automatic boot timer. It's shareware and free to try, but it costs $25 if you decide to continue using it.
For software to customize shutdowns, try ShutDown NOW! (http://www.dworld.de/winsoft.htm). It gives you just about every option you can imagine for shutdown. You can specify applications to launch or documents to load automatically before shutdown, schedule shutdowns, perform actions such as ejecting and loading CDs on shutdown, empty directories on shutdown, and the list goes on. It's shareware and free to try, but if you keep using it you're expected to pay $19.50.
For a free shutdown manager, try Switch Off (http://yasoft.km.ru/eng/switchoff), a simple shutdown utility that runs in your system tray. It lets you schedule shutdowns and perform other tasks on shutdown, such as locking your workstation, and it also lets you do any of them quickly from the system tray. It's not nearly as powerful as ShutDown NOW!, but it's free.
Here's a grab bag of ways to customize the way you start up and shut down your system.
You can control the way you start up and shut down your PC in many small ways. This grab bag of four hacks shows you the best of them.
Turning off or rebooting XP involves a several-step process: click the Start menu, choose Shut Down, and then select Shut Down or Restart. If you want, however, you can exit or reboot much more quickly, by creating a shortcut that enables one-click shutdowns. You can also use the shortcut to customize the shutdown or reboot—for example, by displaying a specific message or automatically shutting down any programs that are running.
First, create a shortcut on your desktop by
right-clicking the desktop, choosing New, and then choosing Shortcut.
The Create Shortcut Wizard appears. In the
box asking for the location of the shortcut, type
shutdown. After you create the shortcut,
double-clicking it will shut down your PC.
But you can do much more with a shutdown shortcut than merely shut down your PC. You can add any combination of several switches to do extra duty, like this:
shutdown -r -t 01 -c "Rebooting your PC"
Double-clicking that shortcut will
reboot your PC after a one-second delay and display the message
"Rebooting your PC." The
command includes a variety of
switches you can use to customize it. Table 1-3
lists all of them and describes their use.
Table 1-3. Switches you can use with shutdown
What it does
Shuts down the PC.
Logs off the current user.
Indicates the duration of delay, in seconds, before performing the action.
Displays a message in the System Shutdown window. A maximum of 127 characters can be used. The message must be enclosed in quotation marks.
Forces any running applications to shut down.
Reboots the PC.
I use this technique to create two shutdown shortcuts on my desktop—one for turning off my PC, and one for rebooting. Here are the ones I use:
shutdown -s -t 03 -c "See you later!" shutdown -r -t 03 -c "You can't get rid of me that quickly!"
When you start your
PC, Num Lock, Scroll Lock, and Caps Lock don't
automatically toggle on. You can automatically turn each of them on
or off whenever your PC starts, for all accounts on the PC. As a
practical matter, most people probably want to have only Num Lock
automatically turned on, but this Registry hack allows you to force
any combination of keys on or off. Run the Registry Editor
and go to
Panel\Keyboard. Find the
InitialKeyboardIndicators. By default, it is
0, which means that Num Lock, Scroll Lock,
and Caps Lock are all turned off. Set it to any of the following
values, depending on the combination of keys you want turned on or
Turns off Num Lock, Caps Lock, and Scroll Lock
Turns on Caps Lock
Turns on Num Lock
Turns on Caps Lock and Num Lock
Turns on Scroll Lock
Turns on Caps Lock and Scroll Lock
Turns on Num Lock and Scroll Lock
Turns on Caps Lock, Num Lock, and Scroll Lock
Exit the Registry. When you restart, the new setting will take effect.
If you constantly see an
error message that
you can't get rid of—for example, from a piece
of software that didn't uninstall properly and
continues to give errors on startup—you can disable it from
displaying on startup. Run the Registry Editor and go to
(This key holds a variety of Windows system settings, such as the
location of your system directory.) Create a new
give it a value of
1. Exit the Registry and reboot
for the setting to take effect. To disable it, either delete the
DWORD value or give it a value of
When you shut down Windows, XP gives each process, service, or application 20 seconds to close before the operating system turns off the computer. If the process, service, or application doesn't shut down within 20 seconds, a dialog box appears, prompting you to either wait 20 more seconds, immediately end the process, service, or application, or cancel shutdown.
If this dialog box appears frequently, you might be running an
application, service, or process that often takes more than 20
seconds to close. To solve the problem, you can increase the amount
of time that XP waits to display the dialog box so that the dialog
box will no longer appear. To do so, run the Registry Editor and go
Panel\Desktop. Look for the
WaitToKillAppTimeout. Edit the value by entering
the amount of time you want XP to wait before displaying the dialog
box, in milliseconds. The default is
20000, or 20
seconds. If you want XP to wait 25 seconds, enter the value
25000. Exit the Registry and reboot.
Make better use of the XP login screen.
If your system contains more than one user account, or if you've set up XP to require logins, you'll have to log in to XP before you can begin to use it. But you needn't stay with the default XP login rules; you can use a single Registry key to customize how you log in. For example, you can display custom text before login, and you can remind anyone with an account on the PC to change their password a certain number of days prior to the password's expiration.
To control logon options, run the Registry Editor
and go to the
NT\CurrentVersion Winlogon subkey, which contains a variety
of logon settings (as well as some settings not having to do directly
with logons). Following are the most important values you can edit to
This setting lets you control how the system logon dialog box is
used. If this
String value is present and set to
1, all users will have to enter both their
username and password to log on. If the value is
0, the name of the last user to log on will be
displayed in the system logon dialog box.
String value contains the name of the last
user who logged on. It will be displayed only if the
DontDisplayLastUserName value is not present or is
String value, used in concert with the
LegalNoticeText value, displays a dialog box prior
to logon that contains any text you want to display. (The text
doesn't have to be a legal notice, but this value is
often used for that purpose.) The box has a title and text. The
LegalNoticeCaption value will be the dialog
String value, used in concert with
LegalNoticeCaption, contains the text that you
want to be displayed inside a dialog box displayed prior to logon.
DWORD value lets you display a warning
message to users a certain number of days before their passwords are
set to expire. It lets you determine how many days ahead of time the
warning should be issued. To edit the value, click the decimal button
and enter the number of days.
String value enables or disables a button on
the XP logon dialog box that lets the system shut down. A value of
1 enables the button (so that it is shown); a
0 disables the button (so that it is not
String value really doesn't
have to do with logons, but it's one you should know
about. It determines the shell—the user interface—that
will be used by XP. The default is
but it can be another shell as well—for example, the Program
Manager from older Windows versions. Type in the name of the program;
Progman.exe for the Program Manager,
Taskman.exe for the Task Manager.
DWORD value doesn't have to
do with logons either, but it's another good one to
know. It sets whether to automatically restart the Windows shell if
the shell crashes. A value of
restarts the shell. A value of
0 tells XP not to
restart the shell, forcing you to log off and then back on again to
Now that your system's startup and shutdown are under control, let's move on to the user interface.