Partager via


Guide pratique pour gérer la liste de mémoire d’analyse des défaillances prédictives (PFA)

Chaque fois qu’une analyse de défaillance prédictive (PFA) prédit qu’une page de mémoire ECC (Error Correction Code) est susceptible d’échouer en fonction des paramètres actuels du Registre PFA, PFA stocke (ou conserve) le numéro de cadre de page (PFN) de la page mémoire.

À compter de Windows version 19042, les pages de mémoire incorrectes sont stockées dans le Registre sous HKLM\SYSTEM\CurrentControlSet\Control\WHEA\BadPages. Dans les versions précédentes de Windows, ces informations sont stockées dans le magasin système des données de configuration de démarrage (BCD).

Cette liste contient les PFN pour toutes les pages de mémoire que le PFA a prédites comme étant susceptibles d’échouer. Au démarrage de Windows, il exclut ces pages de mémoire de l’utilisation du système.

Remarque

Il n’existe aucune norme industrielle pour mapper un PFN de mémoire physique à un module de mémoire physique spécifique. Par conséquent, WHEA ne peut pas fournir d’informations sur les modules de mémoire qui échouent.

Lorsque la mémoire système défaillante est remplacée, un administrateur système doit effacer cette liste manuellement en mettant à jour le Registre ou en utilisant l’outil en ligne de commande BCDEdit. Si la liste n’est pas effacée, Windows continue d’exclure les pages mémoire de la liste même si les modules de mémoire défaillants ont été remplacés.

Cette page décrit comment afficher et effacer les numéros de cadre de page des listes de mémoire défectueuse. Pour effectuer les étapes suivantes, vous aurez besoin d’une invite de commande élevée :

  1. Sélectionnez Démarrer, pointez sur Tous les programmes, puis sélectionnez Accessoires.
  2. Faites un clic droit sur Invite de commandes, puis sélectionnez Exécuter en tant qu’administrateur.
  3. Si la boîte de dialogue Contrôle de compte d’utilisateur s’affiche, sélectionnez Oui dans la boîte de dialogue.

Afficher les numéros de cadre de page (PFN) dans le registre

Pour afficher la liste actuelle des PFN dans le Registre système, exécutez la commande suivante à partir de votre invite de commandes avec élévation de privilèges :

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

Si aucune page de mémoire ECC n’est prédite pour échouer, la sortie de la commande reg apparaît comme dans l’exemple suivant :

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.

Si l'on prévoit que les pages de mémoire ECC échoueront, la clé de registre BadPages contient un bloc binaire qui encapsule les pages, comme illustré dans l'exemple suivant :

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

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

Vous pouvez utiliser PowerShell pour analyser les données du Registre et générer une liste à l’aide du script suivant :

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

Effacer les PFN du registre

Pour effacer la liste des PFN dans le magasin système BCD, utilisez la commande suivante :

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

Remarque Les modifications incorrectes apportées au Registre peuvent empêcher Windows de démarrer. Par conséquent, vous devez passer en revue attentivement les commandes et leurs résultats avant de redémarrer Windows.

Afficher la liste actuelle des PFN dans le magasin système BCD

Vous pouvez afficher et supprimer la liste des pages de mémoire enregistrées dans le magasin système BCD à l’aide de l’outil en ligne de commande BCDEdit. Consultez BCDEdit Command-Line Options pour obtenir la liste des options que vous pouvez utiliser.

Pour utiliser l’outil BCDEdit, vous devez être membre du groupe Administrateurs sur l’ordinateur.

Utilisez la commande suivante depuis votre invite de commande élevée :

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

Si aucune page de mémoire ECC n’est prédite pour échouer, la sortie de l’outil BCDEdit apparaît comme dans l’exemple suivant :

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

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

Si les pages de mémoire ECC sont prédites défaillantes, l’objet {badmemory} contient une valeur badmemorylist. Cette valeur contient la liste des PFN pour les pages de mémoire que PFA prévoit d’échouer, comme indiqué dans l’exemple suivant :

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

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

Effacer la liste actuelle des PFN du magasin système BCD

Pour effacer la liste des PFN dans le magasin système BCD, exécutez la commande suivante :

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

Remarque

Les modifications incorrectes apportées au magasin système BCD peuvent empêcher Windows de démarrer. Par conséquent, vous devez passer en revue attentivement les commandes et leurs résultats avant de redémarrer Windows.