Jak znaleźć źródło tego BSOD? Jak to naprawić?

8

Czasami (zawsze w najmniej dogodnym momencie ...) otrzymuję ten BSOD na moim komputerze stacjonarnym z systemem 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

Próba znalezienia dodatkowych informacji na ten temat wydaje się daremna, ponieważ plik C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmlnie istnieje (folder istnieje, ale żaden plik zaczynający się od „WER”), a próba analizy pliku minidump daje następujące wyniki:

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 

i:

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        

No, hal.dlli ntoskrnl.exesą częścią systemu operacyjnego i nie wydaje się być coś, co mogę zrobić, aby uaktualnić tych „kierowców”.

Wiem, że sprzęt jest doskonały (w tym napięcia pamięci RAM w systemie BIOS itp.), Ponieważ ten sam dokładny system działa idealnie z konfiguracją Ubuntu 8i Ubuntu 10(triple-boot). Problem jest zdecydowanie związany z oprogramowaniem systemowym, ale jak mogę się dowiedzieć, co to jest?

Eternal Learner
źródło
1
Możemy Ci pomóc, jeśli Windows 7 był open source ...
m0skit0
3
Czy pomoże Ci jakikolwiek krok z [tutaj] ( sevenforums.com/crash-lockup-debug-how/… ?
AndrejaKo
2
@AndrejaKo To świetny zasób. Wygląda dokładnie tak, jak szukałem. Prześlij ponownie jako odpowiedź, a ja ją zaakceptuję. Na razie dziękuję +1.
Eternal Learner
1
@Eternal Learner Po prostu link do odpowiedzi nie jest tutaj uważany za odpowiedź w SuperUser, powinien pozostać komentarzem, chyba że chce skopiować całą treść odpowiedzi do odpowiedzi SuperUser. Głównym tego powodem jest zgnilizna linków i stron internetowych, które znikają z cyberprzestrzeni. Drugim powodem jest to, że SuperUser nie jest forum.
Moab

Odpowiedzi:

4
  1. Zainstaluj narzędzia debugowania dla systemu Windows .
  2. Po instalacji otwórz WinDbg z menu Start.
  3. Kliknij Plik> Ścieżka do pliku symboli i wprowadź (zamień C: \ SymbolCache na wybraną ścieżkę)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. Kliknij Plik> Otwórz Crashdump i otwórz plik memory.dmp w% SystemRoot% (zwykle C: \ WINDOWS lub C: \ WINNT) LUB najnowszy plik w% SystemRoot% \ Minidump, jeśli masz wyłączone pełne zrzuty.
  5. Nieprawidłowy sterownik zostanie wymieniony poniżej, podobnie do tego:, Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )ale możesz kliknąć !analyze -vlink, aby uzyskać szczegółowe dane śledzenia stosu.
kinokijuf
źródło
Jest to dobre dla programistów sterowników, a nie dla administratora.
Eternal Learner
@EternalLearner Ale pokazuje ci źródło BSOD, co jest dobrą rzeczą.
kinokijuf
Tak, to dobrze, ale już otrzymałem wszystkie te informacje BlueScreenView. Jedyną zaletą !analyze -vjest możliwość wyświetlenia kodu źródłowego, jeśli go mam, a ponieważ nie jestem programistą ntoskrnl.exe, nie pomaga mi to. Oprócz tego, że jest strasznie wzdęty i dodatkowo zagraża stabilności systemu. Instalacja jest uzasadniona tylko podczas opracowywania sterowników.
Eternal Learner
@EternalLearner W takim razie obawiam się, że nie można uzyskać dalszych informacji.
kinokijuf
2

Znacznie prostszym sposobem byłoby użycie BlueScreenView . Jeśli zajrzysz do kolumny „Adres w stosie”, zobaczysz, skąd pochodzi problematyczne połączenie. To ostatni wiersz z wpisem w tej kolumnie.

Biorąc nazwę pliku sterownika, możesz prześledzić producenta / aplikację / urządzenie, do którego należy, a zatem znaleźć winnego z dużym prawdopodobieństwem.

Robert
źródło
1
BlueScreenView jest dokładnie tam, gdzie wziąłem informacje zamieszczone w moim pytaniu. Back-track zatrzymuje się w tym, co napisałem oryginalnie: ntoskrnl.exe+18d513. Komentarz opublikowany przez @AndrejaKo jest jak dotąd najlepszą odpowiedzią.
Eternal Learner