United Extensible Firmware Interface (UEFI) firmware requirements
When the devices starts, the firmware interface controls the booting process of the PC, and then passes control to Windows or another operating system. UEFI is a replacement for the older BIOS firmware interface and the Extensible Firmware Interface (EFI) 1.10 specifications. More than 140 leading technology companies participate in the Unified EFI Forum, including AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft, and Phoenix Technologies.
Firmware that meets the UEFI 2.3.1 specifications provides the following benefits:
- Ability to support Windows 10 security features like Secure Boot, Microsoft Defender Credential Guard, and Microsoft Defender Exploit Guard. All require UEFI firmware.
- Faster boot and resume times.
- Ability to more easily support large hard drives (more than 2 terabytes) and drives with more than four partitions.
- Support for multicast deployment, which allows PC manufacturers to broadcast a PC image that can be received by multiple PCs without overwhelming the network or image server.
- Support for UEFI firmware drivers, applications, and option ROMs.
Media installation considerations
Boot and miminum security requirements
As the OEM, you must provide support for the features outlined in Windows Hardware Compatibility Program Specifications and Policies, specifically the following items that are divided into two groups: boot requirements and minimum security requirements.
UEFI Runtime requirements
Various versions of Windows require some or all of the following UEFI Runtime Services. It is recommended that they all be implemented for maximum compatibility:
Hibernation State (S4) transition requirements
Platform firmware must ensure that operating system physical memory is consistent across S4 sleep state transitions, in both size and location. Operating system physical memory is defined according to the ACPI 3.0 specification as any memory that is described by the firmware system address map interface with a memory type other than AddressRangeReserved , AddressRangeUnusable , or Undefined [any value greater than 5].
On a UEFI platform, firmware runtime memory must be consistent across S4 sleep state transitions, in both size and location. Runtime memory is defined according to the UEFI specification as any memory that is described by the GetMemoryMap() boot service, with the attribute EFI_MEMORY_RUNTIME.