So verwalten Sie die Speicherliste für die vorausschauende Fehleranalyse (PFA)

Immer wenn die Predictive Failure Analysis (PFA) vorhersagt, dass eine ECC-Speicherseite (Error Correction Code) auf der Grundlage der aktuellen PFA-Registrierungseinstellungen wahrscheinlich ausfällt, speichert PFA (oder besteht) die Speicherseitenummern (Page Frame Number, PFN) für die Speicherseite.

Ab Windows Version 19042 werden fehlerhafte Speicherseiten in der Registrierung unter HKLM\SYSTEM\CurrentControlSet\Control\WHEA\BadPagesgespeichert. In früheren Versionen von Windows werden diese Informationen im BCD-Systemspeicher (Boot Configuration Data) gespeichert.

Diese Liste enthält die PFNs für alle Speicherseiten, für die die PFA einen Ausfall vorhergesagt hat. Beim Starten von Windows werden diese Speicherseiten von der Systemverwendung ausgeschlossen.

Anmerkung

Es gibt keinen Branchenstandard für die Zuordnung eines physischen Speicher-PFN zu einem bestimmten physischen Speichermodul. Daher kann WHEA keine Informationen darüber bereitstellen, welche Speichermodule fehlschlagen.

Wenn der fehlerhafte Systemspeicher ersetzt wird, muss ein Systemadministrator diese Liste manuell löschen, indem die Registrierung aktualisiert oder das Befehlszeilentool BCDEdit verwendet wird. Wenn die Liste nicht gelöscht wird, schließt Windows die Speicherseiten in der Liste weiterhin aus, auch wenn die fehlerhaften Speichermodule ersetzt wurden.

Auf dieser Seite wird beschrieben, wie Sie die Seitennummern in den Listen der fehlerhaften Arbeitsspeicher anzeigen und löschen können. Um die folgenden Schritte auszuführen, benötigen Sie eine erweiterte Eingabeaufforderung:

  1. Wählen Sie Start, zeigen Sie auf Alle Programme und wählen Sie dann Zubehör.
  2. Wählen Sie mit der rechten Maustaste Eingabeaufforderung und wählen Sie Als Administrator ausführen.
  3. Wenn das Dialogfeld "Benutzerkontensteuerung" angezeigt wird, wählen Sie im Dialogfeld Ja aus.

Anzeigen von Speicherseitenummern (Page Frame Numbers, PFNs) in der Registrierung

Um die aktuelle Liste der PFNs in der Registrierung des Systems anzuzeigen, führen Sie den folgenden Befehl von Ihrer erweiterten Eingabeaufforderung aus:

reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

Wenn keine ECC-Speicherseiten für einen Ausfall vorhergesagt werden, erscheint die Ausgabe des reg-Befehls wie im folgenden Beispiel:

C:\Windows\system32>reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages


ERROR: The system was unable to find the specified registry key or value.

Wenn ein Ausfall von ECC-Speicherseiten vorhergesagt wird, enthält der Registrierungsschlüssel BadPages einen binären Blob, der die Seiten kapselt, wie im folgenden Beispiel dargestellt:

C:\Windows\system32>reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA
    BadPages    REG_BINARY    000000000000000058140280000000005C1B0280000000007C30038000000000E2BBFC8000000000AF52188000F00F00

Sie können PowerShell verwenden, um die Registrierungsdaten zu analysieren und eine Liste mithilfe des folgenden Skripts auszugeben:

$whea = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\WHEA"
$pages = $whea.BadPages
$idx = 0
while($idx -le $pages.Count) {
    $slice = $pages[$idx..($idx+7)]
    [array]::Reverse($slice)
    $page = (($slice | foreach { $_.ToString("X2") }) -join "")
    Write-Output $page
    $idx = $idx + 8
}

Löschen von PFNs aus der Registrierung

Verwenden Sie den folgenden Befehl, um die Liste der PFNs im BCD-Systemspeicher zu löschen:

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages

Hinweis Fehlerhafte Änderungen an der Registrierung verhindern können, dass Windows gestartet wird. Daher müssen Sie die Befehle und deren Ergebnisse sorgfältig überprüfen, bevor Sie Windows neu starten.

Anzeigen der aktuellen Liste der PFNs im BCD System Store

Sie können die Liste der Speicherseiten anzeigen und löschen, die im BCD-Systemspeicher gespeichert werden, indem Sie das Befehlszeilentool BCDEdit verwenden. Eine Liste der Optionen, die Sie verwenden können, finden Sie unter BCDEdit Kommandozeilen-Optionen.

Um das BCDEdit-Tool zu verwenden, müssen Sie Mitglied der Gruppe "Administratoren" auf dem Computer sein.

Verwenden Sie den folgenden Befehl von Ihrer erweiterten Eingabeaufforderung aus:

C:\Windows\system32>bcdedit /enum {badmemory}

Wenn keine ECC-Speicherseiten als fehlerhaft vorhergesagt werden, erscheint die Ausgabe des BCDEdit Tools wie im folgenden Beispiel:

C:\Windows\system32>bcdedit /enum {badmemory}

RAM Defects
-----------
identifier              {badmemory}

Wenn ein Ausfall von ECC-Speicherseiten vorhergesagt wird, enthält das {badmemory}-Objekt einen badmemorylist-Wert. Dieser Wert enthält die Liste der PFNs für die Speicherseiten, für die PFA einen Ausfall vorhersagt, wie im folgenden Beispiel dargestellt:

C:\Windows\system32>bcdedit /enum {badmemory}

RAM Defects
-----------
identifier              {badmemory}
badmemorylist           0xffe38
                        0x100f

Löschen der aktuellen Liste der PFNs aus dem BCD System Store

Führen Sie den folgenden Befehl aus, um die Liste der PFNs im BCD-Systemspeicher zu löschen:

C:\Windows\system32>bcdedit /deletevalue {badmemory} badmemorylist

Anmerkung

Falsche Änderungen am BCD-Systemspeicher können verhindern, dass Windows gestartet wird. Daher müssen Sie die Befehle und deren Ergebnisse sorgfältig überprüfen, bevor Sie Windows neu starten.