In Search of the Sub-30 Second Boot
Can we use Windows 7's new fast-boot capability and BIOS optimizations to get to the desktop in less than 30 seconds?
If you’re the kind of person who fumes at the microwave because it takes so long to nuke popcorn, you probably can’t stand the plodding boot of your PC, either.
And who can blame you? Time spent waiting for first the BIOS and then Windows to come to life is time that could have been spent working, gaming, or surfing the web.
Microsoft’s claim that Windows 7 could boot (from the BIOS) in 11 seconds first gave us the hope that such idle time might be lessened dramatically, but being Maximum PC we wanted to take the idea even further. We sought to not only replicate Microsoft’s claim, but to see how much time we could shave prior to the OS loading, with a combination of hardware and BIOS tweaks. Our ultimate goal: to have a machine up and running within 30 seconds of hitting the power switch.
So if your attention deficit disorder hasn’t already caused you to click to the next story, find out how we were able to achieve the shortest boot possible.
Timing is Everything
How we systematically shaved precious seconds off our reference rig's boot time
How fast can Windows 7 boot? In 11 seconds, Microsoft claims. And to prove it, the company even demonstrated the feat to a room full of technical press. But even if you take MS at its word, that’s really only half the story. Microsoft’s demo proved how fast a Win7 PC could boot once the hardware handed off the booting process to the operating system.
For our challenge, we included the BIOS, as well.
Obviously, the most important factor there is the motherboard. For our platform, we decided to go with Intel’s everyman socket: the LGA1156. In choosing the board, we considered four possibilities—two different Asus boards, an Intel, and a Gigabyte—before settling on Gigabyte’s GA-P55-UD6, primarily for its Quick Boot feature (more on that later).
Gigabyte's GA-P55-UD6 proved to be the fastest-booting P55-based board we could find.
For storage, we decided that an SSD with its ultra-fast random-access time was the only way to go. Furthermore, that’s what Microsoft used in its own boot demo. We auditioned three different drives—one using SLC NAND, another using the highly regarded Indilix controller, and the third being Intel’s second-generation 34nm 160GB X25-M drive. All three had similar boot times but we opted for the X25-M 160GB because it was the only one that supported the TRIM command at the time. Windows 7 natively supports TRIM, which can greatly increase SSD performance when writing to sectors that have been previously used and then erased.
Other hardware in our rig included 4GB of DDR3/1333 (going with 8GB added an additional 1.5 seconds to our boot), a SATA optical drive, and an EVGA GeForce GTX 280 card. Initially, we thought a GPU with a fat 1GB frame buffer might impact the POST (that’s a lot of RAM to initialize), so we also tried a low-end GPU with a 256MB frame buffer, but saw no change in boot times. Our OS choice: Windows 7 Ultimate.
The start-to-finish boot of our reference rig: 45 seconds.
Improving POST Performance
For the record, Microsoft used a reference board design for Intel’s Capella mobile platform for its boot demo, along with a 1.7GHz Core i7 mobile processor and an older 80GB Intel SSD drive without TRIM. We should note that mobile platforms are inherently faster at booting because they are complete optimized systems with far fewer parts to power on and inventory. A typical laptop will get through POST in less than 10 seconds, with some taking as little as five. BIOS maker Phoenix has even demonstrated a notebook PC using UEFI that can POST in one second. Desktop boards, however, with their infinite hardware variability, POST far slower. One of the appealing features in Gigabyte boards is the Quick Boot setting in the BIOS that lets the board POST faster if the hardware has not changed. With the Quick Boot setting enabled, we saw the POST time go from 28 seconds to 17 seconds. We then shut off extraneous hardware such as the floppy port and serial port, made the hard drive the first boot device, and disabled other boot devices, as well. By doing this, we shaved another two seconds off the boot time. Disabling the unused FireWire port and SATA ports that were not in use didn’t decrease the POST time, but we saw Windows 7’s boot drop by a second or two.
You can save a few microseconds (or more, depending on your board) by booting all your drives off the native south bridge instead of any discrete controllers. If you have just two hard drives and a SATA optical, it’s more time-efficient to have all three connected to the chipset’s native controller instead of a third-party controller. Some BIOSes may also enable spinup timers for hard drives by default. This gives mechanical drives time to spool up before the board tries to boot to those. Lowering these timers can save you seconds.