Comment trouver la source de ce BSOD? Comment le réparer?

8

Je reçois occasionnellement (toujours au moment le moins opportun ...) ce BSOD sur mon PC de bureau Windows 7:

  Problem signature:
  Problem Event Name:   BlueScreen
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033

  Additional information about the problem:
  BCCode:   124
  BCP1: 0000000000000000
  BCP2: FFFFFA8007BBB028
  BCP3: 00000000B2000040
  BCP4: 0000000000000800
  OS Version:   6_1_7601
  Service Pack: 1_0
  Product:  256_1

  Files that help describe the problem:
  C:\Windows\Minidump\010812-16578-01.dmp
  C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xml

Essayer de trouver plus d'informations à ce sujet semble être futile car le fichier C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmln'existe pas (le dossier existe, mais pas tout fichier commençant par "WER"), et tenter d'analyser le fichier minidump donne les résultats suivants:

Bug Check Code: 0x00000124
Parameter 1:    00000000`00000000
Parameter 2:    fffffa80`07bbb028
Parameter 3:    00000000`b2000040
Parameter 4:    00000000`00000800
Causing driver: hal.dll
Address:    hal.dll+12a3b
Processor:  x64
Crash address:  ntoskrnl.exe+7cc40
CPU count:  4
Major ver:  15
Minor ver:  7601
Dump size:  283,576 

et:

Filename:       ntoskrnl.exe
Addr. in Stack: ntoskrnl.exe+18d513
From addr:      fffff800`02a18000
To addr:        fffff800`03001000
Size:           0x005e9000
Timestamp:      0x4e02aaa3
Time string:    6/22/2011 9:53:23 PM
Product name:   Microsoft® Windows® Operating System
File desc:      NT Kernel & System
File ver:       6.1.7601.17640 (win7sp1_gdr.110622-1506)
Company:        Microsoft Corporation
Full path:      C:\Windows\system32\ntoskrnl.exe        

Eh bien, hal.dllet ntoskrnl.exefont partie du système d'exploitation et il ne semble y avoir rien que je puisse faire pour mettre à niveau ces "pilotes".

Je sais que le matériel est parfait (y compris les tensions RAM dans le BIOS, etc.) car ce même système exact fonctionne parfaitement avec Ubuntu 8et Ubuntu 10(configuration à triple démarrage). Le problème est certainement dans le logiciel système, mais comment savoir ce que c'est?

Apprenant éternel
la source
1
Nous pourrions vous aider si Windows 7 était open source ...
m0skit0
3
Effectuez l'une des étapes de [ici] ( sevenforums.com/crash-lockup-debug-how/… help?
AndrejaKo
2
@AndrejaKo Ceci est une excellente ressource. Ressemble exactement à ce que je cherchais. Veuillez republier comme réponse et je l'accepterai. Merci +1 pour l'instant.
Eternal Learner
1
@Eternal Learner Le simple fait de créer un lien vers une réponse n'est pas considéré comme une réponse ici chez SuperUser, il doit rester un commentaire, à moins qu'il ne veuille copier tout le contenu de la réponse dans une réponse SuperUser. La principale raison en est la pourriture des liens et les sites Web qui disparaissent du cyberespace. La deuxième raison est que SuperUser n'est pas un forum.
Moab

Réponses:

4
  1. Installez les outils de débogage pour Windows .
  2. Après l'installation, ouvrez WinDbg à partir du menu Démarrer.
  3. Cliquez sur Fichier> Chemin du fichier de symboles et entrez (remplacez C: \ SymbolCache par le chemin de votre choix)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. Cliquez sur Fichier> Ouvrir Crashdump et ouvrez le fichier memory.dmp dans votre% SystemRoot% (généralement C: \ WINDOWS ou C: \ WINNT) OU le dernier fichier dans% SystemRoot% \ Minidump si vous avez désactivé les vidages complets.
  5. Le pilote incriminé sera répertorié ci-dessous, similaire à ceci:, Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )mais vous pouvez cliquer sur le !analyze -vlien pour obtenir une trace détaillée de la pile.
kinokijuf
la source
C'est bon pour les développeurs de pilotes, pas pour un administrateur.
Eternal Learner
@EternalLearner Mais cela vous montre la source BSOD, ce qui est une bonne chose.
kinokijuf
Oui, c'est une bonne chose, mais j'ai déjà obtenu toutes ces informations BlueScreenView. Le seul avantage de !analyze -vest la possibilité d'afficher le code source si je l'ai et puisque je ne suis pas développeur de ntoskrnl.exe, cela ne m'aide pas. Mis à part le fait qu'il est horriblement gonflé et compromet davantage la stabilité du système. Son installation n'est justifiée que lorsque vous développez des pilotes.
Eternal Learner
@EternalLearner Alors je crains qu'il soit impossible d'obtenir plus d'informations.
kinokijuf
2

Une manière beaucoup plus simple serait d'utiliser BlueScreenView . Si vous regardez dans la colonne "Address In Stack", vous pouvez voir d'où provient l'appel problématique. Il s'agit de la dernière ligne qui a une entrée dans cette colonne.

En prenant le nom du fichier du pilote, vous pouvez retracer le fournisseur / l'application / le périphérique auquel il appartient et donc trouver le coupable avec une forte probabilité.

Robert
la source
1
BlueScreenView est exactement l'endroit où j'ai pris les informations que j'ai publiées dans ma question. L'arrière-piste arrête à ce que je posté à l' origine: ntoskrnl.exe+18d513. Le commentaire publié par @AndrejaKo est la meilleure réponse à ce jour.
Eternal Learner