Microsoft promises faster startup for Windows 8
A hybrid hibernation technology lops 30 percent to 70 percent off Windows 8 startup time, says Microsoft, trying to fix an ages-old problem.
Microsoft, addressing a painful part of using the company's operating system, says Windows 8 starts up 30 percent to 70 percent faster than the same machines running Windows 7.
That's music to my ears.
Alas, I've heard Microsoft say it's speeding up Windows startup so many times over the years that I'm skeptical it'll ever really happen, especially given that part of the responsibility lies with third-party software out of Microsoft's direct control. This time, though, Microsoft is tackling the problem with a more dramatic approach that preserves some of the computer's state from before the restart.
Windows boot time
How long does your Windows system take to boot to a usable state?
Specifically, Windows 8 uses a hybrid technique intermediate between a full-on restart and the low-power hibernation state. In addition, Microsoft is speeding how fast a system will come out of hibernation by spreading the work across multiple processor cores.
"As in Windows 7, we close the user sessions, but instead of closing the kernel session, we hibernate it," Gabe Aul, a Windows program management director, said in a blog post yesterday. "It's faster because resuming the hibernated system session is comparatively less work than doing a full system initialization, but it's also faster because we added a new multi-phase resume capability, which is able to use all of the cores in a multi-core system in parallel."
Microsoft is fond of showing fast new boot or wake-up times, and this blog post is no exception. Program Manager Emily Wilson shows a laptop booting in--by my stopwatch--8 seconds.
My skepticism comes from the fact that I've seen such videos before, yet my Windows 7 laptop takes well over two minutes--and that's after an OS reinstall a few months ago to try to clean out the cruft.
Microsoft, though, has a nice chart showing moderately to drastically improved boot times on a collection of 30 PCs.
It's not clear how representative the examples are--for example, how many of the systems are loaded up with the games, word processors, utilities, print drivers, and Web browsers that a typical person has installed? The longest boot time under Windows 7 is about 73 seconds on the chart, and my quad-core Dell laptop takes longer than that to become usable, including starting the user session.
Aul details a lot of the changes in the new process (and links to even more details), but the short version is that even during a full restart, Windows uses hibernation technology to preserve the deeper-down kernel component of the operating system.
To explain this a little better, here are the three possibilities for what happens with Windows machines work when you stop using them:
How often do you restart your Windows system?
Sleeping shuts down some hardware but keeps the machine relatively active, for example by keeping a computer's state awake in memory, which means it's fast to wake up but also that it consumes power when it's asleep.
Hibernation saves memory contents to the hard drive in a compressed form, a process that takes a long time but that cuts power consumption during hibernation. Waking up is slower, because the hibernation file must be read back from the disk and decompressed as it's loaded back into memory.
Shutting the machine down stops all the running programs and the operating system's processes, which can take awhile. Restarting loads everything from scratch, reinitializing hardware and software, which also takes a long time.
The new restart process keeps the core part of the operating system from before the restart, but initializes hardware, loads drivers from scratch, and starts fresh user login sessions.
Two more points. First, Aul promises that the fast startup technology improves boot times both with traditional hard drives and with SSD (solid state disks) that use faster flash memory.
Second, the fast-boot process works better with a new firmware approach called Unified Extensible Firmware Interface. Firmware is the low-level software that runs when a computer first boots, and the older BIOS approach is notoriously plagued with legacy code an inconsistencies.
"Systems that are built using Unified Extensible Firmware Interface (UEFI) are more likely to achieve very fast pre-boot times when compared to those with traditional BIOS," Aul said. "This isn't because UEFI is inherently faster, but because UEFI writers starting from scratch are more able to optimize their implementation rather than building upon a BIOS implementation that may be many years old. The good news is that most system and motherboard manufacturers have begun to implement UEFI, so these kinds of fast start-up times will be more prevalent for new systems."
For those who want a truly fresh start on reboot, the restart command will boot the old way. In addition, people can type this command "shutdown /s /full / t 0" into a command prompt.
I'd hope that wouldn't be necessary most of the time--Windows in my experience has gotten better over the years at resuming from sleep and hibernate, even if it's still not up to the standards of my Mac.
Clearly, I'm cautious about whether the new process really will speed up boot times for me in practice. But I'm eager to have my skepticism proven wrong.
Updated at 3:52 a.m. PT to note that Gabe Aul, a Windows program management director, wrote Microsoft's blog post. Windows division president Steven Sinofsky only wrote an introduction.