Condividi tramite


Come gestire l'elenco delle memorie PFA (Predictive Failure Analysis)

Ogni volta che l'Analisi Predittiva degli Errori (PFA) prevede che una pagina di memoria ECC (Error Correction Code) stia per fallire in base alle impostazioni attuali del Registro di sistema PFA, PFA memorizza (o persiste) il numero del frame di pagina (PFN) per la pagina di memoria.

A partire da Windows versione 19042, le pagine di memoria danneggiata vengono archiviate nel Registro di sistema in HKLM\SYSTEM\CurrentControlSet\Control\WHEA\BadPages. Nelle versioni precedenti di Windows queste informazioni vengono archiviate nell'archivio di sistema dei dati di configurazione di avvio (BCD).

Questo elenco contiene i PFN per tutte le pagine di memoria che il PFA ha previsto potrebbero fallire. All'avvio di Windows, esclude queste pagine di memoria dall'uso del sistema.

Nota

Non esiste uno standard di settore per la mappatura di un PFN di memoria fisica a un modulo di memoria fisica specifico. Di conseguenza, WHEA non può fornire informazioni su quali moduli di memoria hanno esito negativo.

Quando la memoria di sistema che presenta problemi viene sostituita, un amministratore di sistema deve cancellare questo elenco manualmente aggiornando il Registro di sistema o usando lo strumento da riga di comando BCDEdit. Se l'elenco non viene cancellato, Windows continua a escludere le pagine di memoria nell'elenco anche se i moduli di memoria difettosi sono stati sostituiti.

Questa pagina descrive come visualizzare e cancellare i numeri di frame di pagina dagli elenchi di memoria danneggiata. Per eseguire i passaggi seguenti, è necessario un prompt dei comandi con privilegi elevati:

  1. Selezionare Start, scegliere Tutti i programmie quindi selezionare Accessori.
  2. Fare clic con il tasto destro su Prompt dei comandi e selezionare Esegui come amministratore.
  3. Se viene visualizzata la finestra di dialogo Controllo account utente, selezionare nella finestra di dialogo.

Visualizzazione dei numeri di frame di pagina (PFN) nel Registro di sistema

Per visualizzare l'elenco corrente dei PFN nel registro di sistema, eseguire il comando seguente dal prompt dei comandi con privilegi elevati:

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

Se non si prevede che alcuna pagina di memoria ECC fallisca, l'output del comando reg viene visualizzato come nell'esempio seguente.

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.

Se si prevede un guasto delle pagine di memoria ECC, la chiave del Registro di sistema BadPages contiene una struttura dati binaria che le incapsula, come illustrato nell'esempio seguente.

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

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

È possibile usare PowerShell per analizzare i dati del Registro di sistema e restituire un elenco usando lo script seguente:

$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
}

Cancellazione dei PFN dal Registro di sistema

Per cancellare l'elenco dei PFN nell'archivio di sistema BCD, usare il comando seguente:

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

Nota Modifiche non riuscite al Registro di sistema possono impedire l'avvio di Windows. Pertanto, è necessario esaminare attentamente i comandi e i relativi risultati prima di riavviare Windows.

Visualizzazione dell'elenco corrente di PFN nell'archivio di sistema BCD

È possibile visualizzare ed eliminare l'elenco delle pagine di memoria salvate nell'archivio di sistema BCD usando lo strumento da riga di comando BCDEdit. Per l'elenco delle opzioni che puoi usare, vedere BCDEdit Command-Line Opzioni.

Per usare lo strumento BCDEdit, è necessario essere membri del gruppo Amministratori su questo computer.

Utilizzare il comando seguente dal prompt di comandi con privilegi elevati:

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

Se non sono previste pagine di memoria ECC che falliranno, l'output dello strumento BCDEdit appare come nell'esempio seguente:

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

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

Se si prevede un guasto delle pagine di memoria ECC, l'oggetto {badmemory} contiene un valore badmemorylist. Questo valore contiene l'elenco di PFN per le pagine di memoria che PFA prevede possano fallire, come illustrato nell'esempio seguente:

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

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

Cancellazione dell'elenco attuale di PFN dall'archivio del sistema BCD

Per cancellare l'elenco di PFN nello store del sistema BCD, eseguire il comando seguente:

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

Nota

Le modifiche improprie all'archivio del sistema BCD possono impedire l'avvio di Windows. Pertanto, è necessario esaminare attentamente i comandi e i relativi risultati prima di riavviare Windows.