Monday, 31 October 2016

How to check if you booted to WinPE via UEFI or MBR

If you have booted from a WinPE image, you can check what mode you have booted in (UEFI or MBR) using a small cmd script:


@echo off
wpeutil UpdateBootInfo > nul
color 1f
for /f "tokens=2* delims= " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
:: Note: delims is a TAB followed by a space.
if %Firmware%==0x1 echo WinPE booted in BIOS mode.
if %Firmware%==0x2 echo WinPE booted in UEFI mode.

You can use this script to determine what mode you have booted in (original source here).
The script only works in WinPE not Windows.

This code may be useful when you write a diskpart script for instance, and you need to know whether to partition a disk using GPT partitions or MBR partitions depending on how the user booted to WinPE initially.

The Report_UEFI_MBR_boot_mode.cmd script can be downloaded from the Alternate Downloads - Other files folder.