Naprawa REA

Jak zrozumieć, na czym polega problem, gdy pojawia się niebieski ekran (BSOD) lub jak otworzyć plik zrzutu. Kody błędów komputera Identyfikujące komunikaty tekstowe o błędach

Rocznicowa aktualizacja systemu operacyjnego Windows 10 dodała wiele narzędzi i dodatkowe programy których użytkownik może potrzebować. Firma Microsoft wprowadziła także nową aplikację diagnostyczną, która pozwala ustalić przyczynę niebieskiego ekranu, czyli dobrze znanego błędu powodującego ponowne uruchomienie komputera. Jeśli niebieski ekran pojawia się często, ważne jest, aby użytkownik dowiedział się, dlaczego tak się dzieje, a następnie podjął kroki w celu rozwiązania problemu.

Jak znaleźć przyczynę niebieskiego ekranu (BSOD) w systemie Windows 10

Przed aktualizacją rocznicową w systemie Windows 10 przyczynę niebieskiego ekranu można było znaleźć jedynie w plikach systemowych komputera. Firma Microsoft stara się zmniejszyć liczbę interakcji między użytkownikiem a danymi systemowymi komputera, udostępniając różne narzędzia i aplikacje diagnostyczne wykrywające niebieskie ekrany.

Aby znaleźć przyczynę niebieskiego ekranu w systemie Windows 10 po aktualizacji rocznicowej, wykonaj następujące czynności:



Należy pamiętać, że niebieski ekran nie zawsze pojawia się podczas uruchamiania systemu Windows z powodu błędu oprogramowania. Może pojawić się z powodu problemów ze sprzętem (przegrzaniem lub uszkodzeniem podzespołów komputera) lub wirusami. Kiedy diagnostyka wykryje błąd Narzędzie Windows, możesz dowiedzieć się więcej na ten temat w witrynie Microsoft, korzystając z kodu błędu BugCheck.

Dlaczego musisz zdiagnozować przyczynę niebieskiego ekranu

Wielu użytkowników systemu Windows uważa za normalne ponowne uruchamianie komputera kilka razy w miesiącu z powodu niebieskiego ekranu BSOD. Ten błąd jest znane wielu i nie zastanawiają się nad wieloma problemami, do jakich może to prowadzić:

Jeśli niebieski ekran pojawia się regularnie, musisz ustalić przyczynę błędu i go wyeliminować.

W tym artykule porozmawiamy o takim zjawisku w systemie operacyjnym Windows jak - Niebieski ekran śmierci lub naszym zdaniem niebieski ekran śmierci", zwany także błędem STOP. Przyjrzyjmy się głównym przyczynom i odszyfrujmy te kody błędów.

Najpierw zdefiniujmy, co „ Niebieski ekran śmierci" to sposób na wygenerowanie komunikatu o błędzie krytycznym w systemach operacyjnych. Systemy Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista i Windows 7 spowodowane nieprawidłowym działaniem niektórych programów lub sterowników, ale jeszcze częściej z powodu awarii sprzętu komputerowego.

Niebieski ekran powoduje zatrzymanie wszystkich procesów w systemie operacyjnym i zawieszenie komputera po wyświetleniu niebieskiego ekranu. Ogólnie rzecz biorąc, niebieski ekran pomaga nam, możesz zapytać w jaki sposób, ale w tym sensie, że zapobiega zniszczeniu systemu operacyjnego i awarii sprzętu. Gdy " niebieski ekran śmierci» wyświetli się kod błędu i sposób jego rozwiązania. Może się jednak zdarzyć, że błąd STOP został spowodowany np. uszkodzeniem przesyłanych pakietów danych sieć lokalna, w tym przypadku pomaga proste ponowne uruchomienie. Jeśli błąd pojawia się przy każdym uruchomieniu systemu operacyjnego, to może to być już problem związany ze sprzętem komputera, np. uszkodzone sterowniki, system plików, dysk twardy, bloki pamięci RAM. Aby jednak poznać przyczyny zaistniałego błędu, konieczne jest przepisanie pierwszych dwóch linii wyjściowych błędu STOP. Na przykład, jak pokazano poniżej:

STOP 0x0000006B (0xC0000022, 0x00000000, 0x00000000, 0x00000000) PROCESS1_INITIALIZATION_FAILED

Gdzie 0xC0000022, 0x00000000, 0x00000000, 0x00000000— parametry, które ujawniają znaczenie tego BSoD.

Nawiasem mówiąc, jest mała funkcja, polega ona na tym, że w systemie operacyjnym, aby zobaczyć niebieski ekran, musisz najpierw to włączyć możliwość korzystania z okien lub po prostu nie zobaczysz tego ekranu; jeśli wystąpi błąd, komputer po prostu szybko uruchomi się ponownie (i tak dalej za każdym razem).

Aby włączyć tę opcję, przejdź do właściwości „Mój komputer”, wybierz zakładkę „Zaawansowane”. W polu „Rozruch i odzyskiwanie” kliknij przycisk „Opcje”. W wyświetlonym oknie odznacz pole „Wykonaj automatyczne ponowne uruchomienie”.

Gdy pojawi się błąd STOP, tekst komunikatu opisuje krótko sposób jego rozwiązania. angielski. Mogę jednak powiedzieć z całą pewnością, że obecnie najczęstszą przyczyną błędów STOP są problemy sprzętowe ze sprzętem komputerowym lub jego oprogramowaniem, a czasami z powodu niespójności między jednym a drugim.

Przejdźmy teraz bezpośrednio do samych błędów i przyjrzyjmy się przyczynom ich wystąpienia oraz krótkim rozwiązaniom.

0x00000001: APC_INDEX_MISMATCH

Wewnętrzny błąd jądra. Problem jest najczęściej związany z problemem ze sterownikiem, brakiem pamięci RAM lub miejsca na dysku twardym.

0x0000000A: IRQL_NOT_LESS_OR_EQUAL

Wystąpiła interferencja pamięci wirtualnej w wewnętrznym procesie IRQ wysokiego poziomu. Najczęstszą przyczyną jest to, że sterownik urządzenia używa nieprawidłowego adresu. Błąd występuje z powodu złych sterowników. Rzadko występuje z powodu nieprawidłowego działania jednego z urządzeń w systemie.
Parametry:

  1. Adres, pod którym złożono błędne żądanie
  2. IRQL używany do uzyskania dostępu do pamięci
  3. Typ dostępu do pamięci: 0 = operacja odczytu, 1 = operacja zapisu
  4. Adres instrukcji żądającej dostępu do pamięci pod adresem

0x0000001E: KMODE_EXCEPTION_NOT_HANDLED

Jest to bardzo częsty błąd. Zwykle wykluczony adres wskazuje sterownik lub funkcję, która spowodowała zawieszenie ekranu. Zawsze zwracaj uwagę nie tylko na określony sterownik, ale także na adres lub sam obraz zawierający ten błąd. Zwykle jest to kod wyjątku 0x80000003. Ten błąd oznacza, że ​​podczas dostępu do pamięci zainicjowano punkt przerwania lub procedurę obsługi, ale system został uruchomiony z przełącznikiem /NODEBUG. Ten błąd może nie pojawiać się zbyt często. Jeśli błąd pojawia się stale, upewnij się, że debuger jest podłączony i system uruchamia się z klawiszem /DEBUG.
W systemach innych niż Intel, jeśli adres wyjątku to 0XBFC0304, błąd występuje z powodu buforowania procesora. Jeśli błąd będzie się powtarzał, skontaktuj się z producentem procesora.
Zazwyczaj należy sprawdzić drugi parametr tego komunikatu, który wskazuje adres sterownika/funkcji, która była przyczyną problemu.
Parametry:

  1. Kod wyjątku
  2. Adres, którego nie udało się przetworzyć
  3. Parametr 0 - wyjątek
  4. Parametr 1 - wyjątek

0x00000020: KERNEL_APC_PENDING_DURING_EXIT

Nazwa błędu wskazuje uszkodzony/wyłączony licznik APC. Jeśli masz taką sytuację, sprawdź wszystkie systemy plików zainstalowane na komputerze, na przykład za pomocą zestawu ratunkowego EMRD.
Bieżący IRQL musi wynosić zero. Jeśli przerwanie IRQ nie jest równe zero, określona kolejność, w jakiej sterowniki są zwalniane po powrocie do wyższego poziomu przerwania, może spowodować błąd. Spróbuj zapamiętać, co robiłeś, jakie aplikacje zamknąłeś, jakie sterowniki były zainstalowane w momencie pojawienia się niebieskiego ekranu. Ten objaw wskazuje na poważny problem ze sterownikami innych firm.
Parametry:

  1. Adres APC w momencie awarii.
  2. Awaria wątku APC
  3. Aktualny poziom IRQ

0x00000023: FAT_FILE_SYSTEM

TŁUSZCZ).

0x00000024: NTFS_FILE_SYSTEM

Wystąpił błąd odczytu lub zapisu na partycji dysku twardego w formacie NTFS. Przyczyną awarii może być uszkodzenie systemu plików lub pojawienie się uszkodzonych sektorów na dysku. Przyczyną awarii może być także np oprogramowanie, zmiana struktury dysku ( programy szyfrujące itp.).

0x0000002A: NIEZGODNY_IRP

Pakiet żądań we/wy (IRP) nie działa; Występuje, gdy pole lub wiele pól jest niepoprawnych w porównaniu z zachowanym stanem IRP. Na przykład IRP był już wyłączony, gdy sterownik urządzenia czekał na polecenie.
Parametry:
1 - adres, pod którym znaleziono IRP w trybie bezczynności

0x0000002B: PANIC_STACK_SWITCH

Ten błąd występuje, gdy obszar stosu jądra jest pełny. Błąd występuje, gdy sterownik jądra wykorzystuje zbyt dużo miejsca na stosie. Możliwą przyczyną błędu może być również uszkodzenie samego jądra.

0x0000002E: BŁĄD_BUSY DANYCH

Ten błąd STOP występuje najczęściej z powodu awarii w obszarze pamięci RAM. Może się to zdarzyć, gdy sterownik próbuje uzyskać dostęp do adresu pamięci, który nie istnieje.
Parametry:

  1. Adres pamięci wirtualnej, który spowodował błąd
  2. Adres fizyczny przyczyny błędu
  3. Rekord stanu procesora (PSR)
  4. Rejestrowanie instrukcji błędów (FIR)

0x00000031: PHASE0_INITIALIZATION_FAILED

Inicjalizacja systemu nie mogła zostać zakończona na wczesnym etapie (faza 0). Konieczne jest bardziej szczegółowe przestudiowanie błędu, ponieważ ten kod błędu praktycznie nic nie mówi.
0x00000032: PHASE1_INITIALIZATION_FAILED
Inicjalizacja systemu nie mogła zostać ukończona na późnym etapie (faza 1). Konieczne jest bardziej szczegółowe przestudiowanie błędu, ponieważ ten kod błędu praktycznie nic nie mówi.
Parametry:

  1. Kod na poziomie systemu opisujący, dlaczego system uważa, że ​​inicjalizacja nie została zakończona
  2. Wskazuje lokalizację w INIT.C, gdzie inicjalizacja fazy 1 nie powiodła się

0x00000035: NO_MORE_IRP_STACK_LOCATIONS

Sterownik wysokiego poziomu próbował wywołać sterownik niskiego poziomu poprzez interfejs IoCallDriver(), ale w systemie nie było wolnego miejsca na stosie, dlatego sterownik niskiego poziomu nie osiągnie wymaganych parametrów, ponieważ nie ma żadnych parametrów w ogóle za to. Jest to sytuacja fatalna, ponieważ sterownik wysokiego poziomu uważa, że ​​wypełnił parametry sterownika niskiego poziomu (coś, co musiał zrobić, aby wywołać sterownik niskiego poziomu). Ponieważ jednak na obszarze stosu nie ma wolnego miejsca, koniec pakietu został nadpisany. Dzieje się tak często z powodu uszkodzenia bloków pamięci stosu. Konieczne jest sprawdzenie pamięci i sterowników pod kątem błędów.
Parametry:
1 - adres IRP

0x00000036: DEVICE_REFERENCE_COUNT_NOT_ZERO

Sterownik urządzenia próbował usunąć z systemu jeden z komponentów swojego urządzenia, ale licznik trafień tego komponentu nie był równy zeru - oznacza to, że za tym komponentem stoją jakieś zaległe zadania (licznik wskazuje kod błędu, który dlatego tego komponentu nie można rozładować). To jest błąd wywołania sterownika.
Parametry:
1 — adres obiektu

0x0000003E: MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED

System wieloprocesorowy nie jest względem siebie symetryczny. Aby zachować właściwą symetrię, procesory muszą być tego samego typu i poziomu. Na przykład, próba jednoczesnego użycia procesora Pentium i 80486 spowoduje błąd. Ponadto w systemach x86 funkcje zmiennoprzecinkowe muszą być dostępne na wszystkich procesorach lub na żadnym.

0x0000003F: NO_MORE_SYSTEM_PTES

Nie ma wystarczającej liczby PTE (wpisów w pliku stronicowania - punktów dostępu do pliku stronicowania). Zwykle przyczyną jest sterownik, który nie czyści dobrze pliku wymiany i powoduje jego zapełnienie. Przyczyną może być również nadmierna fragmentacja pliku stronicowania.

0x00000040: TARGET_MDL_TOO_SMALL

Sterownik wywołał IoBuildPartialMdl() i przekazał mu listę MDL, aby odsłonić źródłową część listy MDL, ale docelowy obszar MDL nie jest wystarczająco duży, aby pokazać limity wymaganych adresów. To jest błąd sterownika.

0x00000041: MUST_SUCCEED_POOL_EMPTY

Sterownik systemu zażądał miejsca w puli Must Suceed. Ta funkcja nie można tego zrobić, ponieważ system nie przydziela miejsca w puli Must Suceed. Wymień lub zaktualizuj wadliwy sterownik systemowy.
Parametry:

  1. Wymagana kwota żądania
  2. Używany numer strony
  3. Liczba żądanych stron
  4. Liczba dostępnych stron

0x00000044: MULTIPLE_IRP_COMPLETE_REQUESTS

Kierowca zażądał zakończenia IRP, ale pakiet został już ukończony. Ten błąd jest trudny do wykrycia. Możliwą przyczyną jest to, że sterownik wielokrotnie próbuje wykonać tę samą operację. Rzadki powód - 2 różne sterowniki próbując przejąć pakiet i zakończyć go. Pierwszy z nich zwykle działa, ale drugi nie. Trudno ustalić, który kierowca to zrobił, gdyż ślady pierwszego kierowcy zostały nadpisane przez drugiego.
Parametry:
1 - adres IRP

0x00000048: CANCEL_STATE_IN_COMPLETED_IRP

Ten błąd wskazuje, że pakiet żądań we/wy (IRP), który musi zostać zakończony, ma zdefiniowane w sobie polecenie anulowania, tj. oznacza to, że paczkę w tym trybie można anulować. Jednak paczka nie należy już do kierowcy, gdyż wkroczyła już w końcowy etap.
Parametry:
1 - adres IRP

0x00000049: PAGE_FAULT_WITH_INTERRUPTS_OFF

Błąd strony podczas dostępu do pamięci z wyłączonymi przerwaniami IRQ. Opis błędu jest taki sam jak 0x0000000A.

0x0000004C: FATAL_UNHANDLED_HARD_ERROR

Krytyczny, nierozpoznany błąd. Najbardziej prawdopodobne przyczyny opisano w 0xC0000218, 0xC000022A lub
0xC0000221.

0x0000004D: BRAK_STRON_DOSTĘPNYCH

Nie ma już wolnej pamięci strony, aby zakończyć operację. Sprawdź dostępne miejsce na dysku. Wymień sterownik. Parametry:

  1. Liczba wykorzystanych stron
  2. Liczba fizycznych stron na maszynie
  3. Rozszerzony rozmiar strony
  4. Ogólny rozmiar strony

0x0000004E: PFN_LIST_CORRUPT

Przyczyną jest uszkodzona/wadliwa struktura we/wy sterownika. Parametry:

  1. Wartość 1
  2. Wartość ListHead, która jest uszkodzona
  3. Liczba dostępnych stron
  1. Wartość 2
  2. Dane, które są usuwane
  3. Maksymalna liczba stron fizycznych
  4. Podsumowanie usuniętych danych

0x00000050: PAGE_FAULT_IN_NONPAGED_AREA

Występuje, gdy żądane informacje nie zostały znalezione w pamięci. System sprawdza plik stronicowania, ale brakujące informacje zostały wskazane jako niemożliwe do zapisania w pliku stronicowania.
Parametry:
1. wskazuje adres w pamięci, który spowodował błąd

0x00000051: BŁĄD_REJESTRU

Wystąpił błąd we/wy rejestru, gdy system próbował odczytać jeden z jego plików, co sugeruje, że błąd mógł być spowodowany problemem sprzętowym lub uszkodzeniem samego systemu. Może to również oznaczać, że błąd jest spowodowany operacją aktualizacji używaną tylko przez system bezpieczeństwa i błąd ten występuje, gdy kończą się zasoby. Jeżeli pojawi się taki błąd należy sprawdzić czy maszyna jest PDC czy BDC i ile kont znajduje się w bazie SAM (Security Account Manager) oraz czy odpowiadające im biblioteki są prawie pełne.
Parametry:
1. wartość 1 (wskazuje, gdzie wystąpił błąd)
2. wartość 2 (wskazuje, gdzie wystąpił błąd)
3. może wskazywać bibliotekę
4. może być kodem zwrotnym HvCheckHive, jeśli taki istnieje
biblioteka jest uszkodzona

0x00000058: FTDISK_INTERNAL_ERROR

System uruchomił się z przywróconej podstawowej partycji macierzy, w efekcie biblioteki zgłaszają, że lustro jest ok, ale w rzeczywistości tak nie jest. Rzeczywiste zdjęcia bibliotek znajdują się w kopia w tle. Musisz z nich uruchomić system.

0x00000067: CONFIG_INITIALIZATION_FAILED

Błąd oznacza, że ​​rejestr nie może przydzielić miejsca wymaganego do działania plików rejestru. Ten błąd nigdy nie może się pojawić, ponieważ proces rezerwowania takiego miejsca następuje na początku uruchamiania systemu i przydzielana jest wystarczająca ilość miejsca dla rejestru.
Parametry:
1. pięć
2. Wskazuje na NTOS\CONFIG\CMSYSINI, co nie powiodło się.

0x00000069: IO1_INITIALIZATION_FAILED

Nie udało się zainicjować urządzenia we/wy z nieznanego powodu. Dzieje się tak, jeśli instalator systemu błędnie zidentyfikował sprzęt podczas procesu instalacji systemu lub użytkownik nieprawidłowo przekonfigurował system.

0x0000006B: PROCESS1_INITIALIZATION_FAILED

Parametry:
1. raportuje do kodu procesu, który zdecydował, że inicjalizacja systemu nie powiodła się.
2. zgłasza się do lokalizacji w NTOS\PS\PSINIT.C, w której wykryto błąd.
0x0000006D: SESSION1_INITIALIZATION_FAILED 0x0000006E: SESSION2_INITIALIZATION_FAILED 0x0000006F: SESSION3_INITIALIZATION_FAILED 0x00000070: SESSION4_INITIALIZATION_FAILED 0x00000071: 5_ INITIALIZACJA_FAILED
Kody te (SESSION1 - SESSION5) wskazują lokalizację w NTOS\INIT\INIT.C, w której popełniono błąd.
Parametry:
1. zgłasza kod sesji, który zdecydował, że inicjalizacja systemu nie powiodła się.

0x00000073: CONFIG_LIST_FAILED

Wskazuje, że jeden z plików rejestru jest uszkodzony lub nieczytelny. Jeden z następujące pliki rejestr: OPROGRAMOWANIE, BEZPIECZEŃSTWO, SAM (Menedżer Bezpieczeństwa Konta). Możliwą przyczyną jest brak miejsca na dysku lub brak pamięci RAM.

0x00000074: BAD_SYSTEM_CONFIG_INFO

Ten błąd może wystąpić, ponieważ plik rejestru SYSTEM ładowany przez komponent NTLDR jest uszkodzony.
Ten błąd może również oznaczać, że brakuje niektórych wymaganych parametrów i ich parametrów. Załadowanie do LastKnownGood może rozwiązać ten problem. Możliwe jednak, że konieczna będzie ponowna instalacja systemu lub użycie dysku ratunkowego.

0x00000075: NIE MOŻNA_WRITE_KONFIGURACJA

Ten błąd może wystąpić, gdy nie można zapisać dodatkowych danych w plikach rejestru systemowego (SYSTEM i SYSTEM.ALT) podczas pierwszej fazy inicjalizacji rejestru (kiedy uzyskiwany jest dostęp do systemów plików). Ten błąd oznacza, że ​​na dysku nie ma wolnego miejsca i podjęto próbę zapisania rejestru na urządzeniu tylko do odczytu.

0x00000076: PROCESS_HAS_LOCKED_PAGES

Ten błąd może wystąpić z powodu niecałkowitego zwolnienia sterownika po operacji we/wy. Parametry:
1. adres procesu
2. liczba zamkniętych stron
3. liczba zarezerwowanych stron
4. zero

0x00000077: KERNEL_STACK_INPAGE_ERROR

Błąd odczytu jednej ze stron jądra systemu. Problemem jest uszkodzony blok pliku pamięci wirtualnej lub błąd kontrolera dysku (bardzo rzadko przyczyną może być brak zasobów systemowych, a dokładniej rezerwa pamięci niewirtualnej może się wyczerpać ze statusem c0000009a).
Jeśli pierwszy i drugi parametr kodu błędu wynoszą 0, oznacza to, że nie znaleziono lokalizacji błędu w jądrze. Oznacza to, że przyczyną błędu jest zły sprzęt.
Status we/wy c000009c (STATUS_DEVICE_DATA_ERROR) lub C000016AL (STATUS_DISK_OPERATION_FAILED) zwykle oznacza, że ​​informacji nie można odczytać z powodu uszkodzonego bloku w pamięci. Po ponownym uruchomieniu automatyczne sprawdzanie dysku spróbuje określić adres uszkodzonego bloku w pamięci. Jeśli status to C0000185 (STATUS_IO_DEVICE_ERROR) i pamięć wirtualna znajduje się na dysku SCSI, a następnie sprawdź połączenie i działanie urządzenia SCSI.
Parametry:
1. zero
2. zero
3. Wartość PTE w chwili wystąpienia błędu
4. adres błędu jądra lub

1. kod statusu
2. Kod stanu we/wy
3. numer strony pamięci wirtualnej
4. Przesunięcie w pliku stronicowania

0x00000079: MISMATCHED_HAL

Poziom kontroli HAL i typ konfiguracji HAL nie są odpowiednie dla jądra systemu lub typu maszyny. Ten błąd jest najprawdopodobniej spowodowany ręczną aktualizacją pliku NTOSKRNL.EXE lub HAL.DLL przez użytkownika. Albo maszyna ma wieloprocesorową warstwę HAL (MP) i jądro jednoprocesorowe (UP) lub odwrotnie.

0x0000007A: KERNEL_DATA_INPAGE_ERROR

Strona żądana przez jądro nie jest czytana. Przyczyną błędu jest uszkodzony blok w pamięci lub błąd kontrolera dysku. Zobacz także 0x00000077. Parametry:
1. zablokowany typ zamka
2. status błędu (zwykle kod we/wy)
3. bieżący proces (adres wirtualny dla blokowania typu 3 lub PTE)
4. Adres pamięci wirtualnej, którego nie można przenieść do pliku stronicowania

0x0000007B: INACCESSIBLE_BOOT_DEVICE

Podczas instalacji systemu we/wy sterownik urządzenia startowego mógł nie zainicjować urządzenia, z którego system próbował się uruchomić, lub system plików, który miał odczytać urządzenie, nie został zainicjowany lub po prostu nie rozpoznał informacje o urządzeniu, takie jak struktura systemu plików. W powyższym przypadku pierwszym argumentem jest adres struktury informacyjnej Unicode, czyli nazwa ARC urządzenia, z którego nastąpiła próba rozruchu. W drugim przypadku pierwszym argumentem jest adres obiektu urządzenia, którego nie można zamontować.
Jeśli ten błąd wystąpił podczas pierwszej instalacji systemu, mógł on zostać zainstalowany na dysku lub kontrolerze SCSI, który nie jest przez niego obsługiwany. Należy pamiętać, że niektóre kontrolery są obsługiwane wyłącznie przez biblioteki sterowników sterowników systemu Windows (WDL), które należy zainstalować w trybie instalacji niestandardowej.
Ten błąd może również wystąpić po zainstalowaniu nowego adaptera lub kontrolera SCSI lub po zmianie partycji systemowych. W takim przypadku w systemach x86 należy edytować plik BOOT.INI.
Parametry:
1. wskaźnik do obiektu urządzenia, ciągu Unicode lub nazwy ARC.

0x0000007D: INSTALL_MORE_MEMORY

Za mało pamięci RAM do uruchomienia jądra systemu Windows (wymagane 5 MB)
Parametry:
1. liczba znalezionych stron fizycznych
2. dolna strona fizyczna
3. górna strona fizyczna
4. zero

0x0000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

Wystąpił problem sprzętowy, problem ze sterownikiem lub wykryto mało miejsca na dysku. Błąd może pojawić się także podczas próby Aktualizacje systemu Windows XP do Service Pack 2 lub Service Pack 3 albo Windows Vista podczas próby aktualizacji do Service Pack 1. Przyczyna błędu może być związana ze sterownikami sprzętowymi. Konieczne jest cofnięcie zmian stanu z chwili instalacji dodatku Service Pack lub usunięcie zainstalowanej aktualizacji. Aby rozwiązać ten problem, należy zaktualizować sterowniki sprzętu ze strony producenta.

0x0000007F: UNEXPECTED_KERNEL_MODE_TRAP

Wystąpił nieoczekiwany wyjątek lub przerwanie trybu jądra, podczas którego jądro nie uruchamia się. Przyczyną błędu może być również przerwa, która pociąga za sobą natychmiastową śmierć w postaci podwójnego błędu. Pierwsza liczba w kodzie błędu to numer przerwania (8 = podwójny błąd). Aby dowiedzieć się więcej na temat tego przerwania, zapoznaj się z instrukcją rodziny procesorów Intel x86.
Innymi słowy, błąd pojawia się, gdy procesor popełni błąd, z którym jądro nie jest w stanie sobie poradzić. Najczęściej błąd występuje z powodu złych bloków pamięci RAM, a czasami z powodu podkręcania procesora.
Spróbuj wyłączyć funkcję synchronicznego przesyłania danych w BIOS-ie.

0x00000080: NMI_HARDWARE_FAILURE

Błąd podczas inicjowania jądra na tym sprzęcie. HAL powinien dostarczyć wszelkie posiadane szczegółowe informacje i zachęcić użytkownika do skontaktowania się ze sprzedawcą sprzętu w celu uzyskania pomocy technicznej.

0x00000085: SETUP_FAILURE

Podczas wcześniejszego ładowania instalatora systemowego pojawia się błąd Wersje Windowsa NT Formularz tekstowy instalacji nie korzysta już z procedury sprawdzania błędów, aby uniknąć powodowania poważnych zakłóceń podczas instalacji. Dlatego nigdy nie napotkasz tego błędu. Całe sprawdzanie błędów zostało zastąpione bardziej przyjaznymi i (jeśli to możliwe) bardziej informacyjnymi komunikatami o błędach.

0x0000008B: MBR_CHECKSUM_MISMATCH

Błąd występuje podczas procesu uruchamiania, gdy suma kontrolna MBR obliczona przez system nie jest zgodna z sumą kontrolną programu ładującego. Zwykle oznacza to wirusa. Przeskanuj sektor rozruchowy program antywirusowy, po wcześniejszym uruchomieniu z płyty CD.
Parametry KerBugCheckEx:
1 — Podpis dysku w MBR
2 - suma kontrolna MBR zapisana do osloadera
3 - Suma kontrolna MBR zarejestrowana w systemie

0x0000008E: PAGE_FAULT_IN_NON_PAGED_AREA

Niekompatybilne lub wadliwe bloki pamięci RAM. Zdiagnozuj pamięć i wymień uszkodzone moduły RAM.

0x0000008F: PP0_INITIALIZATION_FAILED

Błąd występuje podczas inicjalizacji fazy 0 menedżera Plug and Play w trybie jądra. Sprawdź swój sprzęt i dysk systemowy.

0x00000090: PP1_INITIALIZATION_FAILED

Błąd występuje podczas inicjalizacji fazy podstawowej menedżera Plug and Play w trybie jądra. W tym momencie zostały zainicjowane pliki systemowe, sterowniki i rejestr. Sprawdź swój sprzęt i dysk systemowy.

0x00000092: UP_DRIVER_ON_MP_SYSTEM

Błąd występuje, gdy sterownik jednoprocesorowy jest ładowany w systemie, w którym jest więcej niż jeden aktywny procesor. Parametry KeBugCheckEx: 1 — Adres bazowy sterownika jednoprocesorowego

0x00000093: INVALID_KERNEL_HANDLE

Błąd występuje, gdy kod jądra lub inne krytyczne składniki systemu operacyjnego próbują zamknąć nieprawidłowe dojście.
Parametry:
1 - Wywołano uchwyt NtClose
2 - 0 oznacza, że ​​chroniona klamka została zamknięta
1 oznacza, że ​​zamknięto niewłaściwy uchwyt
0x00000094: KERNEL_STACK_LOCKED_AT_EXIT
Ten komunikat pojawia się, gdy wątek istnieje, a jego stos jest oznaczony jako zablokowany. Problem jest spowodowany przez sterownik sprzętu.

0x00000096: INVALID_WORK_QUEUE_ITEM

0x00000097: BOUND_IMAGE_UNSUPPORTED

Problem jest spowodowany nieprawidłowym sterownikiem sprzętu.

0x00000098: END_OF_NT_EVALUATION_PERIOD

Wersja demonstracyjna systemu Windows wygasła. Parametry:
1 — Data instalacji (dolne 32-bity)
2 - Data instalacji (górne 32-bity)
3 — Okres próbny w minutach.

0x00000099: INVALID_REGION_OR_SEGMENT

Wywołano ExInitializeRegion lub ExInterlockedExtendRegion z niepoprawnym zestawem parametrów.

0x0000009A: SYSTEM_LICENSE_VIOLATION

Nastąpiło naruszenie umowy licencyjnej oprogramowania. Może to być spowodowane próbą zmiany typu produktu systemowego lub próbą zmiany okresu próbnego systemu operacyjnego.

0x0000009B: UDFS_FILE_SYSTEM

Wystąpił błąd odczytu lub zapisu na nośniku w formacie UDFS. Przyczyną awarii może być uszkodzenie systemu plików lub pojawienie się uszkodzonych sektorów na dysku. Przyczyną awarii może być także oprogramowanie zmieniające strukturę dysku (programy szyfrujące itp.).

0x0000009C: MACHINE_CHECK_EXCEPTION

Błąd krytyczny Wyjątek sprawdzania komputera. Błąd związany jest z nieprawidłową konfiguracją sprzętu, podkręceniem procesora, niestabilną pracą jednostek RAM, przegrzaniem elementów systemu i niestabilną pracą zasilacza.

0x0000009F: DRIVER_POWER_STATE_FAILURE

Sterownik ma niespójny lub niedopuszczalny stan zużycia energii. Zwykle dzieje się tak z powodu awarii zasilania, ponownego uruchamiania, wychodzenia z trybu uśpienia itp. Konieczna jest wymiana wadliwego sterownika lub usunięcie oprogramowania sterującego systemem plików (programy antywirusowe, programy szyfrujące

0x000000A5: ACPI_BIOS_ERROR

Powód tej wiadomości są ciągłymi awariami BIOS-u ACPI. Tego problemu nie można rozwiązać na poziomie systemu operacyjnego. Wymagana jest szczegółowa analiza.

0x000000B4: VIDEO_DRIVER_INIT_FAILURE

System Windows nie mógł załadować sterownika karty graficznej. Problem dotyczy głównie sterowników wideo lub występuje konflikt sprzętowy z kartą graficzną. Uruchom ponownie w tryb bezpieczny i zmień sterownik wideo na standardowy.

0x000000BE: ATTEMPTED_WRITE_TO_READONLY_MEMORY

Sterownik próbował zapisać dane w urządzeniu pamięci tylko do odczytu (ROM), na którym nie można zapisać. Problem wynika głównie z instalacji złego sterownika urządzenia, usługi lub oprogramowania sprzętowego. Zmień sterownik.
_MEMORY_KORRUPCJA
Sterownik zapisał dane w nieprawidłowej sekcji pamięci. Zmień sterownik.

0x000000C2: BAD_POOL_CALLER

Jądro systemu lub sterownik wydało nieprawidłowe polecenie dostępu do pamięci. Zwykle przyczyną tego błędu jest zły sterownik lub oprogramowanie. Zmień sterownik.

0x000000C4: DRIVER_VERIFIER_DETECTED_VIOLATION

Moduł sprawdzający sterowniki wykrył błąd krytyczny w module generowania błędów STOP. Parametry towarzyszące to parametry przekazywane do KeBugCheckEx i wyświetlane na niebieskim ekranie. Zmień sterownik.

0x000000C5: DRIVER_CORRUPTED_EXPOOL

Podjęto próbę uzyskania dostępu do procesu IRQL wysokiego poziomu z nieprawidłowego miejsca w pamięci. Ten błąd prawie zawsze występuje z powodu sterowników, które uszkodziły pulę systemową. Zmień sterownik.

0x000000C6: DRIVER_CAUGHT_MODIFYING_FREED_POOL

Sterownik próbował uzyskać dostęp do zwolnionej puli pamięci. Zmień sterownik.

0x000000C7: TIMER_OR_DPC_INVALID

Zegar jądra lub opóźnione wywołanie procedury (DPC) znajduje się w zabronionej lokalizacji pamięci. Ten błąd występuje, gdy sterownik nie był w stanie wykonać licznika czasu jądra lub opóźnionego wywołania procedury (DPC) przed rozładowaniem pamięci. Zmień sterownik.

0x000000C9: DRIVER_VERIFIER_IOMANAGER_VIOLATION

To jest wiadomość od jednego z menedżerów ds. weryfikacji sterowników. Zmień sterownik.

0x000000CB: DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS

Błąd podobny do błędu STOP 0x00000076. Różni się od tego ostatniego jedynie tym, że w tym przypadku błąd został wykryty podczas śledzenia jądra. Błąd wskazuje, że sterownik lub menedżer we/wy nie może otworzyć zablokowanych stron po operacji we/wy. Zwróć uwagę na nazwę sterownika aplikacji w oknie błędu STOP. Zmień sterownik.

0x000000CE: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

Sterownik nie może anulować stanu zamrożenia komponentów systemu. Błąd zwykle pojawia się po zainstalowaniu złych sterowników lub komponentów usług. Zmień sterownik.

0x000000D1: DRIVER_IRQL_NOT_LESS_OR_EQUAL

System próbował uzyskać dostęp do pamięci stronicowanej za pomocą procesu jądra poprzez IRQL wysokiego poziomu. Najczęstszą przyczyną jest zły sterownik urządzenia. Może to być również spowodowane uszkodzoną pamięcią RAM lub uszkodzonym plikiem strony.

0x000000D8: DRIVER_USED_EXCESSIVE_PTES

Błąd występuje, gdy sterownik zażąda dużej ilości pamięci jądra.

0x000000E3: ZASOBY_NOT_OWNED

Różne awarie związane z systemem plików powodują ten błąd STOP. Problem może być związany ze sterownikiem NTFS.SYS.

0x000000EA: THREAD_STUCK_IN_DEVICE_DRIVER

Problematyczny sterownik urządzenia spowodował zawieszenie systemu. Zazwyczaj jest to spowodowane przez sterownik ekranu, gdy komputer próbuje przejść do trybu gotowości. Ten problem jest związany z kartą wideo lub złym sterownikiem wideo.
Wystąpił problem z połączeniem dysk rozruchowy. Błąd może wystąpić na komputerach z wydajnymi kontrolerami dysków, które nie zostały poprawnie skonfigurowane i zainstalowane lub zostały podłączone kablem niskiej jakości. Po normalnym ponownym uruchomieniu system może wznowić normalne działanie, jakby nic się nie stało. Ten błąd pojawia się także po nieprawidłowym uzupełnieniu Obsługa Windowsa a awaria może być spowodowana uszkodzeniem systemu plików.

0x000000F2: HARDWARE_INTERRUPT_STORM

Ten komunikat pojawia się, jeśli jądro wykryje burzę przerwań, to znaczy, gdy urządzenie spowodowane poziomem przerwania nie jest w stanie wystawić żądania przerwania. Zwykle jest to spowodowane złym sterownikiem urządzenia.

0x000000F3: BŁĄD WYŁĄCZENIA

Zamykanie systemu Windows uległo awarii z powodu niewystarczającej ilości pamięci. Ustal, któremu programowi kończy się pamięć, spróbuj dowiedzieć się, dlaczego pamięć wirtualna nie zapewnia potrzebnych zasobów systemowych i sprawdź, czy program (lub czasami sterownik) odmawia zakończenia bez zwolnienia otwartych stron w pamięci.

0x000000FA: HTTP_DRIVER_CORRUPTED

Sterownik systemowy Http.sys jest uszkodzony. Ten komponent należy przywrócić z oryginalnego dysku.

0x000000FC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

Podjęto próbę wykonania funkcji w pamięci niewykonywalnej. Parametry:
1 — Adres, z którego podjęto próbę wykonania funkcji
2 - Treść wpisu tablicy stron (PTE)
0x000000FD: DIRTY_NOWRITE_PAGES_CONGESTION
Brakuje wolnej pamięci strony, aby kontynuować podstawowe operacje systemu.
Parametry:
1 — Całkowita żądana ilość pamięci stronicowanej
2 - Ilość żądanej pamięci stronicowanej, w której nie można zapisać.
3 —
4 — Kod stanu w momencie ostatniego zapisu do pamięci strony

0x000000FE: BUGCODE_USB_DRIVER

Wystąpił krytyczny błąd w Obsługa USB kontroler i powiązane z nim urządzenia. Problem jest zwykle spowodowany nieprawidłową pracą kontrolera USB lub nieprawidłowym działaniem podłączonych urządzeń USB. Odłącz wszystkie urządzenia USB od komputera, spróbuj także wyłączyć kontroler USB w BIOS-ie. Zaktualizuj sterowniki USB.

0x00000101:CLOCK_WATCHDOG_TIMEOUT

Wskazuje, że oczekiwane przerwanie zegara na dodatkowym procesorze w systemie wieloprocesorowym nie zostało odebrane w określonym przedziale czasu. Ten procesor nie obsługuje przerwań. Zwykle dzieje się tak, gdy procesor nie odpowiada lub wszedł w nieskończoną pętlę.
Parametry:
1 — Interwał blokowania czasu przerwania zegara, w
nominalne cykle zegara systemowego
2 - zero
3 - Adres bloku sterującego procesora (PRCB) w przypadku braku odpowiedzi
edytor
4 - zero

0x00000104: AGP_INVALID_ACCESS

Procesor graficzny podjął próbę zapisu w pamięci, która nie była dla niego zarezerwowana. Błąd jest związany ze sterownikiem wideo lub stara wersja BIOS.
Parametry:
1 — Przesunięcie (w ULONG) na stronach AGP do pierwszych danych
ULONG, którego dane zostaną zniszczone
2 - zero
3 - zero
4 - zero

0x00000105: AGP_GART_CORRUPTION

Błąd pojawia się, gdy uszkodzona jest tabela ponownego mapowania apertury graficznej (GART). Błąd jest spowodowany nieprawidłowym działaniem sterownika DMA (Direct Memory Access).
Parametry:
1 - Adres bazowy (wirtualny) w GART
2 - Przesunięcie w GART w przypadku wykrycia zniekształcenia
3 - Adres bazowy (wirtualny) z pamięci podręcznej GART (kopia GART)
4 - zero

0x00000106: AGP_ILLEGALLY_REPROGRAMMED

Błąd jest spowodowany niepodpisanym lub uszkodzonym sterownikiem wideo. Wymień sterownik wideo. Parametry:
1 - Oryginalny zespół
2 - Obecny zespół
3 - zero
4 - zero

0x00000108: THIRD_PARTY_FILE_SYSTEM_FAILURE

Wystąpił błąd krytyczny w filtrze systemu plików innej firmy. Przyczyną błędu może być oprogramowanie antywirusowe, programy do defragmentacji, programy do tworzenia kopii zapasowych danych i inne narzędzia innych firm. Spróbuj także zwiększyć rozmiar pliku strony i pamięci RAM.

0x00000109: CRITICAL_STRUCTURE_CORRUPTION

Jądro systemu wykryło nieprawidłowy kod lub naruszenie integralności danych. Systemy oparte na kodzie 64 są chronione przed tym błędem. Przyczyną problemu może być awaria pamięci RAM lub sterowniki innych firm.

0x0000010E: VIDEO_MEMORY_MANAGEMENT_INTERNAL

Wykryto wewnętrzny błąd sterownika wideo. Problem ze sterownikiem wideo.

0x0000010F: RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED

Wystąpił wyjątek w menedżerze zasobów trybu jądra.

0x00000112: MSRPC_STATE_VIOLATION

Komponent systemowy msrpc.sys zwrócił kod błędu podczas wykonywania. Kod błędu jest określony w pierwszym parametrze.

0x00000113: VIDEO_DXGKRNL_FATAL_ERROR

Jądro grafiki DirectX napotkało błąd krytyczny.

0x00000114: VIDEO_SHADOW_DRIVER_FATAL_ERROR

Sterownik wideo Shadow napotkał błąd krytyczny.

0x00000115: AGP_INTERNAL

Sterownik portu wideo wykrył błąd krytyczny w interfejsie wideo AGP.

0x00000116: VIDEO_TDR_ERROR

Resetowanie limitu czasu sterownika wideo nie powiodło się.

0x0000011C: ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE

Podjęto próbę zapisu w chronionym przed zapisem obszarze menedżera konfiguracji: Parametry:
1 — Wirtualny adres próby polecenia zapisu
2 - Zawartość PTE
3 - zarezerwowane
4 - zarezerwowane Nazwa sterownika próbującego wykonać operację zapisu jest drukowana jako
Ciąg Unicode na ekranie błędu.

0x00000121: KIEROWCA_VIOLACJA

Sterownik naruszył dostęp do jednego z obszarów pamięci. Parametry:
1 – opisuje rodzaj naruszenia
2 - zarezerwowane
3 - zarezerwowane Użyj debugera jądra i spójrz na stos wywołań, aby to ustalić
imię i nazwisko kierowcy, który spowodował naruszenie zasad dostępu.

0x00000122: WHEA_INTERNAL_ERROR

Wystąpił błąd wewnętrzny w architekturze wykrywania błędów sprzętowych Narzędzia systemu Windows(Architektura błędów sprzętowych systemu Windows (WHEA))

0x00000124: WHEA_UNCORRECTABLE_ERROR

Wystąpił błąd w sprzęcie komputera. Ten błąd jest wykrywany przez architekturę błędów sprzętowych systemu Windows (WHEA)

0x00000127: PAGE_NOT_ZERO

Strona pamięci nie została całkowicie wypełniona zerami. Ten błąd występuje z powodu awarii sprzętu lub z powodu wyzwolenia uprzywilejowanego składnika systemu operacyjnego, który spowodował przedwczesną zmianę strony w pamięci.
Parametry:

strona.

3 - zero
4 - zero

0x0000012B: FAULTY_HARDWARE_CORRUPTED_PAGE

Na stronie pamięci wykryto pojedynczy błąd bitowy. Ten błąd jest związany ze sprzętową pamięcią RAM. Parametry:
1 - Adres wirtualny w pamięci, co oznacza błędny
strona.
2 - Numer strony fizycznej
3 - zero
4 - zero

0x0000012C: EXFAT_FILE_SYSTEM

Wystąpił błąd odczytu lub zapisu na partycji nośnika w formacie exFat. Przyczyną awarii może być uszkodzenie systemu plików lub pojawienie się uszkodzonych sektorów na dysku. Awaria może być również związana z oprogramowaniem zmieniającym strukturę dysku (programy szyfrujące itp.). Ten błąd dotyczy nośników sformatowanych dla systemu Windows Vista z dodatkiem Service Pack 1.

0x1000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M
0x1000008E: KERNEL_MODE_EXCEPTION_NOT_HANDLED_M
0xC000009A: STATUS_INSUFFICIENT_RESOURCES

Jądro systemowe systemu operacyjnego wyczerpało wszystkie zasoby systemowe do swojej pracy, w tym plik stronicowania. Sprawdź dysk pod kątem błędów. Zwiększ rozmiar dysku twardego i ilość pamięci RAM.

0xC0000135: NIE MOŻNA ZLOKALIZOWAĆ DLL

Windows próbował się uruchomić Biblioteka DLL i otrzymałem kod błędu. Możliwa przyczyna: brak pliku lub jest on uszkodzony. Rejestr systemu może również zostać uszkodzony.

0xC0000142: Błąd inicjalizacji biblioteki DLL

Ten błąd był spowodowany uszkodzeniem systemowej biblioteki DLL.

0xC0000218: UNKNOWN_HARD_ERROR

Nie można załadować wymaganego pliku rejestru. Plik może być uszkodzony lub go brakować (dysk ratunkowy lub ponowna instalacja systemu Windows). Pliki rejestru systemowego mogły zostać zniszczone w wyniku uszkodzenia dysku twardego. Sterownik mógł uszkodzić dane rejestru podczas ładowania do pamięci lub pamięć, do której załadowano rejestr, zawiera błąd parzystości (wyłącz zewnętrzną pamięć podręczną i sprawdź pamięć RAM).

0xC000021A: STATUS_SYSTEM_PROCESS_TERMINATED

Dzieje się tak, gdy system Windows przełączył się do trybu uprzywilejowanego, a podsystemy trybu nieuprzywilejowanego, takie jak Winlogon lub podsystem środowiska wykonawczego serwera klienta (CSRSS), spowodowały jakąś awarię i nie można zagwarantować ochrony. Ponieważ system Windows XP nie może działać bez Winlogon lub CSRSS, jest to jedna z niewielu sytuacji, w których awaria usługi trybu nieuprzywilejowanego może spowodować, że system przestanie odpowiadać. Może się to również zdarzyć, gdy komputer zostanie ponownie uruchomiony po zmianie uprawnień administratora systemu w taki sposób, że SYSTEM konto nie miał już odpowiednich uprawnień dostępu do plików i folderów systemowych. Błąd może być również spowodowany uszkodzeniem pliku user32.dll lub nieprawidłowymi sterownikami systemowymi (.sys)

0xC0000221: STATUS_IMAGE_CHECKSUM_MISMATCH

sterownik jest uszkodzony lub biblioteka systemowa została uznana za uszkodzoną. System robi wszystko, aby sprawdzić integralność ważnych pliki systemowe. Niebieski ekran pokazuje nazwę uszkodzonego pliku. Jeśli tak się stanie, uruchom system w dowolnym innym systemie lub, jeśli go nie ma, zainstaluj system ponownie. Upewnij się, że wersja pliku, który został wykryty jako uszkodzony, jest zgodna z wersją pliku w dystrybucji systemowej i jeśli tak, wymień go z dysku. Ciągłe błędy z różnymi nazwami plików wskazują, że występują problemy z nośnikiem pamięci lub kontrolerem dysku, na którym znajdują się te pliki.

0xC0000244

Błąd STOP występuje, gdy zasada inspekcji włącza ustawienie CrashOnAuditFail

0xC000026C

Zwykle oznacza problemy ze sterownikiem urządzenia. Więcej informacji na temat tego błędu

0xDEADDEAD: MANUALLY_INITIATED_CRASH1

„Nie żyje, Jim!” (Umarło, Jim!) Ten błąd STOP wskazuje, że użytkownik celowo spowodował awarię, albo z debugera jądra, albo z klawiatury.

Oto mała lista błędów, które mogą pojawić się w systemy operacyjne Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista i Windows 7. Każdy boi się niebieskiego ekranu śmierci, ale tak naprawdę, gdyby go nie było, komputer po prostu by się zepsuł, a ty musisz wysłać swój sprzęt do naprawy, kupić nowy, a może nawet cały komputer. Dlatego oddajmy hołd twórcom tego systemu operacyjnego, którzy dbają o nasze portfele. Na tym kończymy naszą rozmowę na temat słynnego „ Niebieski ekran śmierci».

Niebieski ekran śmierci(eng. Niebieski ekran śmierci, niebieski ekran zagłady, BSoD) - komunikaty o krytycznym błędzie systemowym w systemach operacyjnych Microsoft Windows. Wiele osób, które napotykają niebieski ekran śmierci na swoim komputerze/laptopie, widzi jedyne rozwiązanie jako ponowną instalację systemu operacyjnego. Ale czasami system operacyjny nie ma z tym nic wspólnego, ale problem tkwi w sprzęcie. Aby nie zgadywać - dlaczego pojawił się niebieski ekran śmierci, musisz skorzystać z informacji dostarczonych przez sam system operacyjny w postaci logów. W tym artykule opiszę krok po kroku, jak znaleźć przyczynę niebieskiego ekranu śmierci.

Tak więc pojawienie się niebieskiego ekranu śmierci jest zawsze nieoczekiwane i w niewłaściwym czasie, więc wielu po prostu nie ma czasu, aby zobaczyć, co jest napisane, i trzeba tam powiedzieć (choć nie w bardzo wyraźnej formie) przyczyny porażka. W pierwszej kolejności sugeruję ustawienie komputera/laptopa tak, aby po awarii systemu nie uruchamiał się od razu od razu, ale dawał możliwość zobaczenia przyczyny awarii, jeżeli te informacje nie wystarczą, należy poszukać wysypisko plik zawierający informacje: kod błędu z parametrami, listę sterowników załadowanych do pamięci RAM w momencie awarii systemu itp., ale ta informacja wystarczy do zidentyfikowania wadliwego sterownika.

Ustawienia dotyczące ponownego uruchamiania po awarii systemu można określić klikając kliknij prawym przyciskiem myszy myszą na skrócie Mój komputer/Komputer (odpowiedni dla Windows XP, Windows7, Windows8), wybierz „ Właściwości" lub naciśnij kombinację klawiszy + . Wszystkie poniższe spódnice będą dotyczyć systemu Windows 7, ta sama metoda jest skonfigurowana w systemach Windows XP, Windows 8, Windows 8.1.

Na „zakładce” Dodatkowo„wybierz w polu Boot and Recovery” Opcje".

Odznacz „ Wykonaj automatyczne ponowne uruchomienie", aby mieć czas na zobaczenie wszystkiego, co pisze niebieski ekran śmierci. Linia Plik zrzutu wskazuje ścieżkę, w której plik zostanie zapisany, co wskaże przyczyny niepowodzenia.

Teraz możesz dokładnie przestudiować informacje, gdy pojawi się niebieski ekran śmierci. Jeśli Twój komputer już się nie uruchamia i nie możesz zmienić tych ustawień, w takim przypadku podczas uruchamiania naciśnij klawisz F8 na klawiaturze i wybierz pozycję menu „Jeśli system ulegnie awarii, nie uruchamiaj ponownie”.

Jeśli wskazane informacje nie są wystarczające, możesz użyć zrzutu ( plik dmp). Aby to zrobić, możesz użyć narzędzia Microsoft-Microsoft narzędzie do debugowania, ale dużo waży i wymaga instalacji i frameworka 4.5. Jeśli skorzystasz z programu, możesz obejść się bez poświęceń Widok BlueScreenu . Moim zdaniem bardzo wygodny program, który nie wymaga instalacji i w języku rosyjskim (dodaj plik do folderu programu). Uruchamiając plik BlueScreenView.exe otworzy się interfejs programu, w którym będzie już załadowany zrzut tego komputera (domyślna ścieżka to C:\Windows\MiniDump, jeśli przejdziesz do Ustawienia - Zaawansowane parametrów, możesz określić inną ścieżkę, jeśli zrzut został skopiowany do innej lokalizacji).

Niebieski ekran śmierci (BSOD) jest jednym z najbardziej irytujących problemów Użytkownik Windowsa może się zderzyć. Umiejętność ustalenia przyczyny awarii jest jedną z najważniejszych form diagnozowania BSOD. Błąd z kodem niebieskiego ekranu może wystąpić z różnych powodów i bez analizy, co jest przyczyną błędu, trudno go wyeliminować. Oto główne przyczyny niebieskiego ekranu śmierci BSOD:

  • Konflikty sterowników- Konflikty sterowników mają miejsce, gdy dwóch lub więcej sterowników nie może ze sobą prawidłowo współpracować. Może się to również zdarzyć, jeśli dla tego samego urządzenia zostanie zainstalowanych wiele sterowników bez odinstalowania poprzedniej wersji.
  • Konflikty sprzętowe- Nieprawidłowe podkręcanie komputera może natychmiast spowodować BSOD. Niebieski ekran śmierci może również wystąpić, jeśli kości RAM nie są prawidłowo zainstalowane lub jeśli element sprzętu zaczyna się zużywać.
  • Błędy systemu operacyjnego (OS).- Błąd użytkownika lub złośliwe oprogramowanie może usunąć ważne pliki systemu operacyjnego. Brak znaczących plików może spowodować paraliżujący błąd, powodujący przejście komputera w cykl BSOD, podczas którego przy każdym włączeniu komputera pojawia się niebieski ekran.

Przygotowanie do analizy zrzutu pliku BSOD

Ilekroć pojawia się błąd BSOD, system Windows zrzuca pewne informacje na jego temat do pliku na komputerze, ale próbuje to zrozumieć plik zrzutu bardzo złożone. Jednym z łatwiejszych sposobów zrozumienia jest użycie narzędzia BlueScreenView firmy NirSoft, bezpłatne narzędzie, które wyszukuje te pliki zrzutów i wyświetla je w bardziej przyjaznej dla użytkownika formie. Przede wszystkim należy sprawdzić ustawienia raportu zrzutu pamięci w samym systemie Windows:

  • Trzask Wygraj + R i wejdź sysdm.cpl
  • Przejdź do zakładki Dodatkowo i wybierz poniżej

  • Upewnij się, że masz włączone ustawienia rejestrowania błędów.

Teraz pobierz program Widok BlueScreenu przewiń do środka witryny, aby pobrać plik. Zobaczysz trzy linki jak na obrazku poniżej, wybierz instalator, który jest dla Ciebie najwygodniejszy. Jeśli chcesz zrusyfikować program, znajdź w tabeli poniżej język rosyjski i pobierz plik. Pobrany plik będzie zawierał plik „BlueScreenView_lng”, wystarczy umieścić go w programie instalacyjnym w katalogu głównym.


Znajdź kody błędów niebieskiego ekranu śmierci

Po uruchomieniu program wyświetli błędy w plikach i zrzutach pamięci. Jak widać na poniższym rysunku, pojawia się niebieski ekran z błędem ndis.sys i prawdopodobnie występuje problem z plikiem ntoskrni.exe. W górnej kolumnie widzę pełny raport zrzutu pliku i klikając go prawym przyciskiem myszy, mogę wyszukać w Google informacje na temat poprawki. Błąd jest najprawdopodobniej związany z zainstalowaną maszyną wirtualną, a dokładniej z wirtualną kartą sieciową i programem antywirusowym, co powoduje błąd niebieskiego ekranu po przejściu w tryb uśpienia i pierwszym uruchomieniu systemu.


Jak naprawić kody błędów niebieskiego ekranu śmierci

Podam kilka sposobów, co zrobić i jak wyeliminować błędy popularnymi metodami:

  • Kiedy na przykład w systemie Windows 10 pojawi się niebieski ekran śmierci, tak się stanie Kod QR który przekieruje Cię na stronę.
  • Na stronie internetowej Microsoftu istnieje już baza danych z Błędy BSOD i narzędzia podpowiedzi.
  • Użyj Microsoft Virtual Agent, wpisz BSOD w pierwszej linii i postępuj zgodnie z instrukcjami.
  • Microsoft sugeruje również bieganie

Znalezienie błędów w programach nie jest łatwym zadaniem. Nie ma tu gotowych technik i recept na sukces. Można nawet powiedzieć, że jest to sztuka. Istnieją jednak ogólne wskazówki, które pomogą Ci w wyszukiwaniu. W artykule opisano podstawowe kroki, które należy podjąć, jeśli Twój program nie działa poprawnie.

Krok 1: Zaloguj błąd do modułu śledzącego

Po wykonaniu wszystkich opisanych poniżej kroków może się zdarzyć, że siedząc w pracy z rozpaczy będziesz wyrywać sobie włosy z głowy, kiedy zorientujesz się, że:

  1. Zapomniałeś o jakimś ważnym szczególe dotyczącym błędu, np. co to było.
  2. Możesz zlecić to komuś bardziej doświadczonemu.

Tracker pomoże Ci nie stracić wątku myślenia zarówno o bieżącym problemie, jak i tym, który chwilowo odłożyłeś na później. A jeśli pracujesz w zespole, pomocne może być delegowanie poprawek koledze i utrzymanie całej dyskusji w jednym miejscu.

Musisz zapisać w trackerze następujące informacje:

  1. Co zrobił użytkownik.
  2. Co spodziewał się zobaczyć?
  3. Co się naprawdę wydarzyło.

To powinno dać ci wskazówkę, jak odtworzyć błąd. Jeśli nie możesz go odtworzyć w żadnym momencie, szanse na naprawienie błędu są nikłe.

Krok 2: Poszukaj komunikatu o błędzie w Internecie

Jeśli pojawi się komunikat o błędzie, masz szczęście. Albo będzie wystarczająco pouczający, abyś wiedział, gdzie i na czym polega błąd, albo będziesz mieć gotowe zapytanie do przeszukania Internetu. Pechowy? Następnie przejdź do następnego kroku.

Krok 3: Znajdź linię, w której występuje błąd

Jeśli błąd powoduje awarię programu, spróbuj uruchomić go w środowisku IDE w debugerze i zobacz, na którym wierszu kodu się zatrzymuje. Nie jest absolutnie konieczne, aby błąd znajdował się w tej linii (patrz następny krok), ale przynajmniej może dostarczyć informacji o naturze błędu.

Krok 4: Znajdź dokładną linię, w której pojawił się błąd

Po znalezieniu wiersza, w którym występuje błąd, możesz cofnąć się w kodzie, aby dowiedzieć się, gdzie on się znajduje. Czasami może to być ten sam ciąg. Ale najczęściej okazuje się, że linia, w której program się zawiesił, nie ma z tym nic wspólnego, a przyczyną błędu są nieprawidłowe dane, które pojawiły się wcześniej.

Jeśli monitorujesz wykonanie programu w debugerze, możesz wrócić do śledzenia stosu, aby znaleźć błąd. Jeśli znajdujesz się w funkcji wywoływanej wewnątrz innej funkcji wywoływanej w innej funkcji, to ślad stosu pokaże listę funkcji aż do samego punktu wejścia do programu (funkcja main()). Jeśli błąd wystąpi gdzieś w dołączonej bibliotece, załóż, że błąd nadal występuje w Twoim programie – zdarza się to znacznie częściej. Użyj śledzenia stosu, aby dowiedzieć się, skąd w kodzie wywoływana jest funkcja biblioteczna, i kontynuuj wyszukiwanie.

Krok 5: Sprawdź charakter błędu

Błędy mogą objawiać się na różne sposoby, ale większość z nich można zaliczyć do tej czy innej kategorii. Oto te najczęstsze.

  1. Błąd na jednostkę
    Rozpocząłeś pętlę for z jedynką zamiast zera i odwrotnie. Albo na przykład myśleli, że metoda .count() lub .length() zwraca indeks ostatniego elementu. Sprawdź dokumentację języka, aby upewnić się, że numeracja tablic zaczyna się od zera lub jeden. Ten błąd czasami pojawia się jako wyjątek Indeks poza zakresem.
  2. Stan wyścigu
    Twój proces lub wątek próbuje wykorzystać wynik wykonania elementu podrzędnego przed zakończeniem swojej pracy. Poszukaj użycia funkcji Sleep() w kodzie. Być może na potężnej maszynie wątek potomny wykonuje się w ciągu milisekundy, ale w słabszym systemie występują opóźnienia. Stosuj odpowiednie sposoby synchronizacji kodu wielowątkowego: muteksy, semafory, zdarzenia itp.
  3. Nieprawidłowe ustawienia lub stałe
    Sprawdź pliki konfiguracyjne i stałe. Kiedyś spędziłem okropne 16 godzin, próbując dowiedzieć się, dlaczego koszyk na stronie zakupów zawieszał się podczas składania zamówienia. Przyczyną okazała się błędna wartość w pliku /etc/hosts, która uniemożliwiała aplikacji znalezienie adresu IP serwera pocztowego, powodując nieskończoną pętlę przy próbie wysłania faktury do klienta.
  4. Nieoczekiwana wartość zerowa
    Założę się, że więcej niż raz wystąpił błąd niezainicjowanej zmiennej. Upewnij się, że sprawdziłeś referencje o wartości null, zwłaszcza podczas uzyskiwania dostępu do połączonych właściwości. Sprawdź także przypadki, w których wartość NULL zwrócona z bazy danych jest typem specjalnym.
  5. Nieprawidłowe dane wejściowe
    Czy sprawdzasz wprowadzone dane? Czy na pewno nie próbujesz wykonywać operacji arytmetycznych na ciągach dostarczonych przez użytkownika?
  6. Przypisanie zamiast porównania
    Upewnij się, że nie piszesz = zamiast == , szczególnie w językach podobnych do C.
  7. Błąd zaokrąglenia
    Dzieje się tak, gdy zamiast liczby dziesiętnej używasz liczby całkowitej, liczby zmiennoprzecinkowej w przypadku kwot pieniężnych lub liczby całkowitej, która jest za krótka (na przykład podczas próby zapisania liczby większej niż 2147483647 w 32-bitowej liczbie całkowitej). Dodatkowo może się zdarzyć, że błąd zaokrąglenia nie pojawi się od razu, lecz z czasem będzie się kumulował (tzw. efekt motyla).
  8. Przepełnienie bufora i tablica poza zakresem
    Problemem numer jeden jest bezpieczeństwo komputera. Przydzielasz pamięć mniejszą niż dane, które w niej zapisujesz. Lub próbujesz uzyskać dostęp do elementu poza tablicą.
  9. Programiści nie potrafią liczyć
    Używasz nieprawidłowej formuły. Upewnij się, że nie używasz dzielenia liczb całkowitych zamiast reszty lub wiesz, jak zamienić ułamek wymierny na dziesiętny itp.
  10. Łączenie ciągu znaków i liczby
    Oczekujesz połączenia dwóch ciągów, ale jedna z wartości jest liczbą, a kompilator próbuje wykonać działania arytmetyczne. Spróbuj jawnie rzutować każdą wartość na ciąg znaków.
  11. 33 znaki w varchar(32)
    Sprawdź dane przekazane do INSERT pod kątem dopasowania typu. Niektóre bazy danych zgłaszają wyjątki (tak jak powinny), inne po prostu obcinają wiersz (jak MySQL). Niedawno natknąłem się na taki błąd: programista zapomniał usunąć cudzysłowy z ciągu znaków przed wstawieniem go do bazy danych, a długość ciągu przekroczyła dozwoloną długość zaledwie o dwa znaki. Znalezienie błędu zajęło dużo czasu, ponieważ trudno było zauważyć dwa małe cudzysłowy.
  12. Nieprawidłowy stan
    Próbujesz uruchomić zapytanie, gdy połączenie jest zamknięte, lub próbujesz wstawić rekord do tabeli przed zaktualizowaniem tabel, od których to zależy.
  13. Funkcje Twojego systemu, których nie ma użytkownik
    Przykładowo: w testowej bazie danych istnieje relacja 1:1 pomiędzy identyfikatorem zamówienia a adresem i programowałeś w oparciu o to założenie. Ale w pracy okazuje się, że zamówienia można wysyłać na ten sam adres, a co za tym idzie, mamy relację 1:wiele.

Jeśli Twój błąd nie jest podobny do opisanych powyżej lub nie możesz znaleźć linijki, w której się pojawił, przejdź do następnego kroku.

Krok 6: Metoda eliminacji

Jeśli nie możesz znaleźć wiersza zawierającego błąd, spróbuj albo wyłączyć (zakomentować) bloki kodu, aż błąd zniknie, albo korzystając ze struktury testów jednostkowych, wyizoluj poszczególne metody i wywołaj je z tymi samymi parametrami, co w prawdziwym kodzie .

Spróbuj wyłączać komponenty systemu jeden po drugim, aż znajdziesz minimalną konfigurację, która będzie działać. Następnie podłączaj je pojedynczo, aż błąd powróci. Spowoduje to powrót do kroku 3.

Krok 7: Zapisz wszystko i przeanalizuj dziennik

Przejrzyj każdy moduł lub komponent i dodaj więcej wiadomości. Zacznij stopniowo, jeden moduł na raz. Analizuj dziennik, aż pojawi się problem. Jeśli tak się nie stanie, dodaj więcej wiadomości.

Twoim zadaniem jest powrót do kroku 3 po ustaleniu miejsca wystąpienia błędu. Dokładnie tak jest również w przypadku, gdy w celu dokładniejszego logowania warto skorzystać z bibliotek zewnętrznych.

Krok 8: Wyeliminuj wpływy sprzętu lub platformy

Wymień pamięć RAM, dyski twarde, zmień serwer lub stację roboczą. Zainstaluj aktualizacje, odinstaluj aktualizacje. Jeśli błąd zniknie, przyczyną jest sprzęt, system operacyjny lub środowisko. Jeśli chcesz, możesz wypróbować ten krok wcześniej, ponieważ problemy ze sprzętem często maskują błędy oprogramowania.

Jeśli program działa w sieci, sprawdź przełącznik, wymień kabel lub uruchom program w innej sieci.

Dla zabawy podłącz przewód zasilający do innego gniazdka lub innego UPS-a. Zwariowany? Dlaczego nie spróbować?

Jeśli pojawi się ten sam błąd niezależnie od środowiska, oznacza to, że jest on w kodzie.

Krok 9: Zwróć uwagę na dopasowania

  1. Czy błąd pojawia się zawsze w tym samym czasie? Sprawdź zaplanowane zadania.
  2. Czy błąd zawsze pojawia się razem z czymś innym, niezależnie od tego, jak absurdalne jest to połączenie? Zwróć uwagę na każdy szczegół. Dla każdego. Na przykład, czy błąd występuje po włączeniu klimatyzatora? Być może z tego powodu spada napięcie w sieci, co powoduje dziwne efekty w sprzęcie.
  3. Czy użytkowników programu łączy coś, co nawet nie jest związane z oprogramowaniem? Na przykład położenie geograficzne (w ten sposób odnaleziono legendarnego robaka z literą odległą o 500 mil).
  4. Czy błąd występuje, gdy inny proces zajmuje wystarczająco dużo pamięci lub zasobów procesora? (Kiedyś odkryłem, że jest to przyczyna irytującego problemu „braku zaufanego połączenia” z SQL Server).

Krok 10: Skontaktuj się z pomocą techniczną

Wreszcie nadszedł czas, aby poprosić o pomoc kogoś, kto wie więcej od Ciebie. Aby to zrobić, musisz przynajmniej z grubsza wiedzieć, gdzie znajduje się błąd - w sprzęcie, bazie danych, kompilatorze. Zanim napiszesz list do programistów, spróbuj zadać pytanie na odpowiednim forum.

W systemach operacyjnych, kompilatorach, frameworkach i bibliotekach występują błędy, a Twój program może być w rzeczywistości poprawny. Jednak szanse na zwrócenie uwagi programisty na te błędy są niewielkie, jeśli nie zostanie podany szczegółowy algorytm ich odtwarzania. Przyjazny programista może Ci w tym pomóc, ale najczęściej, jeśli problem jest trudny do odtworzenia, zostaniesz po prostu zignorowany. Niestety oznacza to, że musisz włożyć więcej wysiłku w napisanie raportu o błędzie.

  1. Zadzwoń do kogoś innego.
    Poproś kolegę, aby wspólnie z Tobą poszukał błędu. Być może zauważy coś, co przeoczyłeś. Można to zrobić na każdym etapie.
  2. Przejrzyj uważnie kod.
    Często znajduję błąd, po prostu spokojnie przeglądając kod od początku i przeglądając go w głowie.
  3. Rozważ przypadki, w których kod działa, i porównaj je z tymi, w których nie.
    Niedawno odkryłem błąd polegający na tym, że gdy dane wejściowe XML zawierały ciąg xsi:type="xs:string" , wszystko się psuło, ale gdyby tego ciągu nie było, wszystko działałoby poprawnie. Okazało się, że dodatkowym atrybutem było złamanie mechanizmu deserializacji.
  4. Kłaść się.
    Nie bój się wrócić do domu, zanim naprawisz błąd. Twoja zdolność jest odwrotnie proporcjonalna do twojego zmęczenia. Tylko zmarnujesz czas i się zmęczysz.
  5. Zrób sobie kreatywną przerwę.
    Kreatywna przerwa ma miejsce wtedy, gdy odwracasz uwagę od zadania i skupiasz uwagę na innych rzeczach. Być może zauważyłeś, że najlepsze pomysły przychodzą Ci do głowy pod prysznicem lub w drodze do domu. Czasem pomaga zmiana kontekstu. Idź na lunch, obejrzyj film, surfuj po Internecie lub zajmij się czymś innym.
  6. Przymknij oko na niektóre objawy i komunikaty i spróbuj najpierw.
    Niektóre błędy mogą na siebie oddziaływać. Sterownik dial-up w Windows 95 mógł zgłosić, że kanał jest zajęty, chociaż wyraźnie słychać było dźwięk podłączania modemu. Jeśli masz zbyt wiele objawów, o których musisz pamiętać, spróbuj skupić się tylko na jednym. Napraw lub znajdź przyczynę i przejdź do następnego.
  7. Zagraj w Dr. House (bez Vicodin).
    Zbierz wszystkich swoich kolegów, chodź po biurze z laską, zapisuj objawy na tablicy i komentuj sarkastycznie. Skoro to działa w serialach telewizyjnych, dlaczego by nie spróbować?

Co na pewno Ci nie pomoże

  1. Panika
    Nie ma potrzeby od razu strzelać z armaty do wróbli. Niektórzy menedżerowie wpadają w panikę i natychmiast wycofują się, restartują serwery itp. w nadziei, że któryś z nich rozwiąże problem. To nigdy nie działa. Powoduje to również większy chaos i wydłuża czas potrzebny na znalezienie błędu. Rób tylko jeden krok na raz. Przestudiuj wynik. Pomyśl o tym, a następnie przejdź do następnej hipotezy.
  2. „Pomóż, proszę!”
    Udając się na forum po poradę, powinieneś już wykonać co najmniej krok 3. Nikt nie będzie chciał ani nie był w stanie Ci pomóc, jeśli nie podasz szczegółowego opisu problemu, w tym informacji o systemie operacyjnym, sprzęcie i problematyczna sekcja kodu. Załóż temat tylko wtedy, gdy możesz wszystko szczegółowo opisać i wymyśl dla niego informacyjny tytuł.
  3. Coraz bardziej osobiste
    Jeśli uważasz, że ktoś inny jest winien błędu, przynajmniej spróbuj grzecznie z nim porozmawiać. Obelgi, krzyki i panika nie pomogą osobie rozwiązać problemu. Nawet jeśli w twoim zespole demokracja nie jest wysoko ceniona, krzyki i użycie brutalnej siły nie sprawią, że w magiczny sposób pojawią się poprawki.

Błąd, który niedawno naprawiłem

Był to tajemniczy problem polegający na generowaniu zduplikowanych nazw plików. Dalsza kontrola wykazała, że ​​pliki miały różną treść. Było to dziwne, ponieważ nazwy plików zawierały datę i godzinę utworzenia w formacie rrMMddhhmmss. Krok 9, mecze: pierwszy plik powstał o wpół do piątej rano, duplikat wygenerowano o wpół do czwartej wieczorem tego samego dnia. Zbieg okoliczności? Nie, bo hh w