This article relies too much on references to primary sources. Please improve this by adding secondary or tertiary sources. Find sources: "Windows Hardware Error Architecture" – news · newspapers · books · scholar · JSTOR (January 2016) (Learn how and when to remove this template message)

Windows Hardware Error Architecture (WHEA) is an operating system hardware error handling mechanism introduced with Windows Vista SP1 and Windows Server 2008 as a successor to Machine Check Architecture (MCA) on previous versions of Windows.[1] The architecture consists of several software components that interact with the hardware and firmware of a given platform to handle and notify regarding hardware error conditions.[2] Collectively, these components provide: a generic means of discovering errors, a common error report format for those errors, a way of preserving error records, and an error event model based up on Event Tracing for Windows (ETW).[3]

WHEA "builds on the PCI Express Advanced Reporting to provide more detailed information about system errors and a common reporting structure."[4]

WHEA allows third-party software to interact with the operating system and react to certain hardware events. For example, when a new CPU is added to a running system—a Windows Server feature known as Dynamic Hardware Partitioning—the hardware error component stack is notified that a new processor was installed.[5]

Linux supports the ACPI Platform Error Interface (APEI) which is introduced in ACPI 5.0.[6]


  1. ^ "Windows Hardware Error Architecture (WHEA) design guide". Microsoft Docs.
  2. ^ "Components of the Windows Hardware Error Architecture". Microsoft Docs.
  3. ^ "Introduction to the Windows Hardware Error Architecture". Microsoft Docs.
  4. ^ Sosinsky, Barrie (2008). Microsoft Windows Server 2008: Implementation and Administration. John Wiley & Sons. p. 11. ISBN 978-0470174593.
  5. ^ Mark E. Russinovich; David A. Solomon; Alex Ionescu (2009). Windows® Internals (Fifth ed.). p. 441. ISBN 978-0735625303.
  6. ^ "APEI Error INJection — The Linux Kernel documentation". Retrieved 2020-12-17.