In Search of the Sub-30 Second Boot

jamor

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.

Improving Windows 7 Performance

Microsoft is obviously pleased with itself for making Windows 7 boot lickity-split, but we were convinced we could shave even more time by optimizing the OS. We disabled Aero, turned off system restore, disabled services, turned off the boot splash screen, and even tried enabling ReadyBoot. ReadyBoot is supposed to help a machine boot faster but is disabled by default if an SSD is the primary boot device. Sadly, none of this made a difference.

We even tried the old Internet lark of “enabling” more cores for booting using the Boot Advanced Options tab in msconfig. This tip has been kicking around since the days of Windows Vista. While some people claim it works, we saw no difference, and during one run, we saw boot times get significantly worse, requiring us to reinstall the OS to correct it. Though tempting, the setting is for debugging purposes, and as far as we could find, has no practical impact on boot performance.

Internet rumor site Snopes.com should have an entry for this one: By setting your OS to use all four cores during boot, you can shave a ton of time off your boot time. Unfortunately, it's not true.

Finally, we repeatedly rebooted the machine. Windows 7 (and Vista) includes a self-tuning routine to decrease boot times. We booted the OS, let it sit for a few minutes, and then repeated the task 25 times—although 10 times is reportedly sufficient. (To do this automatically, use PassMark.com’s free Rebooter app).

The Result

Did we get our rig to boot in less than 30 seconds? No, but we hit 30 seconds exactly—a 33 percent improvement over our original boot time. With our BIOS tweaks, we managed to get our P55 board to seemingly hand over control to the OS in 15 seconds. However, Windows 7’s built-in performance-measurement tool then repeatedly told us our machine was up and running in 11 seconds, while our stopwatch told us the machine was booting to a usable state in 15 seconds. Which is right? That likely depends on where exactly you start the clock for the OS booting. There is a gray area during the BIOS hand-off to the OS that is apparently not counted in Microsoft’s measurement tool. In the end, we’ll accept that we did technically achieve the 11-second boot of the OS, but we would have preferred to shave those last four seconds from the stopwatch, too.

But is all this effort for a faster boot even necessary? Frankly, with Windows’ Hybrid Sleep feature, boot times are of much less significance. A combination of standby and hibernate, the feature lets your machine assume a fully responsive state in less than three seconds with the click of the mouse. Since the machine is in a suspend-to-RAM state, there’s no POST to go through, and no initializing of hardware by Windows, either.

BEFORE

BIOS = 28 seconds
OS
= 17 seconds
Total
= 45 seconds

AFTER

BIOS = 15 seconds
OS
= 15 seconds
Total
= 30 seconds

How Does a Hard Drive Impact Boot Performance?

Besides having no moving parts that can break and blazing throughput speeds, SSDs also have incredibly low access times. How low? In our tests, the hella-fast 10,000rpm 300GB Western Digital VelociRaptor had a random-access time of 7.24ms, while the original Intel X25-M SSD had an access time of 0.12ms. A typical 1.5TB 7,200rpm drive sits at 15ms. Since booting Windows doesn’t involve reading one fat contiguous file on the disk, but rather picking out thousands of small files, random access is assumed to be key for booting an OS.

To see how much of a difference an SSD makes over an HDD, we replaced the 160GB Intel X25-M SSD in our test platform with a Seagate 1.5TB 7200.11 Barracuda HDD, installed Windows 7 Ultimate, installed the same drivers, and configured the machine exactly as we had previously. The Intel SSD hits in excess of 210MB/s reads, while the 7200.11 tops out at 100MB/s over the entire platter but reaches into the 130MB/s range for the first 200GB or so.

While our SSD-based install took 15 seconds once the board handed off control, the hard drive took 30 seconds. That’s a 100 percent improvement with the SSD. But is it worth the price premium? To many folks, probably not. Keep in mind, however, that the SSD not only improves boot time, it will give you optimum overall system responsiveness and performance throughout its capacity. Mechanical drives decline in performance as they get full and fragmented. On the other hand, a 1.5TB drive offers almost 10 times the storage of a 160GB SSD.

Around the web

by CPMStar (Sponsored) Free to play

Comments