Windows Server 2019: BSOD SYSTEM\THREAD\EXCEPTION\NOT\HANDLED (0x0000007E) tras ampliar RAID en Dell PowerEdge — diagnóstico y solución

Tras ampliar un RAID‑6 en un Dell PowerEdge 740XD, un Windows Server 2019 empieza a caer con BSOD 0x0000007E (SYSTEMTHREADEXCEPTIONNOTHANDLED) al minuto de iniciar. Aquí tienes un plan probado para contener, diagnosticar y corregir el problema sin tocar el RAID del sistema.

Índice

Resumen del caso

Escenario real: servidor Dell PowerEdge 740XD con Windows Server 2019. Se amplía un grupo RAID‑6 (se añaden 8 discos para un total de 24). El sistema operativo reside en un RAID‑1 independiente que no se modifica. Tras completar la sincronización en el controlador y extender la unidad de datos D: desde Windows, el servidor funciona 24 horas; después, comienzan BSOD recurrentes durante el arranque normal, mientras que en Modo seguro el sistema inicia sin errores. Firmware al día y diagnósticos de hardware sin fallos. Código de detención: 0x0000007E — SYSTEMTHREADEXCEPTIONNOTHANDLED.

La correlación temporal (BSOD tras la expansión) y el hecho de que Modo seguro funcione apuntan a un driver o servicio de terceros que sólo se carga en arranque normal, con alta probabilidad en la ruta de E/S: miniport Storport/RAID (PERC), filtros de copia de seguridad (p.ej., Veeam), antivirus/EDR o utilidades de monitorización del fabricante (OpenManage/iSM).

Causa probable y por qué aparece tras ampliar el RAID

El error 0x7E indica que un subproceso del kernel lanzó una excepción no controlada. En servidores con volúmenes grandes, la combinación de storport.sys + miniport del controlador (PERC/HBA) + filtros de sistema de archivos (backup/AV/EDR) es crítica. Al extender un volumen y aumentar el paralelismo/colas de E/S, pueden manifestarse:

  • Razas o accesos inválidos en drivers de almacenamiento bajo carga.
  • Filtros de archivo (backup/AV) que asumen límites anteriores de tamaño/LBA y fallan cuando cambian.
  • Interacciones entre utilidades de monitorización y eventos de Plug and Play tras reenumerar discos.

Que el sistema arranque en Modo seguro confirma que el núcleo y el hardware están estables; el culpable se carga sólo en arranque normal.

Plan de acción rápido

  1. Arranca en Modo seguro con red.
  2. Desactiva el reinicio automático para leer el módulo que falla en la pantalla azul y habilita minidumps.
  3. Realiza un arranque limpio (deshabilita servicios de terceros e inicio) y prueba en arranque normal.
  4. Actualiza o retrocede el driver del controlador PERC/HBA a una versión estable para Windows Server 2019.
  5. Actualiza y, como prueba, detén temporalmente servicios de backup (p.ej., Veeam) y antivirus/EDR.
  6. Revisa Visor de eventos y analiza minidumps con WinDbg para confirmar el módulo.
  7. Ejecuta SFC/DISM/CHKDSK y pruebas de estrés controladas (copia masiva en D:).
  8. Valida: sin nuevos BSOD ni errores críticos de almacenamiento durante varias horas de carga.

Contención y captura de evidencias

Mostrar “Qué falló” y garantizar volcados

  • En Modo seguro: Panel de control → Sistema → Configuración avanzada del sistema → Inicio y recuperación:
    • Desmarcar Reiniciar automáticamente.
    • Volcado: Volcado de memoria del kernel.

También desde consola elevada:

wmic RECOVEROS set AutoReboot = False
wmic RECOVEROS set DebugInfoType = 2
wmic pagefile set InitialSize=4096,MaximumSize=4096

Verifica que existan minivolcados en C:\Windows\Minidump tras el próximo BSOD.

Visor de eventos: qué buscar

  • Registros de Windows → Sistema:
    • Errores/Críticos próximos al BSOD: controladores, storport, disk, ntfs.
    • Eventos 129/153 (reinicios/latencias de disco), 11/15 (disk), 55 (NTFS), 51 (disk I/O).
  • Aplicación:
    • Errores de VSS, servicios de backup o utilidades de Dell.

Consulta rápida con PowerShell:

Get-WinEvent -LogName System -MaxEvents 300 |
  Where-Object { $_.LevelDisplayName -in 'Error','Critical' } |
  Select-Object TimeCreated, Id, ProviderName, Message | Format-Table -Auto

Get-WinEvent -LogName Application -MaxEvents 300 |
Where-Object { $\_.LevelDisplayName -in 'Error','Critical' } |
Select-Object TimeCreated, Id, ProviderName, Message | Format-Table -Auto 

Minidumps: primeros auxilios con WinDbg

Instala el SDK de Windows en una estación de trabajo y abre el dmp:

!analyze -v
lmvm nombredeldriver_sospechoso
kv
!thread
!irp

Si el análisis apunta a un módulo de terceros (p.ej., percsasX.sys, veeamfltr.sys, edrdriver.sys, omdrivers.sys), concéntrate en ese componente.

Aislar el componente culpable

Arranque limpio paso a paso

  1. En Modo seguro, ejecuta msconfig.
  2. Pestaña Servicios → marca Ocultar todos los servicios de MicrosoftDeshabilitar todo.
  3. Pestaña InicioAbrir el Administrador de tareas → deshabilita todos los elementos de inicio.
  4. Reinicia en modo normal.

Si no hay BSOD, vuelve a habilitar por lotes temáticos (backup, utilidades Dell, antivirus/EDR, otros) hasta reproducir el fallo; habrás aislado al culpable.

Identifica filtros y controladores de almacenamiento

fltmc filters
sc query type= driver state= all | findstr /i "stor port disk percsas hba"
pnputil /enum-drivers | findstr /i /c:"PERC" /c:"HBA" /c:"storport"

Registra nombre, versión, fecha y proveedor del driver de RAID/HBA y de los filtros de archivo. Compara con la versión recomendada para Server 2019 en tu plataforma.

Correcciones probables

Controlador del RAID/HBA (PERC)

  • Actualiza el driver de Windows del controlador PERC/HBA a una versión certificada para Windows Server 2019. No basta con tener firmware al día; el miniport de Windows puede tener correcciones específicas.
  • Si ya estás en la última, retrocede una versión conocida estable (roll back) y prueba bajo carga.
  • Tras cambiar el driver, reinicia y fuerza I/O en la unidad D: (copias grandes, verificador de integridad).

Comandos útiles:

devmgmt.msc   <!-- revisar Controladoras de almacenamiento -->
pnputil /enum-drivers
pnputil /add-driver C:\Drivers\PERC\*.inf /install
pnputil /delete-driver oemXX.inf /uninstall /force

Software de copia de seguridad (ej. Veeam)

  • Actualiza a la última build y parches (agente y servidor).
  • Como prueba, detén y deshabilita temporalmente servicios y planificadores relacionados:
ServicioDescripción
Veeam Agent for Microsoft WindowsControl del agente de backup
Veeam Backup Service / Broker / TransportComponentes de orquestación y transporte
Veeam Mount ServiceMontaje de puntos de recuperación
sc stop VeeamEndpointBackupSvc
sc stop VeeamTransportSvc
sc stop VeeamBrokerSvc
sc stop VeeamMountSvc
sc config VeeamEndpointBackupSvc start= disabled

Si con estos servicios detenidos ya no hay BSOD, revisa y actualiza los controladores/filtros que instalan (p.ej., capturas de cambio de bloque) antes de reactivarlos.

Utilidades del fabricante (OpenManage, iDRAC Service Module)

  • Asegúrate de usar versiones compatibles con tu firmware. Las utilidades obsoletas pueden engancharse a rutas de E/S o sensores del PERC.
  • Como prueba A/B, desinstala temporalmente OpenManage e iDRAC Service Module, reinicia y valora estabilidad.

Antivirus/EDR y otros filtros del sistema de archivos

  • Actualiza a la última versión (motor y drivers). Deshabilitar sólo la consola no siempre quita el driver del kernel.
  • Usa fltmc unload NOMBRE para pruebas controladas (cuando el proveedor lo permita).

Controladores de almacenamiento y disco en Windows

  • En Administrador de dispositivos, revisa Controladoras de almacenamiento y Unidades de disco: fechas y versiones coherentes.
  • Evita mezclas de drivers no validadas (p.ej., inbox vs. OEM) salvo prueba consciente.

Integridad del sistema y del sistema de archivos

Ejecuta en consola elevada:

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
chkdsk C: /scan
chkdsk D: /scan

Si chkdsk reporta correcciones pendientes, agenda reparación en el próximo reinicio.

Opciones de BIOS/UEFI y controlador

  • No cambies Memory caching/shadowing salvo indicación del fabricante.
  • Verifica políticas de caché del PERC (Write Back con BBU, tamaño de stripe, read ahead). No debería causar 0x7E, pero un ajuste agresivo puede aumentar la presión de E/S y exponer bugs de driver.

Validaciones tras el arreglo

  • Monitorea 2–4 horas de carga real (copias o tareas de backup) sin BSOD ni errores de almacenamiento en el Visor de eventos.
  • Comprueba que no aparezcan eventos 129/153/51/11/15 ni errores de NTFS.
  • Ejecuta una copia de seguridad completa y una restauración de prueba.
  • Confirma que el driver del PERC y los filtros vuelven a estado habilitado y actualizado sin incidencias.

Tabla de síntomas y acciones recomendadas

SíntomaAcción inmediataCorrección sugerida
BSOD 0x7E a los 30–90 s del inicioArranque limpio; deshabilitar servicios de tercerosActualizar/retroceder driver PERC; revisar filtros backup/AV
BSOD sólo durante backupsDetener servicios de backupActualizar agente y controlador CBT; revisar VSS
Modo seguro estableRegistrar drivers de terceros activos (fltmc, sc query)Rehabilitar por lotes hasta aislar culpable
Eventos 129/153 en SistemaRevisar colas de E/S y firmwareDriver PERC estable + revisar cables/backplane si aplica
Sin dumps generadosConfigurar volcado de kernel y pagefileReproducir fallo y analizar minidump

Script rápido de diagnóstico (PowerShell)

Úsalo en Modo seguro (o normal si es estable) para recopilar datos clave en C:\Temp\BSOD-0x7E:

$out = 'C:\Temp\BSOD-0x7E'; New-Item -ItemType Directory -Force -Path $out | Out-Null

Get-ComputerInfo | Out-File "\$out\ComputerInfo.txt"
Get-WinEvent -LogName System -MaxEvents 2000 | Export-Clixml "\$out\System.evtx.xml"
Get-WinEvent -LogName Application -MaxEvents 2000 | Export-Clixml "\$out\Application.evtx.xml"

'=== DRIVERS DE ALMACENAMIENTO Y FILTROS ===' | Out-File "\$out\Storage.txt"
fltmc filters | Out-String | Add-Content "\$out\Storage.txt"
sc.exe query type= driver state= all | Out-String | Add-Content "\$out\Storage.txt"
pnputil /enum-drivers | Out-String | Add-Content "\$out\Storage.txt"

'=== DISKPART LIST DISK/VOLUME ===' | Out-File "\$out\Disks.txt"
\$dp = @"
list disk
list volume
exit
"@
\$dp | diskpart | Out-String | Add-Content "\$out\Disks.txt"

Copy-Item C:\Windows\Minidump\*.dmp -Destination \$out -ErrorAction SilentlyContinue
Write-Host "Listo. Carpeta con evidencias: \$out" 

Buenas prácticas para diagnosticar BSOD en servidores

  • Configura volcado de memoria del kernel y verifica espacio suficiente del pagefile en C:.
  • Mantén un registro de cambios (drivers/servicios actualizados o reactivados) para correlacionar con el momento del fallo.
  • Aplica cambios de drivers en ventanas de mantenimiento y con copia/imagen reciente.
  • Evita múltiples cambios simultáneos: una variable a la vez para aislar efectos.
  • Si usas Driver Verifier, hazlo de forma acotada y en horario controlado; puede empeorar la inestabilidad.

Lecciones aprendidas y prevención

  • Antes de extender grandes volúmenes, valida en ambiente de pruebas versiones de driver/backup/AV y realiza una ejecución de estrés de E/S.
  • Mantén una matriz de compatibilidad entre firmware, driver del PERC/HBA, utilidades del fabricante y software de copia de seguridad.
  • Planifica monitoreo intensivo las 48–72 h posteriores a la expansión: eventos 129/153, latencias, colas.
  • Documenta procedimientos de reversión (rollback de drivers) y conserva paquetes de drivers estables.

Preguntas frecuentes

¿Puede ser hardware aunque los diagnósticos pasen?
Es menos probable, dado que Modo seguro funciona y el fallo ocurre en ruta de drivers. Aun así, vigila eventos 129/153 y realiza inspección física si persisten (cables/backplane/slots).

¿Qué pasa si no se generan dumps?
Asegura volcado de kernel, pagefile en C:, y desactiva el reinicio automático. Si persiste, considera volcado completo en una reproducción controlada.

¿Debo reinstalar Windows?
No es el primer paso. En la mayoría de casos el problema se resuelve corrigiendo el driver o servicio conflictivo (PERC/backup/AV/monitorización).

¿Puedo seguir operando sin OpenManage o el agente de backup?
Sólo temporalmente para aislar. Una vez identificado el culpable, actualiza/ajusta y vuelve a habilitarlos.

Criterio de éxito

  • El servidor inicia en modo normal sin BSOD.
  • Sin nuevos errores críticos en el Visor de eventos bajo carga (especialmente durante trabajos de backup).
  • Controladores clave de RAID/almacenamiento en versiones compatibles y estables.
  • Se completan correctamente pruebas de copia/restauración y transferencias masivas en D:.

Resumen ejecutivo

Todo apunta a un driver —frecuentemente en la cadena de RAID/almacenamiento, backup o monitorización— que falla sólo en arranque normal tras la ampliación del volumen. Aísla con arranque limpio, actualiza o retrocede el driver del PERC y los componentes de Veeam/OMSA, valida con minidumps y eventos. Con hardware descartado, la corrección vendrá casi seguro de drivers/servicios.


Checklist operativo sugerido

  1. Configura dump de kernel y desactiva reinicio automático.
  2. Arranca limpio y valida arranque normal sin BSOD.
  3. Actualiza/retrocede driver PERC y prueba bajo carga.
  4. Actualiza/detén temporalmente backup y AV/EDR; reintroduce uno por vez.
  5. Pasa SFC/DISM/CHKDSK; revisa eventos 129/153/51/11/15.
  6. Estabiliza y documenta versiones finales; reenciende monitorización.
Índice