AstucesOutils du techWindows OS

Comment diagnostiquer un écran bleu Windows (BSOD)

Nous allons voir ensemble comment vérifier d’où vient un plantage Windows. Il est toujours délicat de pointer du doigt le véritable problème, et même parfois impossible. Néanmoins, il existe des pistes à explorer, que nous allons voir dans cet article.

BSOD

Blue Screen Of the Death… brrrrr!! C’est certainement le côté geek de l’informaticien qui a amené ce superlatif à qualifier le célèbre écran bleu de plantage des systèmes Windows. Car s’il a changé d’apparence dans les dernières moutures de l’OS de Microsoft, il n’en reste pas moins le « plantage ultime » celui qui énerve l’utilisateur qui a son pc qui plante alors qu’il n’a rien enregistré…

Cependant, lorsque le système subit ce genre de crash, il génère des fichiers qui peuvent s’avérer tout à fait précieux pour déterminer la cause du problème.

Dans la grande majorité des cas, l’erreur est soit le hardware, soit les drivers. Nous allons voir comment le déterminer.

Small Memory Dump

Le système enregistre par défaut des fichiers d’image mémoire partielle. Par défaut ces fichiers sont stockés dans %SystemRoot%\Minidump\

Ces fichiers minidump contiennent peu d’informations, mais peuvent suffire à déterminer le problème facilement, notamment si le fautif est un pilote. Pour digérer plus facilement ces fichiers, ont peut s’aider d’utilitaire prévu pour ça.

BlueScreenView

Il s’agit d’un utilitaire qui permet de lire un fichier .dmp

On voit par exemple ici que le driver « wmiacpi.sys » pourrait être mis en cause. ntoskrnl.exe est mis en évidence aussi.

Télécharger BlueScreenView

Whocrashed

Un autre utilitaire qui permet de lire un fichier minidump

Ici, seul ntoskrnl.exe est mis en cause (il s’agit du même dump!).

Télécharger Who Crashed

Intéressant par contre, il nous précise clairement qu’il s’agit probablement d’un problème avec un pilote (This appears to be a typical software driver bug and is not likely to be caused by a hardware problem)

Pour lire un fichier .dmp avec WhoCrashed sur un autre pc, il faut placer le fichier dans le répertoire %SystemRoot\Minidump\ en enlevant les autres fichiers éventuels avant. (il lit par défaut le dernier en date)

Malheureusement, les fichiers minidump sont des fichiers partiels, et souvent on ne trouve que « ntoskrnl.exe » mis en cause. C’est une « erreur », et c’est qu’il s’agit en fait du dernier fichier de la pile qui était chargé avant le crash.

Ce n’est pas le fichier qui a provoqué le plantage, et il va falloir aller plus loin…

Complete Memory Dump

Le système peut générer, au lieu d’un minidump, un dump complet. Pour cela, il faut encore que cette fonction ait été activée.

Ici, la capture montre les options d’écriture des informations de débogage.

On peut ainsi choisir de générer des images mémoire partielles (minidump) ou images mémoire du noyau (dump complet). (Il s’agit ici d’un système Windows 7)

Si le système peut tourner quelques instants sans planter, ou peut tourner convenablement en mode sans échec, allez changer cette option, puis attendez le prochain plantage.

Le fichier généré sera %SystemRoot%\MEMORY.DMP

WinDbg

Nous allons utiliser WinDbg pour lire le fichier d’image mémoire complet.

Pour ca, commencez par télécharger le SDK de votre système (Software Development Kit) :
SDK Windows 10   SDK Windows 8.1    SDK Windows 7

Lancez l’installation, puis choisissez d’installer uniquement « Debugging Tools for Windows« .

Lancez maintenant WinDbg en tant qu’administrateur (choisissez la version x86 ou x64). Ouvrez le menu Files, puis Symbol File Path. Nous allons indiquer ou chercher les fichiers de symboles, utiles pour lire ces fichiers de dump. Renseignez l’emplacement « srv*c:\SymbolsSrvCache*https://msdl.microsoft.com/download/symbols« 

Vous pouvez enregistrer votre espace de travail (File\Save Workspace) pour conserver cette préférence à chaque lancement.

Ouvrez maintenant le fichier MEMORY.DMP que vous avez à analyser (par exemple récupérer sur une clé USB, ou sur le disque du PC malade connecter en USB) par File\Open Crash Dump.

WinDbg va maintenant charge les symboles. Il sera indiqué en bas « Debuggee not connected » puis l’invite de commande kd> apparait. Lorsque vous avez cette invite, saisissez la commande !analyze -v pour lancer l’analyse. Lorsque l’invite de commande est à nouveau affichée, l’analyse est terminée.

Rendez-vous sur la section IMAGE_NAME. On devrait trouver à quelle application appartient le pilote qui a provoqué le crash (IMAGE_NAME et MODULE_NAME) et par qui cette application a été lancée (PROCESS_NAME).

Sur cette capture, on ne voit que l’IMAGE_NAME. Il faudra chercher encore un peu plus…

Sur cette analyse, on met le doigt sur le problème.  Pour info les minidump mettaient en cause ntoskrnl.exe, donc rien de tangible. Ici on sait que c’est le pilote PSINReg.sys qui a causé le plantage. Une recherche rapide me permet de définir qu’il s’agit de l’antivirus, de l’éditeur Panda (en l’occurrence Panda Cloud Office Protection).

On va pouvoir essayer de le restaurer (un clic sur le lien dans WinDbg m’affiche son emplacement dans SystemRoot\system32\DRIVERS\PSINReg.sys), de le remplacer, ou de réinstaller le produit.

Solutions

S’il s’agit d’une erreur hardware, vous aurez compris qu’il faudra diagnostiquer pour remplacer le cas échéant la pièce défectueuse.

Dans le cas d’un crash software, nous avons pu déterminer s’il s’agissait d’un pilote, ou d’une application en particulier.

Si le pilote est un pilote matériel, il faudra le désinstaller, puis se rendre sur le site constructeur idéalement pour le réinstaller. Mikaël vous explique dans un article comment facilement et proprement désinstaller un pilote.

Des applications peuvent aussi vous assister pour mettre à jour les drivers (Snappy SDI, DriversCloud, etc). Attention cependant avec ces outils de savoir ce que vous faites…

Si le pilote est un composant software, vous aurez pu déterminer l’application à désinstaller, mettre à jour, etc…

Samuel Monier

Informaticien indépendant Réseaux et systèmes - Infrastructure - Serveurs. J'interviens sur les départements 42 - 63 - 69 - 43 - 71, et à échelle nationale à distance. N'hésitez pas à me demander conseil!

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page