Friday, April 24, 2009

How to Speedup Windows Vista Startup

Sometimes, the most impressive performance gains come from the simplest actions. In this analysis of techniques for speeding Windows Vista boot times, the biggest individual gain usually comes from tweaking a single startup setting—namely, the boot screen timeout setting easily available through the Vista System Configuration utility.

Check the System Configuration Settings

Here’s how to check—and change—this setting:

  1. From an administrative login or account, type msconfig.exe into the Vista Start menu search box. This launches the Vista System Configuration utility.
  2. Click on the Boot tab, notice the timeout entry highlighted in blue at the center right. By default, Vista sets this value to 30 seconds, which means the system waits 30 seconds for you to choose which operating system to boot even when there’s only one option available.
  3. Reset this value to 5 or 10 depending on how nimble-fingered (and -witted) you are. You’ll need to act fast when booting Vista if you ever want to invoke a different boot option. I usually set it to 10 on my systems.
That’s all there is to it. Congratulations! Depending on which value you select, you’ve either shaved 25 (5) or 20 (10) seconds off your previous Windows Vista boot time.

Frankly, this is as easy as it gets when speeding the Vista boot time. All the other options we’re about to explore seldom deliver this much improvement (though in extreme cases, resulting improvements will shave an even greater number of seconds off the usual boot time), and all require more work.

Common Vista Boot Time Accelerators

Let’s start with a list of the most common techniques to further speed up Windows Vista boot time. Following the list, I’ll briefly describe each one and how to implement it, along with some basic information on how much (or little) time each technique can shave off your boot and overall system startup time. Here goes:

  1. Uninstall unused or unneeded device drivers.
  2. Clean up Vista boot configuration data (BCD) entries.
  3. Speed up Vista disk response (this extends beyond boot time to normal operation for a win-win).
  4. Streamline the Vista registry.
  5. Manage what loads during startup.
These activities correspond roughly to what happens during the Windows boot process. First, your PC starts up and begins its power-on, self-test (POST) routines. Next, your PC loads the master boot record (MBR) from your boot disk, and begins the actual boot process. Next, the boot sector on the MBR loads the Windows Boot Manager (filename: bootmgr), which accesses the Vista Boot Configuration Data (BCD) data store on your hard drive to determine what boot options should be displayed for user selection (that’s where the time delay depicted at the start of this story comes into play). After an option is selected, the Windows Boot Manager oversees loading of the operating system files from the system disk, and the real boot process gets underway.

At this point, a program named winload.exe takes over. First, it switches the CPU from real mode into protected mode (to facilitate 32- or 64-bit memory access, depending on whether the OS is x86 or x64), after which it loads the operating system kernel file (ntoskrnl.exe). Then it enumerates hardware and loads Vista device drivers. If the system has been hibernating, Vista will detect the presence of a hibernation file (hiberfile.sys) at this point, and copy the disk image of memory into physical memory so Vista can resume where it left off. Otherwise, the system continues loading component files and capabilities and displays a progress bar on the screen while bringing all these files into operational status. During this process, the Windows Registry serves as a key source for information about what devices to enumerate, drivers to load, software elements to grab, settings to apply, and so forth and so on. File systems are loaded, disk drive and storage device access established, and basic Vista made operational.

Startup doesn’t actually complete until a user logs in. Only following login are startup programs loaded, and all active services get going and initialized. Any of these various subsystems and facilities can play a role in speeding Vista bootup and startup times, as I explain in the sections that follow, where I revisit the common speed-up tools and techniques mentioned in the list at the start of this section.

Uninstall Unused or Unneeded Device Drivers

If a device is listed in Device Manager (via Start, Control Panel, Device Manager), Vista will try to load its driver every time the system boots. No floppy drive on your system? Lose the floppy drive controller and the floppy disk drive entries. Not using Firewire? Lose the IEEE 1394 drivers likewise (right-click the entry, then click Uninstall in the resulting pop-up menu that appears). If you try this technique and the items reappear after you click the Scan for Hardware Changes entry in the Action menu, you’ll need to disable these devices in your PC BIOS the next time you reboot your system. Then you can uninstall the drivers and they’ll stay uninstalled.

WARNING!

If you uninstall something you need, you’ll need to re-enable its BIOS settings and let the hardware discovery re-load the driver later on. If there’s the slightest chance you might actually use a device, don’t take this step.

This activity takes a bit of hunting and pecking to complete. Overall time savings on the systems we timed ranged from 2 to 3 seconds of improvement. Big whoop! We consider this an optional boot-up enhancement, because the time spent in achieving this improvement vastly outweighs the resulting speed-up.

Clean Up Vista Boot Configuration Data (BCD) Entries

The System Configuration utility displays all the bootable options from the BCD in the pane just below the Boot tab. If you find spurious or unwanted entries in this list, highlight it, then click the Delete button, and it’s gone. I discovered a holdover from the Vista installed on my previous system drives—a mirrored pair that I had to replace when one member of that mirror crashed—in this list while writing this story, and promptly deleted it.

While this cleans up your BCD data store and reduces the number of options you must read when trying to decide what OS to boot, I couldn’t measure any performance improvement resulting from reducing the size of this list. For grins, I created half-dozen spurious entries, then deleted time, but measured no difference in “before” and “after” boot-up timings. That makes this an optional boot-up enhancement as well.

Speed Up Vista Disk Response

On the Internet, the abbreviation YMMV (“Your mileage may vary”) means that results you obtain from a particular action or technique will be all over the place. This is very true for this recommendation in Vista. There’s no doubt that a cleaned-up, defragmented system disk boots faster than a trashed-out, highly fragmented one. Boot time differences can go into the minutes for especially extreme before-and-after versions. On a reasonably well-maintained system, however, you’re not likely to see improvements of more than 10-15 seconds (this assumes you run scheduled defrag and disk clean-up tasks at least monthly, if not weekly). Nevertheless, we think this is a worthwhile element in any good Windows system maintenance regimen, and recommend that you follow this practice yourself.

Want a more extreme boot-up improvement? Buy a faster hard disk! I’ve observed boot-up improvements as high as 30 to 60 seconds on Vista machines when converting from older, slower 5,400 RPM IDE hard disks to 10,000 RPM SATA drives like the WD VelociRaptor or a capable Solid State Disk (SSD). The downside, of course, is that these disks are costly: As I write this story, a 150GB VelociRaptor goes for about $160 and a 300GB model for $200. A cheap 64GB SSD goes for around $100 right now, and a fast 80GB SSD costs about $500! This will be outside the envelope for many readers, but for those with money to burn, a (much) faster hard disk or SSD can indeed speed Vista startup significantly.

Manage What Loads During Startup

Once the bootup progresses to a login screen, startup activities take over. On a heavily-loaded system, you can still be a minute or two away from a fully usable system even when you get to this point. The secret here is to limit what software and processes load on your Vista system after logon, or at least to delay some process loads to occur several minutes after startup begins, so you have a chance to use it yourself.

Lots of tools are available to let you manage Vista startup behavior. Vista itself includes two reasonably useful tools with this capability. The Windows Configuration utility depicted earlier includes a Startup tab wherein all Startup items appear in alphabetical order. You can scan these items here and unselect any checkboxes to the left of items you don’t want or need.

In the same vein, the Windows Defender antispyware tool that Microsoft bundles with Vista includes a facility named Software Explorer (click Start, All Programs, Windows Defender, Tools, Software Explorer to fire it up). Among the categories of software it permits you to explore is one named Startup Programs.

Once you’ve highlighted an item on the left, you can elect to remove it completely or to disable it simply by clicking the corresponding button.

My personal favorite tool in this category is a gem from a company former known as sysinternals.com, now a part of Microsoft. OS gurus Mark Russinovich and Bryan Cogswell are the brains behind this outfit; these brains are apparently valuable enough that MS bought the company and still offers their free utilities as such. This particular one is called Autoruns for Windows v9.38; it’s now available as part of TechNet. Using this tool, you can zero in on items loaded at logon by Windows Explorer and Internet Explorer at boot execute time, plus scheduled tasks, services, drivers, and a whole lot more. A simple checkbox to the left of each entry lets you enable (checked) or disable (unchecked) such items.

As far as startup improvements go, this exercise is another YMMV. The more items you can turn off or delay, the better your improvement will be. This also means that the first time you do this, the improvements will be the most dramatic—often from 10 to 20 seconds can be bought back this way—whereas subsequent improvements will seldom be more than a second or two at best. Still, it’s nice to learn by looking up entry names or executables which ones you need and which ones you don’t, and then to disable the detritus.

WARNING!

Things you turn off with one tool won’t be visible using other tools. Pick msconfig, Software Explorer, Autoruns, or a similar tool of your own choosing, and use it exclusively to manage startup items. That way, you won’t have to ping-pong around a bunch of different tools if you ever need to turn something back on in the future. If you have only one place to go, you also have only one place to look.

Time Invested Can Mean Time Saved

Not every technique in this story is likely to speed your Vista boot or startup time overmuch, with the possible exception of trimming the timeout default to a more reasonable 5 or 10 seconds. Other than that, your improvements will be determined by the general health and cleanliness of your system (the better off it is to start, the smaller the difference most of these techniques will make). Only if you want to drop some serious cash on faster hard disks are you likely to buy your way into faster boot times. Nevertheless, the exercise is worthwhile not just because it speeds your way onto the desktop; it also makes sure your Vista environment is ship-shape!

If your Vista system takes longer than 3 minutes to get to a login prompt, chances are good that BIOS, hardware, or driver issues are at work. When things take this long, something fundamental isn’t right. I’ve seen some systems take 20-30 minutes to boot, some of which required replacing certain hardware items—a failing system drive, a bad wireless USB keyboard/mouse connector, or a failing memory module. Others remained stubbornly unfixable until I switched from one motherboard to another. Hardware mysteries can be difficult to pinpoint and solve, but here again: YMMV. If this is your situation, expert help or hardware replacement are probably your tickets to the best and most necessary fixes.

1 comment:

Anonymous said...

thank u very much..i liked all and tried all..