ANAVEM
Languagefr
Server monitoring room displaying Windows Event Viewer with WHEA-Logger hardware error events
Event ID 17InformationWHEA-LoggerWindows

Windows Event ID 17 – WHEA-Logger: Hardware Error Architecture Corrected Error

Event ID 17 from WHEA-Logger indicates Windows Hardware Error Architecture detected and corrected a hardware error. This informational event helps track system stability and potential hardware degradation.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 March 20269 min read 0
Event ID 17WHEA-Logger 5 methods 9 min
Event Reference

What This Event Means

Windows Hardware Error Architecture (WHEA) represents Microsoft's comprehensive approach to hardware error detection and reporting, significantly enhanced in Windows 11 2024 updates and Windows Server 2025. Event ID 17 specifically indicates that WHEA successfully intercepted and corrected a hardware error before it could impact system operation or data integrity.

The architecture works by collecting error information from various hardware sources including processors with Machine Check Architecture (MCA), memory controllers with Error Correction Code (ECC) capabilities, and PCIe devices supporting Advanced Error Reporting (AER). When correctable errors occur, WHEA creates standardized error records containing detailed diagnostic information about the error source, type, and correction method applied.

These corrected errors typically include single-bit memory errors automatically fixed by ECC, CPU cache line corrections handled by internal error correction circuits, and PCIe transaction retries managed by link-layer protocols. While individually harmless, patterns in these events can reveal emerging hardware issues such as memory module degradation, thermal stress on processors, or signal integrity problems in high-speed interconnects.

The event record includes a Common Platform Error Record (CPER) structure containing hardware-specific details, error severity classifications, and timestamps. This standardized format enables consistent error analysis across different hardware platforms and facilitates integration with enterprise monitoring solutions and predictive maintenance systems.

Applies to

Windows 10Windows 11Windows Server 2019/2022/2025
Analysis

Possible Causes

  • ECC Memory Corrections: Single-bit errors in system RAM automatically corrected by Error Correction Code mechanisms
  • CPU Cache Errors: Processor internal cache parity or ECC corrections in L1, L2, or L3 cache levels
  • PCIe Link Recovery: Automatic retry and recovery of failed PCIe transactions due to signal integrity issues
  • Thermal Management: Hardware throttling or error correction triggered by temperature-related component stress
  • Power Supply Fluctuations: Voltage regulation errors corrected by hardware power management circuits
  • Chipset Error Correction: Northbridge, southbridge, or integrated controller hub internal error corrections
  • Storage Controller Recovery: SATA, NVMe, or RAID controller automatic error correction and retry mechanisms
Resolution Methods

Troubleshooting Steps

01

Analyze Event Details in Event Viewer

Start by examining the specific error details to understand the hardware component and error type involved.

  1. Open Event Viewer by pressing Win + R, typing eventvwr.msc, and pressing Enter
  2. Navigate to Windows LogsSystem
  3. Filter the log by clicking Filter Current Log in the Actions pane
  4. Enter 17 in the Event IDs field and select WHEA-Logger as the Event source
  5. Double-click on Event ID 17 entries to view detailed information
  6. Examine the General tab for error description and the Details tab for technical data
  7. Look for patterns in timing, frequency, and affected hardware components
  8. Note the Error Source field which identifies the specific hardware component (processor, memory, PCIe device)
Pro tip: Export filtered results to CSV for trend analysis by right-clicking the filtered view and selecting Save Filtered Log File As.
02

PowerShell Analysis and Correlation

Use PowerShell to extract and analyze WHEA events programmatically for pattern identification and correlation.

  1. Open PowerShell as Administrator
  2. Query recent WHEA-Logger Event ID 17 entries:
    Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17} -MaxEvents 50 | Select-Object TimeCreated, Id, LevelDisplayName, Message | Format-Table -Wrap
  3. Analyze error frequency over time:
    $Events = Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17} -MaxEvents 200
    $Events | Group-Object {$_.TimeCreated.Date} | Select-Object Name, Count | Sort-Object Name
  4. Extract detailed error information:
    Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17} -MaxEvents 10 | ForEach-Object {
        [xml]$EventXML = $_.ToXml()
        $EventXML.Event.EventData.Data | Where-Object {$_.Name -eq 'ErrorSource'}
    }
  5. Create a summary report:
    $WHEAEvents = Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17} -MaxEvents 100
    $WHEAEvents | Group-Object Message | Select-Object Name, Count | Sort-Object Count -Descending
Warning: High frequency of Event ID 17 (more than 10 per day) may indicate failing hardware requiring immediate attention.
03

Hardware Diagnostics and Memory Testing

Perform comprehensive hardware diagnostics to identify the root cause of correctable errors.

  1. Run Windows Memory Diagnostic:
    mdsched.exe
  2. Schedule the test and restart the system when prompted
  3. After restart, check results in Event Viewer under Windows LogsSystem, filtering for source MemoryDiagnostics-Results
  4. For advanced memory testing, use command-line memory diagnostic:
    bcdedit /set {memdiag} memorytestreboot on
    shutdown /r /t 0
  5. Check system temperature and hardware status:
    Get-WmiObject -Namespace "root/wmi" -Class MSAcpi_ThermalZoneTemperature | Select-Object InstanceName, @{Name="Temperature";Expression={($_.CurrentTemperature/10)-273.15}}
  6. Verify ECC memory configuration in System Information:
    Get-WmiObject -Class Win32_PhysicalMemory | Select-Object BankLabel, Capacity, DataWidth, TotalWidth, TypeDetail
  7. Run hardware vendor diagnostics if available (Dell SupportAssist, HP Support Assistant, Lenovo Vantage)
04

Registry Analysis and WHEA Configuration

Examine WHEA configuration and error reporting settings to optimize hardware error detection and reporting.

  1. Check WHEA policy configuration in Registry Editor:
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\WHEA\Policy"
  2. Verify error reporting is enabled:
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting" -Name "Disabled"
  3. Check Machine Check Architecture (MCA) settings:
    Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "MoveImages"
  4. Review WHEA error source configuration:
    Get-ChildItem -Path "HKLM:\SYSTEM\CurrentControlSet\Control\WHEA\ErrorSourceOverrides" -Recurse
  5. Enable detailed WHEA logging if needed:
    wevtutil sl Microsoft-Windows-WHEA-Logger/Operational /e:true
    wevtutil sl Microsoft-Windows-Kernel-WHEA/Operational /e:true
  6. Verify system event log size is adequate:
    Get-WinEvent -ListLog System | Select-Object LogName, MaximumSizeInBytes, RecordCount
Pro tip: Enable WHEA operational logs for more detailed hardware error analysis, but monitor log sizes as they can grow rapidly on systems with frequent correctable errors.
05

Advanced Correlation and Predictive Analysis

Implement comprehensive monitoring and correlation to predict hardware failures before they occur.

  1. Create a PowerShell monitoring script for continuous WHEA tracking:
    $LogPath = "C:\WHEAMonitoring\WHEA_$(Get-Date -Format 'yyyyMMdd').csv"
    Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA 'Win32_NTLogEvent' AND TargetInstance.LogFile = 'System' AND TargetInstance.EventCode = 17" -Action {
        $Event = $Event.SourceEventArgs.NewEvent.TargetInstance
        "$($Event.TimeGenerated),$($Event.EventCode),$($Event.Message)" | Out-File -FilePath $LogPath -Append
    }
  2. Set up performance counter monitoring for hardware health:
    Get-Counter "\Memory\Corrected Hardware Errors/sec", "\Processor(_Total)\% Processor Time", "\System\Processor Queue Length" -Continuous -SampleInterval 60
  3. Correlate WHEA events with system performance:
    $StartTime = (Get-Date).AddDays(-7)
    $WHEAEvents = Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17; StartTime=$StartTime}
    $SystemEvents = Get-WinEvent -FilterHashtable @{LogName='System'; Id=1074,6008,41; StartTime=$StartTime}
    # Analyze temporal correlation between hardware errors and system events
  4. Generate predictive maintenance reports:
    $ErrorTrend = $WHEAEvents | Group-Object {$_.TimeCreated.Date} | Select-Object @{Name='Date';Expression={$_.Name}}, @{Name='ErrorCount';Expression={$_.Count}}
    $ErrorTrend | Export-Csv -Path "C:\Reports\WHEA_Trend_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
  5. Configure automated alerting for error threshold breaches:
    $Threshold = 5
    $DailyErrors = (Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='Microsoft-Windows-WHEA-Logger'; Id=17; StartTime=(Get-Date).Date}).Count
    if ($DailyErrors -gt $Threshold) {
        # Send alert via email or SCOM
        Write-EventLog -LogName Application -Source "WHEA Monitor" -EventId 1001 -EntryType Warning -Message "Daily WHEA errors exceeded threshold: $DailyErrors"
    }

Overview

Event ID 17 from the Windows Hardware Error Architecture Logger (WHEA-Logger) fires when the system successfully detects and corrects a hardware error. This event represents Windows' proactive hardware monitoring capabilities, introduced to provide better visibility into system health and potential component degradation.

WHEA operates at the kernel level, interfacing directly with hardware error reporting mechanisms built into modern processors, memory controllers, and chipsets. When correctable errors occur—such as single-bit ECC memory corrections, CPU cache parity fixes, or PCIe link recovery—WHEA logs these events to help administrators track system stability trends.

Unlike critical hardware failures that trigger blue screens, Event ID 17 represents successful error correction. However, frequent occurrences can indicate deteriorating hardware that may eventually fail. The event appears in the System log and includes detailed error records with source information, error types, and correction mechanisms used.

This event is particularly valuable in enterprise environments where proactive hardware monitoring prevents unexpected downtime. System administrators use these logs to schedule maintenance, replace aging components, and correlate performance issues with underlying hardware problems.

Frequently Asked Questions

What does Windows Event ID 17 from WHEA-Logger indicate?+
Event ID 17 from WHEA-Logger indicates that Windows Hardware Error Architecture successfully detected and corrected a hardware error. This is an informational event showing that error correction mechanisms (like ECC memory, CPU cache correction, or PCIe retry) functioned properly. While the immediate error was resolved, frequent occurrences may signal deteriorating hardware that requires monitoring or replacement.
Should I be concerned about frequent Event ID 17 occurrences?+
Occasional Event ID 17 entries are normal and indicate healthy error correction systems. However, frequent occurrences (more than 10 per day) warrant investigation. Patterns of increasing frequency, errors from the same hardware component, or correlation with system performance issues suggest potential hardware degradation. Monitor trends over time and consider proactive hardware replacement if error rates continue climbing.
How can I identify which hardware component is causing Event ID 17?+
Examine the event details in Event Viewer or use PowerShell to extract the ErrorSource field from the event XML. Common sources include 'Processor' for CPU-related corrections, 'Memory' for ECC corrections, and 'PCIe' for bus-related errors. Cross-reference with hardware diagnostic tools and check if errors correlate with specific system activities or environmental conditions like temperature changes.
Can Event ID 17 lead to system crashes or data corruption?+
Event ID 17 represents successfully corrected errors, so immediate system stability and data integrity are maintained. However, these events indicate that uncorrectable errors may occur in the future as hardware degrades. ECC memory corrections prevent data corruption, CPU cache corrections maintain processing accuracy, and PCIe retries ensure reliable data transmission. Monitor trends to prevent progression to uncorrectable errors.
How do I configure WHEA logging and error reporting for better monitoring?+
Enable detailed WHEA logging using 'wevtutil sl Microsoft-Windows-WHEA-Logger/Operational /e:true' and 'wevtutil sl Microsoft-Windows-Kernel-WHEA/Operational /e:true'. Configure adequate System log sizes to prevent event loss. Set up automated PowerShell monitoring scripts to track error frequency and patterns. Consider integrating with enterprise monitoring solutions like SCOM or third-party tools for centralized hardware health tracking across multiple systems.
Documentation

References (2)

Emanuel DE ALMEIDA
Written by

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Share your thoughts and insights

You must be logged in to comment.

Loading comments...