Windows 8 will have super fast boot times

September 8, 2011

Yet another blog post from Steven Sinofsky where he talks about new features in Windows 8. He talks extensively about how they planned to achieve faster bootup times for the operating system. He sums up the goals as the following:

  • 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.
The new solution they came up with was a little bit of a hybrid of traditional cold boot and resuming from hibernate. He goes on to explain how system shutdown and boot-ups work in Windows 7.
In Windows 7, Shutdown entails:
  1. The user initiates a shutdown by selecting “shut down” from the Start menu, or by pressing the power button; or an application initiates shutdown by calling an API such as ExitWindowsEx() or InitiateShutdown().
  2. Windows broadcasts messages to running applications, giving them a chance to save data and settings. Applications can also request a little extra time to finish what they’re doing.
  3. Windows closes the user sessions for each logged on user.
  4. Windows sends messages to services notifying them that a shutdown has begun, and subsequently shuts them down. It shuts down ordered services that have a dependency serially, and the rest in parallel. If a service doesn’t respond, it is shut down forcefully.
  5. Windows broadcasts messages to devices, signaling them to shut down.
  6. Windows closes the system session (also known as “session 0”).
  7. Windows flushes any pending data to the system drive to ensure it is saved completely.
  8. Windows sends a signal via the ACPI interface to the system to power down the PC.
And boot entails:
  1. After pressing the power button, the PC’s firmware initiates a Power-On Self Test (POST) and loads firmware settings. This pre-boot process ends when a valid system disk is detected.
  2. irmware reads the master boot record (MBR), and then starts Bootmgr.exe. Bootmgr.exe finds and starts the Windows loader (Winload.exe) on the Windows boot partition.
  3. Essential drivers required to start the Windows kernel are loaded and the kernel starts to run, loading into memory the system registry hive and additional drivers that are marked as BOOT_START.
  4. The kernel passes control to the session manager process (Smss.exe) which initializes the system session, and loads and starts the devices and drivers that are not marked BOOT_START.
  5. Winlogon.exe starts, the user logon screen appears, the service control manager starts services, and any Group Policy scripts are run. When the user logs in, Windows creates a session for that user.
  6. Explorer.exe starts, the system creates the desktop window manager (DWM) process, which initializes the desktop and displays it.
He points out that in a traditional shutdown, all of the user sessions are closed and in the kernel session services and devices are closed in anticipation of a complete shutdown. Windows 8 will be different. Just like Windows 7, the user sessions will be closed BUT instead of closing the kernel session, it’s hibernated. This effectively saves 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. Microsoft provided some graphics to show the contrast between the cold start and a Windows 8 fast start. Click on the images to make them larger [caption id="attachment_6141" align="alignnone" width="590"]Relative time needed for different phases of startup Relative time needed for different phases of startup[/caption]   [caption id="attachment_6142" align="alignnone" width="590"]Comparing boot times from Windows 7 and Windows 8 Comparing boot times from Windows 7 and Windows 8[/caption] He goes on:
Using this technique with boot gives us 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 we’ve tested). 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, 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.
Drivers are also initialized upon boot-up. Interesting: he states that systems using Unified Extensible Firmware Interface (UEFI) are more likely to achieve very fast pre-boot times when compared to those with traditional BIOS. Check out this video provided by Microsoft to highlight the start up speed of Windows 8.]]>

Article Categories:
Videos · Windows 8 Videos

Mike Johnson is a writer for The Redmond Cloud - the most comprehensive source of news and information about Microsoft Azure and the Microsoft Cloud. He enjoys writing about Azure Security, IOT and the Blockchain.

All Comments

  • This is really going to be exciting…

    Jamie Parker September 8, 2011 9:03 pm Reply
  • Looks good make going on the computer very fast to get started

    Ian Hands September 8, 2011 9:58 pm Reply
  • windows going better to other OS

    Nomijii September 8, 2011 10:54 pm Reply
  • I tested this is build 7989. works great,booted my system is about 4 seconds

    Eric Witherington September 9, 2011 4:24 am Reply
  • Yet another idea taken from apple.
    Really makes me curious as to if Microsoft is copying apple all the time.
    At least they are sorting out the boot up. But shows they are copying apple, as apple has already achieved this.
    When I was using xp on my old laptop, I always put it in hibernate instead of shutting down, but then windows 7 seems to always be faulty with hibernate.
    What’s Microsoft going to copy next from apple?

    Jase Wolf September 9, 2011 6:59 am Reply
    • To make an OS boot faster.
      Is this the only Apple’s idea?

      Panya September 10, 2011 1:19 am Reply
    • Jase.  Honestly, I don’t really understand how this comment makes any sort of sense.  Improving boot times is an objective of any operating system.  Certainly Apple has done it well in their various IOS platforms but it isn’t like other vendors (Microsoft included) haven’t strived to achieve this.
      You make it sound like the very concept of starting an operating system as quickly as possible was invented by Apple which is simply ludicrous.  It’s like saying that working on system reliability or security is “copying” because the perception (true or not) is that one does it better than another.

      WhyEvenBother? September 10, 2011 2:03 am Reply
    • Microsoft must have a really good spy sitting in Apple! lol

      jcharavda September 10, 2011 2:25 pm Reply
  • Imbuddyholly95 is me sorry

    Jase Wolf September 9, 2011 7:00 am Reply
  • Stupid thing
    Meant Jase

    Jase Wolf September 9, 2011 7:01 am Reply
  • But after video, I say WOW!

    Jase Wolf September 9, 2011 7:06 am Reply
  • I wonder how thats gonna look on my i7 core @ 1.73Ghz and my 7200 rpm hard drive. Can’t wait!

    Penta2100 September 9, 2011 11:44 am Reply
  • Can’t wait to get y hands on Windows 8 … great stuff

    Ed Cervantes September 10, 2011 3:06 pm Reply

Leave a Reply

Your email address will not be published. Required fields are marked *