Windows 8 Gives New Shut Down/Boot Up Path for Faster Boot Times

Written by John Ponio    Friday, 09 September 2011 16:19

Microsoft Logo

Boot time has recently become a big issue, especially with laptops. Windows 7 made some remarkable steps in faster boot, but most computers still take over a minute to start up. That's not fast enough, according to Windows 8. Windows 8 will feature a whole new shut down and boot up path, meaning both processes will be faster. The new paths are a mix between a full shut down and hibernation. A full shut down does give a fresh start when the system is started again, but then you have to wait. Hibernation is faster than cold booting, but a lot of users want that fresh start. What this new path basically does is hibernate the kernel, but shut everything else down, so that the major file to load is stored in memory instead of started every time you start your computer.

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() orInitiateShutdown().
  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.
Of course, that's only basic. You can read more details here and the blog post here. There's also a video at the end demonstrating the reboot..