Boot Process in Windows
Boot Process in Windows
Table of Contents
o
o
o
o
BIOS Initialization
During the BIOS Initialization phase, the platform firmware identifies and initializes hardware devices,
and then runs a power-on self-test (POST). The POST process ends when the BIOS detects a valid
system disk, reads the master boot record (MBR), and starts Bootmgr.exe. Bootmgr.exe finds and starts
Winload.exe on the Windows boot partition, which begins the OSLoader phase [1].
OS Loader
During the OSLoader phase, the Windows loader binary (Winload.exe) loads essential system drivers
that are required to read minimal data from the disk and initializes the system to the point where the
Windows kernel can begin execution. When the kernel starts to run, the OSloader loads the system
registry hive and additional drivers that are marked as BOOT_START into memory. [1]
This phase is mainly impacted by boot start drivers. While a delay caused by a dual boot menu would
be easy to fix, make sure that all boot start drivers are signed and up-to-date.
To identify boot start drivers which are not signed:
1.
Create a boot trace using the Windows Performance Toolkit. For more information about how to
create a trace, see slow boot and logon analysis articles for analysis.
2.
3.
4.
Open the bootevents.csv using Excel and run signtool verify /v <driver>
Signtool.exe is part of the Windows SDK
5.
If you find a driver which is not signed, look for driver updates.
OS Initialization
During the OS Initialization phase, most of the operating system work occurs. This phase involves
kernel initialization, Plug and Play activity, service start, logon, and Explorer (desktop) initialization.
The OS Initialization can be divided into four subphases. Each subphase has unique characteristics and
performance vulnerabilities. [1]
After you have taken a boot trace the different subphases are shown as follows in XPERFVIEW.EXE:
BOOTMGR eventually executes winload.exe, the system loader used to continue the
Windows boot process.
MBR (Master Boot Record) and GPT (GUID Partition Table) are two different ways of storing the
partitioning information on a drive. This information includes where partitions start and begin, so
your operating system knows which sectors belong to each partition and which partition is
bootable. This is why you have to choose MBR or GPT before creating partitions on a drive.
Windows can only boot from GPT on UEFI-based computers running 64-bit versions of
Windows 10, 8.1, 8, 7, Vista, and corresponding server versions. All versions of Windows 10,
8.1, 8, 7, and Vista can read GPT drives and use them for data they just cant boot from them
without UEFI
GPT:
- is not supported by WHS (Windows Home Server) backup
- It is associated with UEFI
- supports > 2 TiB partitions
- cannot be read by older versions of Windows
MBR:
- tops out at 2 TiB
- works with Win 2K --> Win 7 (in case you need to extract data after a system failure)
- works with WHS 2011 backup feature
Figure 1. Secure Boot, Trusted Boot, and Measured Boot block malware at
every stage
Secure Boot and Measured Boot are only possible on PCs with UEFI 2.3.1 and a TPM
chip. Fortunately, all PCs certified for use with Windows 8.1 have these components,
and many PCs designed for earlier versions of Windows have them, as well.
The sections that follow describe Secure Boot, Trusted Boot, ELAM, and Measured Boot.
It provides no security if the user logs in locally. The file and folder level
security permission does not exist.
It is not very reliable since it does not support bad cluster mapping.
It provides security for both local and remote users. The security is
provided to the level of files and folders.