In Windows 8, Microsoft has improved the boot time drastically versus the current Windows 7 OS. The boot times have been improved approximately 30-70% overall.
How did they do it? Well instead of closing every session when you go to shut down your computer instead Microsoft opted to hibernate those processes and write the data to disk. This process helped reduce the overall boot time drastically and can even be set back to the Windows 7 style shut down if the user does not mind the long boot times.
Shutdown previously worked on Windows 7 something like this:
- 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().
- 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.
- Windows closes the user sessions for each logged on user.
- 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.
- Windows broadcasts messages to devices, signaling them to shut down.
- Windows closes the system session (also known as “session 0”).
- Windows flushes any pending data to the system drive to ensure it is saved completely.
- Windows sends a signal via the ACPI interface to the system to power down the PC.
And boot entails:
- 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.
- 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.
- 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.
- 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.
- 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.
- Explorer.exe starts, the system creates the desktop window manager (DWM) process, which initializes the desktop and displays it.
With the new enhancements, Windows 8 can boot up fully in about 8 seconds, that is quite an improvement. It looks like Microsoft is starting to take Apple‘s fast boot seriously. Check out the video below for details: