Find bad startup items with binary search

A common problem that many Windows users have is with starting the computer. It may take a long time to get to the desktop, such as five minutes or more. The PC might display messages on startup, such as error messages, notifications or even unwanted adverts. How do you track down the source of the problem? Use binary search...

When Windows starts up, it can load a large number of programs and services in the background. There may be a dozen or more startup items and often they have strange names and obscure functions that mean little to most people.

It can be difficult for many users to work out which startup app is causing the problem they are having. If they knew which it was, they could disable it and solve the startup problem.

There are several ways to discover which programs and services are loading with Windows and in this article we will look at the facilities you get with Windows, including Task Manager and msconfig.

Hold down the Windows key and press R, then type msconfig. Select the Startup tab and if you are running Windows 8, click the link to switch to Task Manager. This displays a long list of the items that start automatically with Windows. The question is, which one do we need to disable to solve the startup problem?

One method is to disable them all and then restart Windows. If the problem goes away then it is one of the items that was disabled. You then enable the first item, restart and see what happens, enable the second and restart, and so on.

Continue enabling items one by one until the problem appears and the last one enabled is the cause. This method is slow and tedious though, involving many restarts, and if slow starting is the problem you are trying to solve, it can take a long time.

This is where binary searching comes in useful. If you have a list of items, you split it in two and see which half the item is in. You then split that in two and then that. It's a bit like trying to guess a number: Think of a number between one and 20. Is it over 10? No. Is it over 5? Yes. Is it over 7? And so on, splitting the numbers in half each time.

With msconfig or Task Manager's startup items, enable half of the items in the list and disable the other half, and then and reboot. If the PC starts OK then the problem is in the half you disabled. Enable half of them (so you are down to a quarter of the startup items already). If the problem reappears, it's in those items you re-enabled. Disable half and so on. In about three reboots you can find a rogue startup item among a dozen or more.