Microsoft has been explaining its efforts to make Windows 8 start up faster, and with suitable hardware, it's now possible to get the boot time below 2 seconds. This is unlikely to make a huge difference to Windows 7 users, who should already enjoy boot times of around 15 to 45 seconds with conventional hard drives. However, Windows 8 is also destined for use on tablets, where relatively speedy starts are more common.
The improvement comes in two main areas, according to today's blog post on the Building Windows 8 blog. First, Microsoft is storing the relatively small "kernel space" code for the next boot. Second, Microsoft is enabling the start-up routines to use multiple processor cores so that things can be started in parallel.
Further improvements may come from replacing the antique BIOS code -- which started life in the IBM PC in 1981 -- with the more modern Unified Extensible Firmware Interface (UEFI) firmware. An even bigger gain comes from using a solid state drive (SSD) as the boot disk, which is what Microsoft did for its 2-second video demo. (Booting from Flash memory is also the main reason why smartphones, tablets and Chromebooks start relatively quickly.)
When users hibernate their PCs, the system saves two lots of data: the "user session" (programs in memory etc) and the "kernel session" (system services). This enables Windows to resume from hibernation reasonably quickly. However, when users restart or cold boot their PCs neither session is saved. The faster start-up comes from saving the small "kernel session" for re-use. As Gabe Aul explains:
"Using this technique with boot gives us a significant advantage for boot times, since reading the hiberfile in and reinitializing drivers is much faster on most systems (30-70% faster on most systems we’ve tested)."
It's worth doing mainly because very few Windows users hibernate their PCs, even though this is the best option for saving both boot time and power. According to pie charts with the post, based on Microsoft's extensive telemetry, only 1 percent of "Windows 7 power transitions" on desktop PCs use hibernation, compared with 42 percent using sleep mode and 57 percent shutting down or restarting. Even on laptops, where hibernation has even bigger benefits, only 11 percent of transitions use hibernation, against 45 percent each for sleeps and restarts.
Reboot to refresh
Aul says that "one of the other things we've heard is that many people want to turn their PCs on and have it be a 'fresh start' rather than running all of the stuff from their previous session."
It's certainly true that, historically speaking, Windows has had a tendency to slow down and become much less responsive as applications consume resources and fail to release them correctly. At one time, I used to reboot Windows every day. However, this has changed. Resource problems in Windows XP SP3 can usually be cleared up by closing down and restarting the browser (and watching this in Processor Explorer reveals that IE can take more than a minute to close its processes even after you've closed its windows). As a result, I now aim to restart XP once a month, unless Microsoft does it following a security update. With Windows 7 and Vista, I never bother to close and restart them to "freshen up" performance. The security updates require this more often than is necessary for performance reasons (which, with my applications, appears to be never).
Aul adds that "while we don't do a full 'Plug & Play' enumeration of all drivers [in fast start-up mode], we still do initialize drivers in this mode. Those of you who like to cold boot in order to 'freshen up' drivers and devices will be glad to know that is still effective in this new mode, even if not an identical process to a cold boot."
Also, fast start mode speeds up a Windows 8 PC's return from hibernation.
Of course, there are still problems that fast start mode does not address. The main one is the tendency of selfish companies such as Adobe, Apple, Google and Oracle to consume PC resources by loading background programs that enable their own code to start quicker, or to be updated. PC manufacturers can also install enough crapware to slow down the boot process and the whole PC. Since the US Justice Department dragged Microsoft through the anti-trust courts to enable PC manufacturers to add as much crapware as they like, there's not a lot Microsoft can do about it.
But one of the things Microsoft can do is demonstrate that, if correctly set up on the best hardware, Windows can start quickly. Which it has just done. The not-very-hidden message to users is: "If your PC is slow to boot, it's not our fault."
Windows 8 Boot Demo