Windows 8 to Boot Faster

Microsoft Product Roadmaps

An all-in-one-place software version product roadmap resource that summarizes the current and future versions of 100+ Microsoft enterprise and developer technologies. Our product roadmaps will give you the forward looking information you need to efficiently plan projects, schedule migrations and budget purchases.

Windows 8 to Boot Faster
Tuesday, 06 December 2011
ShareShare on LinkedIn



Windows 8 will feature changes to speed up the process of starting the OS (referred to as booting). Previous changes, such as not starting OS services until they are needed and starting device drivers in parallel, contributed to a faster start time for the current version of Windows, but new changes in Windows 8 will mean that users can be productive faster if they have to boot their computers. But demos of Windows 8 booting faster rely on a new firmware standard and solid-state disks—so the improvement most users see will vary significantly.

Why Booting Fast Matters

Booting a Windows-based computer involves a long and complex sequence of steps designed to initialize the hardware, load and initialize the OS, and prepare the computer to run applications. Microsoft indicates that boot speed is important not only because users must wait to begin productive work but also because boot time correlates with overall system performance to most users. Because Windows boots significantly slower than the newest mobile device operating systems, such as Apple's iOS or Windows Phone 7, users' overall impression is that Windows performs poorly.

The boot process begins when the power is turned on and the execution of specialized code that the computer manufacturer embeds in firmware begins. The process for desktop versions of Windows, such as Windows 7, typically ends after the user has logged in, the desktop (start menu and icons) is displayed, and the user can start using an application, such as an e-mail program like Outlook.

When a computer that is completely powered off is powered on, the startup routine is referred to as either a cold boot or a full boot. According to Microsoft, 57% of desktop PC users and 45% of laptop users shut down their machines rather than using other power management features of the OS, such as sleep or hibernate, which allow the OS to preserve the running state of the hardware and software and restore that state quickly when needed. This means that to use the machine again, it must be rebooted. Even if a user relies on sleep or hibernate, updating the OS and some application software often requires a complete boot so that files that are in use when the patch is installed can be replaced with the new or patched versions. Other users reboot a computer because it slows down or a device or application stops behaving correctly.

Rebooting, therefore, means that a user has to wait until the PC is ready for productive work. That can add up over time, so speeding up the boot process can allow more, or more productive, work to be done.

Changes in Windows 8 are designed to address this question: When a reboot is necessary, how can Windows start faster?

Booting Faster

The boot process can be divided into two parts: the firmware boot stage and the OS boot stage. Microsoft intends to speed the process by using the Windows hibernation feature to essentially skip most of these steps. However, hibernate in Windows 8 will operate differently than in previous Windows versions, and reboots will still be required in some cases.

The Firmware Boot Stage

The firmware boot stage begins when the computer is powered on and continues until the firmware transfers control to the OS. During this phase, the boot process is under control of the computer's firmware—code designed to test the computer's hardware and initialize sufficient hardware, such as the disk controller or network interface and the graphics display card, so that the OS can be loaded to begin execution. Firmware is typically specific to a particular computer's hardware components and is embedded by the computer's manufacturer in nonvolatile storage, such as programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), or non-volatile random access memory (NVRAM).

Currently, most Windows-based computers rely on firmware known as the basic input/output system (BIOS), which has been used to boot Microsoft operating systems since MS-DOS. Although BIOS was originally designed to load an OS and provide an interface between applications and the computer's hardware, advances in OS functionality have relegated it primarily to beginning the boot process and ensuring the OS is licensed for the hardware.

In the future, most Windows-based computers, regardless of the processor architecture, will rely on firmware known as the Unified Extensible Firmware Interface (UEFI), which was initially created to overcome BIOS limitations and better support the new generation of 64-bit processors. (For more background, see the sidebar "Firmware Changes in Progress".)

The OS Boot Stage

The OS boot stage begins after the firmware has loaded and transferred control of the boot process to the Boot Manager, which reads boot configuration information from the Boot Configuration Database (BCD); loads the OS loader, necessary device drivers, and the OS kernel; and then starts the system and user sessions. The OS boot stage ends when all the devices have been initialized and started, the user can log on to Windows, Group Policy scripts have been run, and the user's desktop (Start menu and icons) are presented.

The last two versions of Windows made significant changes to this phase of the boot process. For example, in Windows Vista, the monolithic Windows loader (Ntldr.exe) was broken into three pieces: a separate boot manager (Bootmgr.exe) and loader (Winload.exe) and a separate program to resume operation of the OS from the power management sleep or hibernation states (Winresume.exe). The simple boot.ini text-based configuration file for passing parameters and data to the boot process was also replaced by the BCD.

In Windows 7, changes to the boot process allowed some device drivers to start in parallel, and some OS services did not start during the boot process but started only when they were needed or triggered.

Leveraging Hibernate

To speed up the Windows' boot process, Windows 8 will leverage the power management feature that hibernates the computer (puts it in a no-power usage mode). To understand the change, it is necessary to briefly look at how Windows shuts down. Windows begins to shut down by notifying all running applications of the pending shutdown so that each application can save all user and configuration data and then stop executing. Then the OS performs the following tasks:

  • Closes the user session(s)
  • Begins to shut down services
  • Closes the system session
  • Flushes any data remaining to be written from cache to disk
  • Powers down the computer.

During Windows 7 (or previous versions), hibernation Windows will write all the user and system state data to the hibernation file (hiberfil.sys) before the user and system sessions are shut down.

With Windows 8, normal shutdown will be modified to resemble a partial hibernation. Windows 8 will still notify the running applications of a pending shutdown, and the applications will still be responsible for saving their user and configuration data. Windows 8 will then close all user sessions, just as it does with Windows 7, but instead of simply closing the system session Windows 8 will preserve the current system state in the hibernate file. Because only the system state has to be written to disk, Windows 8 shutdown will use less disk space and take less time than performing a hibernation of both the user and system state data on Windows 7 today.

The Windows team anticipates that restoring the hibernated system state to short-cut the full boot process will be faster than a full boot, because reading the system state from the hibernation file and reinitializing the system state can be 30% to 70% faster than performing all the steps of a cold boot. If the computer has a multicore processor, the resumption could be even faster as all the processor cores can be used to read and restore the hibernation file. (For an illustration of the full and hibernate shortened boot, see "Faster Booting by Leveraging Hibernation".)

Although fast boot should work on any computer running Windows 8, regardless of the firmware, recent Microsoft demonstrations of Windows 8 booting that show a remarkably fast boot use computers with UEFI and fast solid-state disk drives for the system disk that stores the OS and hibernation data.

Not All Boots Will Be Faster

Leveraging hibernate should result in faster boot time for computers that are told to perform a normal complete shutdown, rather than put into the power management sleep and hibernate features when not in use. But many computers are rebooted for other reasons, including cases when the computer slows down or stops responding, or to complete software updates.

In the case where the computer slows down or stops responding, the new Windows 8 fast boot may still resolve the problem. Because the application state is not preserved during shutdown, a nonresponsive application will be completely restarted. During the restoration of the system state from the hibernation file data, all device drivers are reinitialized, which should resolve most performance or nonresponsive device problems. But in the end, this could be another perception problem—if users feel that only a cold boot resolves the problem, they will likely want to perform a cold boot, even if it takes longer to perform. (There will be a user selectable mechanism, including command-line switches for the shutdown command, to force a complete or cold boot.)

Most updates, in particular application updates, should not require a reboot. But when system files, such as the Windows kernel, are loaded in memory and executing, the computer must be rebooted to ensure that the updated or patched software is loaded into memory for execution. Microsoft indicates it is working to reduce the number of reboots required by its Windows Update process, and the reboot for nonsecurity updates may be deferred until there is a security update. Security updates to system files will require an immediate cold boot to ensure the patched software is loaded to reduce the danger of attack. For Microsoft software, this could mean it would only be necessary to boot once a month, following a "Patch Tuesday" release of a Windows 8 security update.

Availability and Resources

Windows 7 power management, including hibernate and sleep, is discussed in Windows Enhances Power Management on page 3 of the June 2009 Update.

A technical paper on UEFI and current support for Windows 7 and Windows Server 2008R2 is available at msdn.microsoft.com/windows/hardware/gg463149.aspx.

Information on UEFI, including the 2.3.1 specification, is available at www.uefi.org/specs/agreement.