Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

What is Hybrid Boot in Windows 8 and how does it work?

- - - - -

  • Please log in to reply
3 replies to this topic

#1
MagicAndre1981

MagicAndre1981

    after Windows 7 GA still Vista lover :)

  • Patrons
  • 6,163 posts
  • Joined 28-August 05
  • OS:Vista Ultimate x86
  • Country: Country Flag

Donator

Several blogs talk about a new Boot mode in Windows 8, which is called Hybrid Boot. Today I want to tell you some things you can't read on those blogs.

If you followed my guide to trace Vista/7 boot issues you found out how Windows boots. After loading all boot drivers and initializing the devices (PreSMSS), Windows starts the session manager which initializes the registry and other devices and drivers for not boot relevant devices (SMSSInit). Next the service manager starts all services, the login screen occurs and the group policies run. In the next steps the Desktop is loaded all all startup applications run. But is this really needed all time? Till Windows 7 you can run Hibernation to avoid this. When you use Hibernation all applications stay running, they are suspended and written with all other data into the hibernation file. In Windows 8 Microsoft combines hibernation with normal boot.

So how is it done?

If you followed some technical blogs know that some internal papers of ideas leaked last year. And those docs show the orignal name of Hybrid Boot. It was called: "Logoff + Hibernate":

Posted Image

Posted Image

If you look at this Summary of the shutdown and compare it to Windows 7 you see that only the user session with all running applications are closed (logoff) which takes 2.9s for me. The Session 0 (service) is not closed.

Attached File  Win8_HybridBoot_shutdown_XML.png   76.6KB   58 downloads

In the next step the services and the kernel are suspended and written to to hibernation file. So here you can see the difference. With hibernation all programs stay open, with hybrid boot the applciations are closed and next the Windows is hibernated.

So the original developer name hits the nail. Hybrid boot is logging the user off and suspending the rest.

And how does the boot work?

To see this look at this picture:

Attached File  Win8_HybridBoot_boot_XML.png   27.25KB   58 downloads

If you compare it to Windows 7 you can see some difference and some parts you already know. 1 difference is the boot type which explicit shows hybrid boot and next the first step is no longer the PreSMSS Phase. With Hybrid boot, the system (kernel, devices, drivers and the services) are resumed from hibernation and this is called SystemResume. This acts the same way we know it from Windows 7. The following picture shows the suspend (happens at "shutdown" which I explained earlier) and resume times:

Attached File  Win8_HybridBoot_hibernation_resume_XML.png   33.76KB   24 downloads

And you can see that it looks the same what we know as hibernation/sleep - resume from Windows 7. In my example resuming the System (SystemResume) only takes 7.5 seconds. And here you can see the real advantage. All drivers, devices are no longer needed to be initialized and started every boot. Also all the services don't need to be started at each boot. So the PreSMSS, SMSSInit and the starting services part of WinLogonInit are now merged into SystemResume which is much, much faster because the data can be sequentially read from the hibernation file and resuming a suspended driver or service is much, much faster compared to start the the "old" way.

The rest of the hybrid boot is the same like the traditional boot. WinLogonInit shows the LogonScreen where you enter your password, next the Desktop is loaded and all startup apps are loaded.

In my example the complete boot is done in 12.7 seconds. And this example was done with a really old and slow HDD (5400rpm IDE). So Windows is started very, very fast. Which a faster HDD you have a power on and ready experience in a short time.

So, lets summarize what Hybrid boot is. At shutdown Hybrid boot is logging the user off, closing all applications, suspending the rest of the system into the hibernation file. At boot Hybrid boot is resuming the devices, drivers and services, next the user logs on and all startup apps are loaded.

FAQ
Q: Is Hybrid boot enabled by default and when can I use it?
A: To use Hybrid boot, your system must have a hibernation file and the drivers must support hibernation. Hybrid boot is not available if you run Windows 8 in a Virtual Machine. To see if hybrid boot is used, check it under the power plan options:

Attached File  Win8_IsHybridBoot_Enabled.PNG   144KB   66 downloads

and verify that the option "Enable Hybrid boot" is checked.

Q: What can impact the performance/Why is my system still booting slowly?
A: This maybe BIOS related, that the BIOS takes too long to initialize. Next, resuming devices and drivers can cause delays. But the biggest delay can occur due to the applications that you run at startup. This is the same like in all Windows versions. Run msconfig.exe or AutoRuns to remove useless software.

Q: I got a leaked version and what to trace it myself. How do I do that?
A: When the public Beta/RC with the new Windows 8 SDK / WPT is out, I'll update the guide with the instruction to trace slow hybrid boot issue.

Edited by MagicAndre1981, 17 August 2011 - 05:35 AM.

Posted Image


How to remove advertisement from MSFN

#2
MagicAndre1981

MagicAndre1981

    after Windows 7 GA still Vista lover :)

  • Patrons
  • 6,163 posts
  • Joined 28-August 05
  • OS:Vista Ultimate x86
  • Country: Country Flag

Donator

Now Microsoft officially announced the faster boot in the "Building Windows 8" Blog.

here you see the comparison between between Windows 7 and Windows 8:

Posted Image

Now here’s the key difference for Windows 8: as in Windows 7, we close the user sessions, but instead of closing the kernel session, we 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.


This results in a much faster start compared to Windows 7:

Posted Image

Watch the demo video here:

http://media.ch9.ms/ch9/d60d/520e45c1-8508-4c69-9c25-9f580154d60d/FastBoot_high_ch9.mp4
Posted Image

#3
MagicAndre1981

MagicAndre1981

    after Windows 7 GA still Vista lover :)

  • Patrons
  • 6,163 posts
  • Joined 28-August 05
  • OS:Vista Ultimate x86
  • Country: Country Flag

Donator

ok, if the new Fast Startup/Hybrid Boot is not so fast as it should follow the steps in my new guide to trace what is slow:

http://www.msfn.org/...howtopic=158252
Posted Image

#4
MagicAndre1981

MagicAndre1981

    after Windows 7 GA still Vista lover :)

  • Patrons
  • 6,163 posts
  • Joined 28-August 05
  • OS:Vista Ultimate x86
  • Country: Country Flag

Donator

Here is the result of Win8 Pro (x64) on my Samsung 830 SSD:

Attached File  Win8_FastStartUp_boot.png   38.75KB   18 downloads

Win8 boots in 2.7s to the Desktop (with StartIsBack) and is fully booted in 7.1 seconds!
Posted Image




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users