Jak uzyskać więcej informacji z nieinformacyjnego BSOD systemu Windows 8?

25

Niebieski ekran śmierci systemu Windows 8 różni się od jednego z poprzednich wersji systemu Windows:

Windows 8 BSOD

Aby dowiedzieć się, co spowodowało problem, musisz zapisać lub zapamiętać wyszukiwane hasło, które Ci przedstawia. Dwa wyszukiwane hasła, które do tej pory widziałem, to:
SYSTEM_SERVICE_EXCEPTIONi HAL_INITIALIZATION_FAILED.

Chociaż miło jest nie patrzeć na niebieski ekran pełen tekstu, poprzedni BSOD był bardziej informacyjny niż BSOD Windows 8, ponieważ zawierał szczegółowy kod błędu (informacje do celów diagnostycznych, które zostały zebrane, gdy system operacyjny popełnił błąd sprawdź), co może przybliżyć Cię do znalezienia źródła problemu.

Jak mogę uzyskać więcej informacji o błędzie, który wystąpił w systemie Windows 8, aby wyśledzić źródło problemu?

amiregelz
źródło
1
W poprzednich wersjach systemu Windows zdarzenie było rejestrowane w kategorii „system”. HAL_INITIALIZATION_FAILED to alias (nazwana stała) do kodu błędu. Stary BSOD podał stałą i jej wartość, ale są one tym samym.
horatio
BSOD utworzy plik zrzutu na dysku twardym, albo w katalogu głównym C: lub w C: \ Windows \ minidump, a następnie przejrzyj tę stronę, aby przeanalizować plik zrzutu ... support.microsoft.com/kb/315263
Moab
Sprawdź C:\Windows\MEMORY.DMPlub najnowszy plik w `C: \ Windows \ Minidumps`; jeśli to pierwsze z nich sprawdzi, czy jest możliwe przesłanie go do pliku zip / rar / 7z, jeśli to drugie, możesz po prostu załadować go, ponieważ będzie dość mały. Cieszymy się, że cię szukamy ...
Tamara Wijsman

Odpowiedzi:

10

Ignorując typową nazwę BSOD, są one bardziej formalnie nazywane sprawdzaniem błędów. Aby sprawdzić, co tak naprawdę oznacza określony kod BSOD , możesz go sprawdzić w Odwołaniu do kodu kontroli błędów .

Sprawdzanie błędów 0x3B: SYSTEM_SERVICE_EXCEPTIONi 0x5C: HAL_INITIALIZATION_FAILEDbrzmi znajomo, możesz je tam przeczytać, ale szczegółowo opiszę rzeczy, które mogą wydawać się niejasne dla kogoś, kto nie debuguje ani nie programuje sterowników na niskim poziomie.

SYSTEM_SERVICE_EXCEPTION

Opis na stronie to:

Oznacza to, że wystąpił wyjątek podczas wykonywania procedury, która przechodzi z kodu nieuprzywilejowanego do kodu uprzywilejowanego.

Dzieje się tak, gdy jakiś kod w twoim systemie próbuje wykonać inny kod, który ma wyższy poziom uprawnień, gdy dzieje się to bez podniesienia uprawnień, oznacza to, że nieuprzywilejowany kod naruszyłby bezpieczeństwo. Tak często działa nieprawidłowo działający sterownik, ale może to być także rootkit w postaci sterownika, który wpada na jakąś formę ochrony.

Nie oznacza to, że powinniśmy wykluczyć inne możliwe błędy, takie jak uszkodzenie pamięci, które można zobaczyć, badając zrzut awaryjny, aby sprawdzić, czy zachowanie wskazuje na sterownik, czy jest bardziej losowe. Nawet jeśli zrzut awaryjny byłby losowy, nie musiałby wskazywać na złą pamięć, ale mógł być znowu skutkiem uszkodzenia pamięci przez sterownik. Wykonanie testu pamięci jest zatem przydatne, aby sprawdzić, czy jest zła pamięć, aby uzyskać bardziej przejrzysty pomysł, jeśli będziemy na tej drodze.

HAL_INITIALIZATION_FAILED

Opis na stronie to:

Oznacza to, że inicjalizacja HAL nie powiodła się.

Tak, to wszystko, co powiedziała. Badanie, czym jest HAL, byłoby logicznym następnym krokiem do zrozumienia, co się tutaj dzieje, w skrócie ta część z sekcji „W systemach operacyjnych” pomaga:

Warstwa abstrakcji sprzętowej (HAL) to warstwa abstrakcji zaimplementowana w oprogramowaniu między fizycznym sprzętem komputera a oprogramowaniem działającym na tym komputerze. Jego funkcją jest ukrywanie różnic sprzętowych w większości jądra systemu operacyjnego, tak aby większość kodu trybu jądra nie musiała być zmieniana, aby działała na systemach z innym sprzętem.

Na komputerze PC HAL można zasadniczo uznać za sterownik płyty głównej i umożliwia on instrukcje z języków komputerowych wyższego poziomu do komunikowania się z komponentami niższego poziomu, na przykład bezpośrednio ze sprzętem.

Tak, wciąż jest dość długo. Wskazuje jednak kilka interesujących możliwych przyczyn: wadliwy sprzęt, kod abstrakcji, sterowniki płyty głównej / chipsetu lub inne sterowniki. Przejście przez te możliwe przyczyny wstecz pozwala nam zobaczyć poziom po poziomie, gdzie może leżeć problem; i w tym celu musimy jeszcze raz sprawdzić zrzut awaryjny.

Sprawdzanie zrzutu awaryjnego ?!

Jak wskazano w komentarzach, możesz odwiedzić ten adres URL, aby uzyskać podstawowe instrukcje, chociaż sugeruję przesłanie zrzutu, jeśli to możliwe, abyśmy mogli go sprawdzić. Zazwyczaj używam do tego WinDBG z narzędzia do debugowania dla systemu Windows. Alternatywnie możesz skorzystać z internetowego Instant Online Crash Dump Analyzer z OSR Online, chociaż nie pozwala to na sprawdzenie więcej niż ogólna analiza zrzutu awaryjnego. Po uzyskaniu zrzutu awaryjnego daj nam znać ...

Tamara Wijsman
źródło
1

Możesz także pozbyć się nowej wiadomości :-( niebieski ekran i przywrócić stary ekran sprawdzania błędów, taki jak XP i W7.

Najpierw upewnij się, że KB2929742 jest już zainstalowany.

Następnie otwórz edytor rejestru w systemie Windows i edytuj ten klucz

HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ CrashControl

Stwórz nowy Dword „DisplayParameters” i ustaw go na 1.

Ustaw „AutoReboot” na 0

Uruchom ponownie komputer, aby zmiany odniosły skutek. Następnym razem BSOD wyświetli więcej informacji na niebieskim ekranie i pozostanie na ekranie bod, dopóki nie wymusisz zamknięcia.

Moab
źródło