When it comes to talking about fundamentals we want to start with boot time – no feature gets talked about and measured more. Windows 8 is designed in a way that we do not need to boot all that often. And also Windows 8 is keen on reducing the number of required restarts due to patching running code. When you boot Windows 8 it will be as fast as possible.
How Could It Be Possible To Boot Windows 8 Faster Than Windows 7: Few operations in Windows 8 are as scrutinized, measured, and picked apart as boot. This is understandable boot times represent an effective proxy for overall system performance and we all know the boot experience is an incredibly important thing to get right for Windows 8 Users.
We prefer to shut down because we want to have our PC completely “off” so that it uses no power – either to preserve battery life or to reduce their energy use. Hibernate is also a good option for this since it similarly has no power draw, and many people really like it.
However, it’s clearly not for everyone, since many of us want to turn their PCs on and have it be a “fresh start” rather than running all of the stuff from their previous session.
Sleep/resume is the best option for fast on/off transitions on today’s PCs, but it still consumes some power in order to preserve the contents of RAM, which means battery drain – even if it’s only a little bit on a well optimized system. All of this is happening with the backdrop of how we all use our mobile phones today, which is almost never restarting them, and always using what feels closest to a sleep-like state.
Then, How will be the Windows 8 designed to meet all of these desires on today’s PCs without requiring some special new hardware.
Here are some advantages on Windows 8 in this regard:
- Effectively zero watt power draw when off
- A fresh session after boot
- Very fast times between pressing the power button and being able to use the PC.
Of course, In Windows 7 there were many improvements to the boot path, including parallel initialization of device drivers, and trigger-start services, but it was clear that Windows 8 have to get even more creative (and less incremental) to get boot performance anywhere close to fast enough to meet all of these needs.
One Windows 8 solution is a new fast start-up mode which is a hybrid of traditional cold boot and resuming from hibernate.
In a traditional shutdown, we close all of the user sessions, and in the kernel session we close services and devices to prepare for a complete shutdown.
Now here’s the key difference for Windows 8:
Windows 7 actually closes the user sessions, but instead of closing the kernel session, Windows 8 hibernate it. Compared to a full hibernate, which includes a lot of memory pages in use by apps, session 0 hibernation data is much smaller, which takes substantially less time to write to disk.
If you’re not familiar with hibernation, Windows 8 effectively saving the system state and memory contents to a file on disk (hiberfil.sys) and then reading that back in on resume and restoring contents back to memory.
Using this technique with boot gives 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).
Figure: Bar chart comparing Windows 8 fast startup times to Windows 7 cold boot times on 30 different PC configurations. The Windows 8 startup times are all between 15 and 33 seconds, while the Windows 7 cold boot times are between 25 and 72 seconds.
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 Windows 8 have added a new multi-phase resume capability, which is able to use all of the cores in a multi-core system in parallel, to split the work of reading from the hiberfile and decompressing the contents.
For those of you who prefer hibernating, this also results in faster resumes from hibernate as well.
How Hibernation Works With Windows 8
It’s probably worth mentioning how Windows 8 treat the hiberfile. If you read this and immediately try dir /s /ah hiberfile.sys you will find that it’s a pretty big file on disk. The hiberfile is sized by default at 75% of physical RAM.
The file is essentially a reservation for hibernation data that will be written out as the system is dropping into hibernation. Typically much less space is actually used, and in the case of Windows 8 fast startup usage, it’s typically ~10-15% of physical RAM but varies based on drivers, services, and other factors.
Windows 8 also treats the hiberfile slightly differently than other files on disk, for example, the Volume Snapshot service ignores it (a small performance benefit.) You can disable hibernation and reclaim this space by running powercfg /hibernate off from an elevated command prompt.
Warning! But be aware that if you turn off hibernating in Windows 8, it will disable hibernation completely, including some nice capabilities like fast startup as well as hybrid sleep, which allows desktop systems to do both a sleep and hibernate simultaneously so if a power loss occurs you can still resume from the hibernated state.
You can also run powercfg /hibernate /size and specify a value between 0 and 100 for the percentage of physical RAM to reserve for the hiberfile – but be careful! Specifying too small a size can cause hibernation to fail. In general, I recommend leaving it enabled at the default value unless you’re working on a system with extremely limited disk space.
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 (Windows 8) this new mode, even if not an identical process to a cold boot.
This new fast startup mode will yield benefits on almost all systems, whether you have a spinning HDD or a solid state drive (SSD), but for newer systems with fast SSDs it is downright amazing.
In Reality, Windows 8 boots faster than smart phones, say our Windows Phone 7.
Check out the following video from Microsoft Windows 8 Team to see for yourself: Download this video to view it in your favorite media player: High quality MP4 | Lower quality MP4
One thing you’ll notice in the video was how fast the POST handoff to Windows occurred. 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. 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 startup times will be more prevalent for new systems.
How To Shutdown Windows 8 Fully:
Of course, there are times where you may want to perform a complete shutdown – for example, if you’re opening the system to add or change some hardware. Windows 8 have an option in the UI to revert back to the Windows 7 shutdown/cold boot behavior, or since that’s likely a fairly infrequent thing, you can use the new /full switch on shutdown.exe. From a cmd prompt, run: shutdown /s /full / t 0 to invoke an immediate full shutdown. Also, choosing Restart from the UI will do a full shutdown, followed by a cold boot.
Fast booting and resuming states is something every PC users expects. Now that computers are coming with improved components. This now means that we can put our machines in sleep-mode or hibernation without even thinking, it will be second-nature to users when using Windows 8.
In regards to their 'start screen' I pray and hope that they allow us to add a background image and change the opacity level of tiles. I have done so many mockups in Photoshop and having a background image with translucent tiles is much more visually appealing, even an opacity level of 90% works well. Trust me when I say that nobody is going to want to revert from Aero glass to flat boring tiles, changing the opacity adds perceived depth.
However, In the past, the boot performance of Windows PCs have degraded over time as applications are installed/removed and the registry is mucked up. Is this new boot method still vulnerable to this type of degradation? Will it still boot just as fast 5 years down the road? Have you done any lab simulations regarding this scenario? We need to wait to know how it works.