Cómo administrar la lista de memoria de análisis de errores predictivos (PFA)
Siempre que el análisis de errores predictivos (PFA) predice que es probable que se produzca un error en una página de memoria de código de corrección de errores (ECC) en función de la configuración actual del registro PFA, PFA almacena (o conserva) el número de marco de página (PFN) de la página de memoria.
A partir de la versión 19042 de Windows, las páginas de memoria incorrectas se almacenan en el Registro en HKLM\SYSTEM\CurrentControlSet\Control\WHEA\BadPages
.
En versiones anteriores de Windows, esta información se almacena en el almacén del sistema BCD.
Esta lista contiene los PFN para todas las páginas de memoria que el PFA ha predicho es probable que fallen. Cuando se inicia Windows, excluye estas páginas de memoria del uso del sistema.
Nota:
No hay ningún estándar del sector para asignar un PFN de memoria física a un módulo de memoria física específico. Por lo tanto, WHEA no puede proporcionar información sobre qué módulos de memoria están fallando.
Cuando se reemplaza la memoria del sistema con errores, un administrador del sistema debe borrar esta lista manualmente mediante la actualización del registro o mediante la herramienta de línea de comandos BCDEdit. Si no se borra la lista, Windows sigue excluyendo las páginas de memoria de la lista incluso si se han reemplazado los módulos de memoria con errores.
En esta página se describe cómo ver y borrar los números de marco de página de las listas de memoria incorrectas. Para realizar los pasos siguientes, necesitará un símbolo del sistema con privilegios elevados:
- Haga clic en Inicio, seleccione Todos los programas y, a continuación, haga clic en Accesorios.
- Haga clic con el botón derecho en el símbolo del sistema y seleccione Ejecutar como administrador.
- Si se muestra el cuadro de diálogo Control de cuentas de usuario, haga clic en Sí en el cuadro de diálogo.
Visualización de números de marco de página (PFN) en el Registro
Para ver la lista actual de PFN en el registro del sistema, ejecute el siguiente comando desde el símbolo del sistema con privilegios elevados:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages
Si no se predice un error en las páginas de memoria ECC, la salida del comando reg aparece como en el ejemplo siguiente:
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 se predice un error en las páginas de memoria ECC, la clave del Registro BadPages contiene un blob binario que encapsula las páginas, como se muestra en el ejemplo siguiente:
C:\Windows\system32>reg query "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WHEA
BadPages REG_BINARY 000000000000000058140280000000005C1B0280000000007C30038000000000E2BBFC8000000000AF52188000F00F00
Puede usar PowerShell para analizar los datos del Registro y generar una lista mediante el siguiente script:
$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
}
Borrado de PFN del registro
Para borrar la lista de PFN en el almacén del sistema BCD, use el siguiente comando:
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\WHEA" /v BadPages
Nota Los cambios incorrectos en el registro pueden impedir que Windows se inicie. Por lo tanto, debe revisar los comandos y sus resultados cuidadosamente antes de reiniciar Windows.
Visualización de la lista actual de PFN en el almacén del sistema BCD
Puede ver y eliminar la lista de páginas de memoria que se guardan en el almacén del sistema BCD mediante la herramienta de línea de comandos BCDEdit. Consulte Opciones de línea de comandos BCDEdit para obtener la lista de opciones que puede usar.
Para usar la herramienta BCDEdit, debe ser miembro del grupo Administradores en el equipo.
Use el siguiente comando desde un símbolo del sistema con privilegios elevados:
C:\Windows\system32>bcdedit /enum {badmemory}
Si no se predice un error en las páginas de memoria ECC, la salida de la herramienta BCDEdit aparece como en el ejemplo siguiente:
C:\Windows\system32>bcdedit /enum {badmemory}
RAM Defects
-----------
identifier {badmemory}
Si se predice un error en las páginas de memoria ECC, el objeto {badmemory} contiene un valor badmemorylist. Este valor contiene la lista de PFN para las páginas de memoria que PFA predice producirá un error, como se muestra en el ejemplo siguiente:
C:\Windows\system32>bcdedit /enum {badmemory}
RAM Defects
-----------
identifier {badmemory}
badmemorylist 0xffe38
0x100f
Borrado der la lista actual de PFN del almacén del sistema BCD
Para borrar la lista de PFN en el almacén del sistema BCD, ejecute el siguiente comando:
C:\Windows\system32>bcdedit /deletevalue {badmemory} badmemorylist
Nota:
Los cambios incorrectos en el almacén del sistema BCD pueden impedir que Windows se inicie. Por lo tanto, debe revisar los comandos y sus resultados cuidadosamente antes de reiniciar Windows.