Make XP and Vista boot as fast as Windows 7
7th Sep 2009 | 10:00
Tweaks to make your PC start up like greased lightning
Everything starts with the BIOS
Each new generation of PCs delivers major improvements in all areas – CPU power, graphics, storage capacity – except one. Boot time.
It seems that no hardware gains are enough to compensate for software bloat, and so we've become used to spending ever longer watching the boot process grind on before our PCs finally become usable.
But don't give up. There might, finally, be hope for those sick of wasting time staring at the Windows start-up screen.
The good news is that Microsoft has been paying real attention to boot times in Windows 7, and most reviewers report that they're seeing significant results.
The operating system appears to start as fast as Windows XP – sometimes even faster – and leaves Vista eating its dust. Upgrade to Windows 7 when it comes out in October and it could revitalise your PC.
Of course, you might not be keen on handing over a big pile of cash to Microsoft, especially to fix problems that really should have been addressed in Windows Vista. And that's fine – there are simple alternatives.
Taking a closer look at how Windows 7 boots, for instance, reveals the most useful ways to improve start-up performance on XP and Vista systems. The right BIOS tweaks will optimise your hardware, and changing key Windows settings ensures you'll get the best possible boot performance.
How do PC boots work?
Turn your PC on, and the system passes through six separate stages before you're able to use it. Everything starts with the BIOS. After taking its settings from CMOS RAM and carrying out some very basic hardware tests, this scans your PC, initialising expansion cards, looking for devices and allocating system resources to any that it finds.
The BIOS then works its way down the boot device list (maybe your DVD drive first, hard drive second) looking for something that has a bootable first sector (a Master Boot Record, or MBR). When it finds one, this is loaded into memory and given control.
Stage two sees the tiny MBR scan through all the partitions on your boot drive, looking for one marked as bootable. Once this has been discovered, it loads the first sector in that partition – the Volume Boot Sector – and gives it control.
In the third stage, the Volume Boot Sector loads the first Windows file ('NTLDR' in XP or earlier, 'bootmgr.exe' in Vista). If you're waking up a hibernating PC, this will restore your saved memory so you can carry on where you left off.
This file also handles displaying the boot menus for multiple operating systems, accessing Safe Mode and other start-up options. Otherwise it loads the boot drivers that are specified in the System part of your Registry, and passes control to the Windows kernel.
Stage four sees Windows really getting started, as the kernel initialises your CPU, memory manager, process manager and other core system services. These include the Plug and Play manager, which crawls all over your system, looking for attached devices and loading drivers for everything it finds.
Finally, it starts the log-in process, either prompting you for a password or logging you in automatically, depending on your settings. But if you're left at the log-in screen, don't worry: this isn't wasted time. Windows starts to load its services in the background while waiting for you to enter your details.
Once you've logged on, Windows will begin stage five by loading your shell (Explorer, normally). The desktop will be initialised, the Start menu appears, and it almost looks like your PC is ready for use.
But of course it's not quite as simple as that, because in many cases a major chunk of Explorer initialisation time is taken up by our final stage, the launching of your Windows start-up programs. And if you've a lot of them then you might find that, while the desktop is visible, you can't use it until all the programs have fully initialised.
New boot tricks for Windows 7
There's no single reason why Windows 7 boots faster than its predecessors. Instead of inventing a magic new technology, Microsoft has spent a very long time investigating the boot process, uncovering the bottlenecks and finding ingenious ways to reduce their cumulative impact.
For example, early on in the boot process Windows must load and initialise drivers for every device that it finds. Previously it did this one by one, so if one driver was slow and buggy then it would hold up the boot for everyone.
But under Windows 7, drivers are initialised in parallel, several at the same time, so if one takes a while to start then others can continue to load in the meantime.
This won't have a major effect for everyone. It's not possible for Windows to start all drivers at the same time, and some drivers require others to be initialised before they'll work. If your drivers all perform well now, then loading them in groups will make little difference as they're all competing for the same resources.
But what this change does mean is that installing a poorly written or just very demanding driver won't have a major impact on your boot time, and that's very welcome.
Windows 7 services
It's long been known that Windows initialises unnecessary services by default, and that turning these off can help to improve boot times, save system resources and make things a little more secure. Windows 7 sees Microsoft acknowledge this, too, with useful changes that will help your PC to start more quickly.
The process starts by ditching some services that you don't really need, and bringing others together to make the start-up process more efficient.
So in Windows 7 there's no more 'DFS Replication' or 'SL UI Notification Service', for instance. The Terminal Service services also all disappear. There isn't even a specific ReadyBoost service any more, although the ReadyBoost feature still continues.
Windows 7 also provides 'triggers': new ways of launching services only when you need them. So Apple's Mobile Device service might launch only when you plug in an iPod, rather than every time your PC boots.
This won't happen automatically, though – services will have to be rewritten to take advantage of the new features – so we may not see the full performance advantages for some time.
Even then, third-party developers are sure to continue installing services that you don't really need, so you can expect to continue manually tweaking your service configuration for the foreseeable future.
Everywhere you look in Windows 7 there are boot related changes. Some may only shave off a fraction of a second, but it all adds up. Take the new boot animation, for instance. It's small to cut down on disk I/O, and uses CPU optimisations to improve performance.
The pearl animation in Vista has been dumped, saving more time. Microsoft has cut down on the display transitions, so there's less screen flashing before the log-in screen appears. And Windows 7 no longer tries to synchronise the animation and log-in sound, which means it doesn't have to wait until your soundcard is initialised before the boot can continue.
There are improvements to caching techniques, like pre-fetching, that will improve performance beyond just the boot. And Windows 7 also includes optimisations for the latest hardware. If you're using a solid state drive, for example, then Superfetch, ReadyBoost and pre-fetching will offer little benefit, so they'll all be disabled.
Best of all, Windows 7 extends Vista's diagnostic abilities, allowing the system to record each boot time, detect any problems or hold-ups, identify their most likely cause and perhaps even help with a solution (even if that solution ends up just being something like 'try upgrading this software').
It's this sensible combination of improvements to core Windows features, along with the ability to pick out badly behaved or buggy third-party tools, that should help deliver noticeably faster and more consistent PC start-up times when you upgrade.
Speed up your boot process
The best way to achieve a faster boot is to work through each of the most time-consuming startup areas in turn, making one change at a time. After each change, reboot your system and time the results to make sure that the tweak has worked for you. You may not see an improvement with every tweak.
Reboot your PC and launch the BIOS set-up program (you'll press [F2] or [Del], probably – a prompt will explain what you need to do). Most BIOSes have a Quick Boot option that disables some fairly pointless hardware checks, so make sure that's enabled.
Look for a section like 'Onboard devices' or 'Integrated peripherals' where you can disable network, FireWire or eSATA controllers and any other hardware that you're not using. Fewer devices means your PC is initialised more quickly and Windows has fewer drivers to load.
Change your BIOS's boot order to ensure that your hard drive is checked first. Complete this section by checking your BIOS manual to see if it has any general speedup tricks, like using a PEG Link mode for faster graphics.
Disabling devices in your BIOS is good, but there are more ways you can minimise Windows' need to load drivers.
If you've a printer or other external device connected that you rarely use, for instance, then disconnect it or turn it off. And if you're not using a particular item of hardware, like a network port, then disable it in Device Manager (but carefully: pick the wrong device and you'll disable your PC).
Don't expect major results here. Our poorly configured test PC cut its lengthy 95 second boot time (from power on to opening an IE window) by only four seconds. But it's a start, and there's much more to come.
It's likely that Windows will still be loading many unnecessary drivers, but to find out you must view the full list for yourself. Click 'Start | All Programs | Accessories | System Tools | System Information', then expand the Software Environment section of the tree and click 'System Drivers' to see what's running.
Click the State column header to group all drivers marked as 'Running', then browse through these looking for drivers that relate to applications you no longer use.
Enter a driver's name into Google if you're not sure what it might be. Use this list to identify software that might have installed your driver, then remove the program if you think that it's no longer necessary. We uninstalled the iRiver Music Manager, SpeedFan, PC Tools Spyware Doctor.
After rebooting, we found their associated drivers had also disappeared. If some of your drivers still remain, launch Device Manager ('devmgmt.msc'), click 'View | Show Hidden Devices', then 'View | Devices by Type', and expand the 'Non-Plug and Play Drivers' section of the tree.
This may display additional third-party drivers: double-clicking these will display more information, or you can remove them by right-clicking and selecting 'Uninstall'.
Be careful here: this is risky, and removing something important could cripple your PC to the point that it won't even boot in Safe Mode. But get it right and the results are good, with our efforts trimming a whole 10 seconds off the test PC's boot time.
Trim your services
Third-party Windows services are just as likely to extend your boot time as additional drivers, and so you should remove those next. The procedure is very similar to the one you've just followed.
Launch the Control Panel Services applet ('services.msc'), then browse the list to identify services that are surplus to requirements. On our test PC this included Apple Mobile Device and the Bonjour service (installed by iTunes), CyberLink Rich Video Service, MSCamSvc (webcam-related software), Nero BackItUp Scheduler 3 (unused on the system) and more.
Once again we uninstalled associated software where possible to remove these services. And if we wanted to keep the software, as with iTunes, we simply disabled the relevant services (double-click them and set 'Startup Type to Disabled'). Again, don't disable any core service or you'll seriously affect your PC.
If you're running Windows Vista then there's a third option available that's potentially useful with non-critical services you might need only occasionally. Double-click 'Apple Mobile Device', say, then set the Startup Type to 'Automatic (Delayed)'.
Windows will give initialising the service a lower priority, so your computer's desktop should appear more quickly. The results here will vary depending on what you remove, but we trimmed a further four seconds off our test PC's boot time – not bad for five minutes' work.
And there's still more that can be done in taking control of your Windows start-up programs. Install Autoruns to uncover everything that's set up to launch when Windows starts, then uninstall the programs you don't need (or just reconfigure them to load on demand, not when your PC boots).
We gained three seconds, which meant a 22 second improvement overall – almost 25 per cent off our original time.
PCs need regular maintenance to keep up this kind of performance, though, so check your drivers and services occasionally.
Benchmark your boot time
The web is crammed with useless performance tips. There's no Registry change to enable a secret Superfetch caching system in XP, for instance, yet search online and you'll find people who say applying it has made a real speed difference to their system.
Why? Because they're not properly measuring their PC speed before and after applying the tip, something you really should be doing if you want to distinguish the useful tweaks from the rubbish out there.
Before you begin any boot optimisations, then, take a few moments to assess your current system performance.
Decide what you want to measure, perhaps from power on to when your desktop wallpaper first appears. Then find a stopwatch and take this time on at least three occasions, making sure you turn your PC fully off between each test (don't just reboot, as the results may be different).
Repeat this process after applying a tweak and look for any change. Windows Vista also tracks the time that it takes for the system to boot, although this only starts from the moment the kernel loads.
To see the results, launch the Event Viewer, expand the tree to 'Applications and Services Logs | Microsoft | Windows | Diagnostics- Performance | Operational', click 'Filter Current Log' and enter 100 in the '<All Event IDs>' box. Then double-click any event and check the Boot Duration value for the boot time in milliseconds.
Tweaks for a speedy shutdown
Closing down your PC can be a complicated business. Data must be written, Registry keys set and buffers flushed as programs, services and drivers save their states to your hard drive.
Interrupting this process is generally a bad idea, so we'd recommend you leave your programs to do their thing: better a 90-second shutdown with no problems than a 15-second shutdown where data is lost.
Of course if your PC takes considerably longer to close, or maybe never does at all, then some attention is definitely required. And here simply following our boot optimisation advice might be all you need. The most likely explanation for shutdown problems is a buggy third-party driver or service, and removing unwanted examples will often resolve things.
Updating your system is another option likely to deliver good results. DriverMax will scan your system, make a list of drivers, look for updates and even download and install them for you in some cases. UpdateStar does something similar with applications, and between the two of them you should be able to get your software up to date.
Windows itself can often provide clues to help you identify the source of your shutdown issues. One way to do this is to launch the Event Log and look for recent errors. Windows Vista users will find specific shutdown related messages by browsing the Event Viewer tree to 'Applications and Services Logs | Microsoft | Windows | Diagnostics-Performance | Operational' (and there's often useful boot advice there, too).
It's also worth launching Device Manager ('devmgmt. msc'). If Windows has detected a faulty device then this will be highlighted with a yellow exclamation mark icon, and double-clicking it should tell you more. If you're still out of luck then it's time to take a more general approach.
Windows might have problems shutting down if it can't turn off a particular device, so disconnect all the devices that you can and remove any discs from your DVD drives.
You might also try temporarily removing any software that you run all the time, particularly low-level tools like software firewalls. Be careful: don't browse the web, collect emails or do anything else risky while you're unprotected.
When you reinstall your security software, run the deepest possible scan to look for infections, as they could be the source of your problems.
Explore your BIOS, too, looking for sleep and powerrelated settings that might have changed.
Make sure you only tweak one setting at a time, though, so that you get the clearest idea possible of what each one does.
First published in PC Plus Issue 285
Liked this? Then check out Streamline Windows services for a faster PC
Sign up for TechRadar's free Weird Week in Tech newsletter
Get the oddest tech stories of the week, plus the most popular news and reviews delivered straight to your inbox. Sign up at http://www.techradar.com/register