Optimising Windows startup

Windows can take a long time to start up. Maybe I'm impatient, but I usually leave my desktop turned on 24/7 so that I don't have to sit through the boot process each time I want to use my computer. And while Microsoft has taken steps to decrease the boot time in Windows 7, there's still room for improvement.

Part of the reason why Windows takes so long to boot is because it loads various services and executables during startup. Here are some techniques to speed up the Windows 7 boot process -- and one thing that won't work.

The MSCONFIG utility

Continue Reading This Article

Enjoy this article as well as all of our content, including E-Guides, news, tips and more.

By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.

You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.

Safe Harbor

MSCONFIG utility has been included in Windows for many years. This diagnostic utility is intended to help troubleshoot boot problems, but it can also speed up the boot process. You can access it by entering the MSCONFIG command at the Run prompt.

CPU cores
Here's a technique that doesn't work: If you go to MSCONFIG's Boot tab and click Advanced, you will be taken to the "Boot Advanced Options" dialog box, shown in Figure 1. This dialog box contains an option called Number of Processors.

Figure 1: Limiting the number of processors doesn't speed up startup

There are many articles on the Internet that mistakenly report that Windows uses a single processor core during the boot process and that you can enable this option and tell Windows to use multiple cores to speed up the boot process. Some of these articles even quote nonexistent Microsoft knowledge base articles. In reality, Windows will use multiple CPU cores during the boot process by default. If you enable Number of Processors, you actually limit the number of cores that Windows will use.

Disable the GUI
Disabling the graphical user interface portion of the boot process helps decrease startup time. MSCONFIG provides a No GUI Boot option, as shown in Figure 2.

Figure 2: Enabling "No GUI Boot" can shave seconds off of the boot time.

This option was originally created to sort out video problems, but it can also shave several seconds off of the boot time because Windows doesn't have to display any graphics until the boot process completes.

Get rid of the timeout
Note that in Figure 2 above, there is a timeout value set to 30 seconds. If you have upgraded from a previous version of Windows -- or are running a multiboot configuration -- then Windows displays a menu of operating systems to load. By default, this menu (which is often completely unnecessary) stays on screen for 30 seconds. Change the timeout value to decrease how long this menu stays on screen.

Windows runs many services in the background, as shown in Figure 3 below. Each enabled service takes some time during the boot process, and consumes at least a small amount of system resources once Windows is running. The Services tab lists all of the services installed as well as their current status.

Figure 3
This is a list of the system services.

You can enable or disable the services by selecting the check box next to them.Unfortunately, you can't disable all of the services since many of them are needed for Windows to function. However, almost every system has some unecessary background services. For example, many software vendors include automatic update services with their wares. If you want to find out which services were put there by third-party applications, select Hide all Microsoft services. After doing so, you can go through the list of remaining services to see if there are any that can be disabled.

In addition to system services, there are other forms of executable code that can load at startup. Loading this code takes time and consumes at least a small amount of system resources. The Startup tab, shown in Figure 4, displays which executables are being loaded through the registry at system startup. There are almost always some executables that can be disabled.

Figure 4: Windows loads various executables through the system registry.

By determining which services and executables are unnecessary and disabling them, you can speed up the process considerably. As an added bonus, your system may even run a little bit more quickly because it does not have to manage quite so many threads.

Brien M. Posey, MCSE, has received Microsoft's Most Valuable Professional Award four times for his work with Windows Server, IIS and Exchange Server. He has served as CIO for a nationwide chain of hospitals and health care facilities and was once a network administrator for Fort Knox. You can visit his personal website at www.brienposey.com.

This was first published in May 2010

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.