Windows Server 2019 : corriger les redémarrages BSOD (Bugcheck 0xC0000005) – guide complet

Votre serveur Windows Server 2019 redémarre inopinément avec un Bugcheck et un code 0xC0000005 ? Suivez ce guide pas‑à‑pas pour isoler la cause racine (pilote, mise à jour, RAM, disque, firmware) et stabiliser durablement la plateforme.

Sommaire

Problématique exposée

Un hôte Windows Server 2019 redémarre de façon imprévisible tous les quelques jours. Dans le Journal des événements > Système apparaissent des entrées typiques :

  • Kernel-Power (ID 41) — le système a redémarré sans s’arrêter correctement.
  • BugCheck (ID 1001) — « The computer has rebooted from a bugcheck. » avec des paramètres comme 0x0000007E (0xC0000005, ...) ou 0x0000003B (0xC0000005, ...).

Les pilotes Fujitsu ont déjà été mis à jour, mais les redémarrages persistent. Le paramètre 0xC0000005 indique une violation d’accès mémoire (accès à une adresse non valide) survenue en mode noyau, souvent déclenchée par un pilote, une corruption mémoire ou un firmware inadapté.

Comprendre le code 0xC0000005 et ses contextes

Le code 0xC0000005 n’est pas, à lui seul, un bugcheck : c’est un code d’exception qui apparaît en paramètre de nombreux BSOD (Blue Screen of Death) côté noyau, par exemple :

Bugcheck (exemples)Signification fréquenteQuand 0xC0000005 apparaît
0x0000007E (SYSTEM_THREAD_EXCEPTION_NOT_HANDLED)Exception non gérée dans un thread noyauLe premier paramètre contient souvent 0xC0000005 (violation d’accès)
0x0000003B (SYSTEM_SERVICE_EXCEPTION)Exception lors d’un appel de service systèmeSouvent une violation d’accès dans un pilote ou un filtre
0x00000050 (PAGE_FAULT_IN_NONPAGED_AREA)Référence mémoire invalide en zone non paginéePeut résulter d’un pointeur corrompu ou de RAM défectueuse

La valeur 0xC0000005 traduit donc un déréférencement invalide (lecture/écriture/exécution), typiquement lié à un driver fautif, une corruption de pile, un DMA mal géré, ou une instabilité matérielle (RAM, contrôleur disque, VRM, etc.).

Analyse synthétique des causes probables

Les familles de causes les plus communes se répartissent comme suit.

DomaineCauses fréquentes
LogicielPilote corrompu ou incompatible, mise à jour Windows défectueuse, fichier système endommagé, filtres minifilter (antivirus/EDR/backup) défaillants
MatérielBarrette RAM défectueuse, erreurs ECC récurrentes, secteur disque instable, contrôleur RAID/HBA capricieux, surchauffe, alimentation irrégulière
ParamétrageBIOS/UEFI inadapté (XMP, overclock, C‑states agressifs), micro‑code processeur obsolète, options d’économie d’énergie trop poussées

Plan d’action priorisé (résolution et stabilisation)

Appliquer tous les correctifs Windows et firmware

  • Windows Update (y compris mises à jour facultatives de pilotes et de micro‑code) → rechercher et installer tous les correctifs de sécurité et de fiabilité.
  • BIOS/UEFI, BMC/iRMC, micro‑code CPU, RAID/HBA, contrôleur de disque/NVMe : mettre ensemble firmware et pilote à un couple validé par le constructeur.
  • En environnement Fujitsu, vérifier aussi le Support Package (System Inspection) et l’état de la batterie du cache RAID (BBU/Capacitor Pack).

Vérifier l’intégrité logicielle

Exécuter d’abord les contrôles système pour éliminer une base instable.

ActionCommandeInterprétation
Vérification fichiers systèmesfc /scannowRépare les fichiers système altérés (journal dans %windir%\Logs\CBS\CBS.log)
Réparation image de WindowsDISM /Online /Cleanup-Image /RestoreHealthCorrige le magasin de composants (%windir%\Logs\DISM\dism.log)
Inventaire des pilotesdriverquery /v /fo tableRepérer un pilote récent/tiers susceptible d’être fautif
Liste des filtres systèmesfltmcIdentifier antivirus/EDR/backup (minifilters) pouvant intercepter E/S

Si les plantages ont commencé après une mise à jour spécifique (pilote, cumulative update), désinstaller ou régresser ce composant pour confirmer la corrélation.

Activer et fiabiliser la capture de dumps

Sans un dump noyau fiable, l’analyse est aveugle. Assurez‑vous de :

  • Configurer « Automatic memory dump » (ou Kernel memory dump) dans Propriétés Système > Démarrage et récupération.
  • Conserver un fichier d’échange géré par le système sur la partition système.
  • Laisser au moins 20 % d’espace libre sur la partition système pour accueillir MEMORY.DMP et les minidumps (C:\Windows\Minidump).
  • Vérifier la clé HKLM\System\CurrentControlSet\Control\CrashControl (valeurs : CrashDumpEnabled, LogEvent, AutoReboot).

Pour éviter de manquer l’écran bleu lors d’un diagnostic, décochez temporairement « Redémarrer automatiquement » dans Démarrage et récupération (à planifier en fenêtre de maintenance).

Analyser les fichiers dump avec WinDbg

Ouvrez C:\Windows\MEMORY.DMP ou un minidump dans WinDbg (x64) et lancez :

.symfix
.reload
!analyze -v

Points clés à examiner :

  • Probably caused by / MODULE_NAME / IMAGE_NAME : pilote suspect.
  • STACK_TEXT et FAULTING_IP : contexte du crash (lecture/écriture/exécution).
  • Commandes utiles : kv (pile), !thread, !process, lmvm <driver> (version/timestamp), !verifier 3 (si Driver Verifier actif), !sysinfo smbios, !vm.

Si l’analyse pointe un filtre E/S (antivirus, sauvegarde, chiffrement), testez sa désactivation contrôlée ou le passage à une version validée par l’éditeur.

Tester le matériel

  • RAM : au moins deux passes avec Windows Memory Diagnostic (mode étendu) ou MemTest86. Sur plateforme ECC, contrôler le compteur d’erreurs correctibles dans l’iRMC/IPMI et les journaux WHEA.
  • Disques : chkdsk /scan à chaud puis utilitaire constructeur. Sur RAID, vérifier l’état de tous les membres, la batterie/capacité du cache et la queue depth HBA.
  • Thermique/énergie : surveiller températures, vitesses de ventilateurs et tensions via BMC/iRMC. Un VRM instable peut mimer des fautes mémoire.

Réviser la configuration BIOS/UEFI

  • Désactiver tout overclock mémoire/CPU et les profils XMP non validés serveur.
  • Revenir au profil d’alimentation « High Performance » côté OS et limiter les C‑states agressifs si la charge est sensible.
  • Mettre à jour le micro‑code CPU et réinitialiser les options expérimentales (ASPM, PCIe power saving) si non nécessaires.

Collecter des données supplémentaires si les redémarrages persistent

  • Journaux de débogage stockage/réseau (Storport, iSCSI, SMB Direct) et compteurs Perfmon corrélés à la charge.
  • Driver Verifier (paramètres standard) : verifier /standard /all verifier /querysettings Attention : Driver Verifier peut provoquer des BSOD plus rapidement pour révéler le pilote fautif. Planifier une fenêtre de maintenance et garder un accès hors bande (iRMC/iKVM).

Escalade au support constructeur

Préparer un dossier complet pour accélérer le diagnostic :

  • Numéro de série châssis, versions BIOS/BMC/RAID/HBA/NIC/NVMe.
  • Dernier MEMORY.DMP analysé avec extraits !analyze -v, !thread, !process, lmv du pilote suspect.
  • Rapport d’autodiagnostic matériel (iRMC/IPMI) et statistiques ECC/WHEA.

Procédure détaillée pas‑à‑pas (check‑list opérable)

  1. Stabiliser le contexte
    • Activer Automatic memory dump et vérifier la taille du pagefile (gérée par le système).
    • Libérer ≥ 20 % de la partition système.
    • Désactiver le redémarrage automatique pendant l’enquête.
  2. Assainir l’OS
    • Appliquer Windows Update et redémarrer.
    • Lancer sfc /scannow puis DISM /Online /Cleanup-Image /RestoreHealth.
  3. Revenir sur les derniers changements
    • Identifier les logiciels/pilotes installés avant l’apparition des BSOD (Reliability Monitor, journal MsiInstaller/Application).
    • Désinstaller/régresser ces composants (conserver les versions et dates).
  4. Mettre à niveau firmware/pilotes critiques
    • BIOS/UEFI, BMC/iRMC, RAID/HBA, NIC, NVMe, contrôleurs de stockage.
    • Maintenir des couples pilotes/firmware validés par l’OEM.
  5. Analyser les dumps
    • Ouvrir MEMORY.DMP dans WinDbg, exécuter !analyze -v.
    • Si un pilote tiers ressort, créer un change contrôlé pour le mettre à jour/retirer.
  6. Tester matériel
    • RAM : 2 passes minimum. Remplacer la barrette incriminée; sur ECC, permuter les barrettes pour confirmer la localisation du slot.
    • Disques : diagnostic constructeur, vérifier secteurs réalloués/pendants, latences.
    • RAID/HBA : état du cache, latences, erreurs 129/153 dans le journal Système.
  7. Durcir la configuration
    • Profil d’alimentation « Performances élevées », désactiver les tweaks non validés.
    • Activer Memory Scrubbing en BIOS si disponible.
  8. Driver Verifier (si besoin)
    • Activer Standard settings sur les pilotes non Microsoft ou ciblés.
    • Collecter le BSOD induit et réanalyser. Désactiver ensuite avec verifier /reset.

Signatures courantes et remèdes rapides

Stockage : timeouts et filtres

Indicateurs : événements Système ID 129/153 (Reset/Timeout), pic de Average Disk sec/Transfer, traces de filtres de sauvegarde/chiffrement.

  • Mettre à jour pilote Storport/HBA et firmware RAID/NVMe.
  • Désactiver temporairement les filtres non essentiels (backup, DLP) pour valider l’hypothèse.
  • Vérifier la cohérence RAID, la santé de la BBU et le câblage (SAS/NVMe backplane).

Mémoire : erreurs ECC et 0x50/0x3B

Indicateurs : WHEA 18/19, compteur ECC qui grimpe, BSOD aléatoires sous charge.

  • Test RAM étendu. Remplacer la/les barrettes indiquées par iRMC/IPMI.
  • Mettre à jour BIOS/micro‑code, désactiver XMP, équilibrer les canaux (population guidée).

Pilote réseau/EDR : 0x7E avec 0xC0000005

Indicateurs : Probably caused by: <driver.sys> réseau ou sécurité, pile montrant ndis!... / fltmgr!....

  • Mettre à jour/désinstaller l’agent incriminé, valider avec Driver Verifier ciblé.
  • Adapter les exclusions antivirus (répertoires système, VHDX, dossiers de rôle serveur).

Outils et commandes utiles (mémo)

ObjectifCommandeNotes
Exporter récents BugCheck/Kernel‑PowerGet-WinEvent -FilterHashtable @{LogName='System'; Id=41,1001} | Select TimeCreated,Id,MessagePowerShell : vue chronologique des plantages
Lister pilotes non MicrosoftGet-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DriverProviderName -ne 'Microsoft'}Repérer versions/timestamps suspects
Lister minifiltersfltmcOrdre de chargement et altitude des filtres
Vérifier pagefilewmic pagefile list /format:listPréreq pour Kernel/Automatic dump
Forcer Driver Verifier (standard)verifier /standard /allÀ désactiver après collecte : verifier /reset

Pour les environnements virtualisés et Hyper‑V

  • Hôte Hyper‑V : vérifier pilotes NIC (vSwitch), stockage (vhdmp, vioscsi), firmware et plan d’alimentation. Un défaut hôte se répercute sur toutes les VM.
  • VM invitée : si la VM seule plante avec 0xC0000005, examiner ses pilotes intégration et filtres (sauvegarde/antivirus intra‑VM).
  • Disques virtuels (VHDX/RAID) : vérifier la cohérence et la redondance. Une corruption VHDX ou un RAID dégradé peut déclencher des exceptions noyau.

Bonnes pratiques de continuité et de suivi

  • Plan de continuité : tant que la cause n’est pas éradiquée, planifier des sauvegardes plus fréquentes et tester la restauration.
  • Surveillance centralisée : collecter journaux (Windows Event, WHEA), compteurs PerfMon et métriques BMC dans un outil (Log Analytics, Zabbix, etc.) pour corrélation charge/alerte/BSOD.
  • Hygiène de mise à jour : instaurer des rings de déploiement (pré‑prod → prod) avec points de restauration/snapshots pour rollback rapide.

Étude de cas condensée : méthode sur un incident réel

  1. Contexte : redémarrage 1 à 2 fois/semaine, Event 1001 avec 0x7E (0xC0000005,...).
  2. Actions :
    • Activation Automatic dump et collecte du premier MEMORY.DMP.
    • Analyse WinDbg : Probably caused by un pilote de sauvegarde (minifilter) ancien.
    • Mise à jour du pilote et du composant serveur de sauvegarde.
    • Driver Verifier ciblé pour validation → aucun nouveau BSOD en 72 h.
  3. Résultat : stabilité retrouvée > 30 jours, mean time between failures remonté.

FAQ & points d’attention

Faut‑il un dump complet (Full memory dump) ?

Le Kernel/Automatic memory dump suffit dans la majorité des cas et consomme nettement moins d’espace. N’activez le Full que si le support l’exige.

Le code 0xC0000005 implique‑t‑il forcément la RAM ?

Non. Il signale une violation d’accès, souvent causée par un driver. D’où l’importance de l’analyse WinDbg et des tests RAM pour trancher.

Driver Verifier est‑il sans risque ?

Il est normal qu’il déclenche plus rapidement un BSOD pour exposer le pilote fautif. Utiliser en fenêtre de maintenance et prévoir un accès hors bande au serveur.

Modèle de rapport d’escalade (copier‑coller)

Objet : Escalade BSOD Windows Server 2019 – Bugcheck avec 0xC0000005

Contexte :

* Fréquence : \
* Rôles du serveur : \
* Derniers changements : \

Environnement :

* Modèle châssis/N° série : <...>
* BIOS/BMC/RAID/NIC/NVMe versions : <...>
* RAM : \

Symptômes :

* Event 41/1001 avec paramètres : \
* WHEA : \

Analyse :

* Extraits WinDbg : !analyze -v (Probably caused by, MODULE\_NAME)
* Pile fautive : \
* Pilote suspect : \

Actions réalisées :

* SFC/DISM, Windows Update, mises à jour firmware/pilotes
* Tests RAM/Disques
* Driver Verifier (oui/non)

Pièces jointes :

* MEMORY.DMP (ou minidumps), logs iRMC/IPMI, rapports diagnostics 

Conclusion

En combinant correctifs (OS/firmware), vérifications d’intégrité, analyse de dumps avec WinDbg, tests matériels et, si nécessaire, Driver Verifier et escalade constructeur, vous disposez d’un cadre complet pour identifier la cause racine d’un Bugcheck comportant 0xC0000005 et stabiliser durablement votre Windows Server 2019. N’oubliez pas de renforcer la surveillance, la gestion des changements et la continuité pour prévenir la régression.

Récapitulatif actionnable

ÉtapeButLivrable
Mettre à jour OS/firmwareÉliminer bugs connusInventaire versions avant/après
SFC + DISMBase OS saineLogs CBS/DISM
Configurer dumpsPreuve post‑mortemMEMORY.DMP / minidumps
WinDbgIdentifier pilote/moduleExtraits !analyze -v
Tests RAM/DisquesExclure hardwareRapports diagnostics
Driver VerifierStress des pilotesBSOD ciblé (ou absence)
EscaladeSupport éditeur/OEMDossier complet

Annexe : réglages recommandés de capture de crash

  • CrashDumpEnabled : 7 (Automatic) ou 2 (Kernel).
  • LogEvent : 1 (journaliser l’événement).
  • SendAlert : 0 (ou selon vos outils de supervision).
  • AutoReboot : 0 pendant l’enquête, 1 ensuite.

Dossier utile : C:\Windows\Minidump (minidumps) et C:\Windows\MEMORY.DMP (dump noyau).

Annexe : scripts de collecte express

# 1) Événements critiques récents
Get-WinEvent -FilterHashtable @{LogName='System'; Id=41,1001; StartTime=(Get-Date).AddDays(-7)} |
Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, Message

# 2) Pilotes tiers (nom, version, date)

Get-CimInstance Win32\_PnPSignedDriver |
Where-Object {$\_.DriverProviderName -ne 'Microsoft'} |
Select-Object DeviceName, DriverProviderName, DriverVersion, DriverDate | Sort-Object DriverDate -Descending

# 3) Filtres minifilter

fltmc

# 4) Liste de paquets installés récemment (7 jours)

Get-WinEvent -FilterHashtable @{LogName='Application'; ProviderName='MsiInstaller'; StartTime=(Get-Date).AddDays(-7)} |
Select-Object TimeCreated, Message 

Résumé exécutif

Les redémarrages intempestifs avec Bugcheck et paramètre 0xC0000005 sur Windows Server 2019 sont le plus souvent corrélés à un pilote noyau ou à une instabilité matérielle. La stratégie gagnante : mettre à jour l’ensemble OS/firmware, fiabiliser la capture de dumps, analyser sous WinDbg, valider par tests RAM/disques et Driver Verifier, puis verrouiller la configuration BIOS/UEFI. La surveillance et la collecte rigoureuse d’indicateurs (événements, WHEA, perf) réduisent le temps moyen de résolution et évitent la récidive.

Informations complémentaires utiles

  • Plan de continuité : jusqu’à résolution définitive, planifier des sauvegardes fréquentes et tester la restauration.
  • Disques virtuels (RAID/Hyper‑V) : vérifier la cohérence et la redondance ; une corruption au niveau VHDX/RAID peut aussi déclencher un 0xC0000005.
  • Suivi : mettre en place une surveillance centralisée (ex. Log Analytics, Zabbix) pour corréler les plantages avec la charge, la température ou une opération planifiée.
Sommaire