Default Paths/Setup (UEFI)

This page contains the following sections -

Default System Setup

Windows will automatically partition a hard disk during the installation process if an unpartitioned hard disk is selected as the target drive for the operating system. The partition structure and location of the boot files will depend on the version of Windows that is being installed. To illustrate this, 64-bit versions of Windows Vista (SP1), Windows 7 (SP1) and Windows 8.1 were installed on a virtual machine with one unpartitioned disk. The following screenshots were captured from the respective operating system after the installation was complete -

Microsoft specifies the use of a Microsoft System Reserved (MSR) partition on systems configured with UEFI firmware on GPT disks. In all of the examples above it's the MSR partition that is missing from the Disk Manager display. As far as I am aware the UEFI specification does not require a MSR partition, however I'm unsure whether Windows will function fully without one.

The following output was obtained using the command line Diskpart tool to check for more detailed information about each partition on the Windows 8.1 installation -

UEFI Boot Process

The UEFI system boot menu is stored in NVRAM (Non-volatile Random Access Memory) - this is not the Windows boot menu, although a boot menu option for Windows will be added to it during the installation process. A UEFI system boot menu will typically contain entries for all disks/drives attached to the system.

For a GPT type hard disk to boot in UEFI mode it must contain an EFI System Partition - or ESP. The UEFI specification states that the ESP must be formatted with the FAT file system - either FAT12, FAT16 or FAT32.

GPT disks use Globally Unique Identifiers (GUID) for partitions - a ESP type partition will use the C12A7328-F81F-11D2-BA4B-00A0C93EC93B identifier.

Unlike BIOS firmware, UEFI firmware includes file system support - the UEFI specification designates support for FAT32 on fixed disks and FAT12/FAT16 on removable media. Support for additional file systems can be added by vendors. During the boot process the firmware will scan the selected disk for an EFI System Partition and will attempt to load the UEFI Boot Manager -

During the Windows installation process a boot menu option will be added to the UEFI system boot menu - the boot menu stored in NVRAM. On the test system this menu option (titled Windows Boot Manager) pointed to the \EFI\Microsoft\boot\bootmgfw.efi file on the EFI System Partition.

On Windows systems \EFI\boot\bootx64.efi (or \EFI\boot\bootia32.efi) is a copy of the Windows Boot Manager (bootmgfw.efi). During the installation of Windows 7 or 8, two identical copies of the Windows Boot Manager will be added to the EFI System Partition -

This appears to act as a fall-back - the UEFI system boot menu option for the Windows Boot Manager will load \EFI\Microsoft\boot\bootmgfw.efi, however if the UEFI system boot menu option for the hard disk is used then \EFI\boot\boot*.efi will be loaded.

The Windows Boot Loader will scan the BCD file for boot menu options and settings.

Note on Windows Vista - Windows Vista will not create a copy of bootmgfw.efi as \EFI\boot\boot*.efi. Attempting to boot the disk containing the Windows Vista installation directly from the UEFI System menu will therefore fail as the UEFI Specification is not adhered to (\EFI\boot\boot*.efi is missing). On Windows Vista systems the Windows Boot Manager option in the UEFI System Menu must be used.

Locating the BCD Store

The BCD store can be found at the following path in the EFI System Partition -

Due to hardware and time limitations I have not been able to check how the BCD store is handled on systems with multiple disks. My research indicates that Windows cannot handle more than one ESP on the same disk - at least not during installation anyway. There's no reason why individual disks cannot each contain an ESP, I'm just not sure how this is handled during Windows installation.

The ESP will probably need to be mounted in order to access it - Windows will not automatically allocate a mount point. The ESP can be mounted using the command-line diskpart tool. Example commands for mounting the second partition on disk 0 (the default setup when Windows 8.1 was installed in a VM - see above) -