Blue Screen (inaczej Blue Screen of Death lub w skrócie BSOD; po polsku "Niebieski ekran śmierci" - krytyczny wyjątek) - błąd, który potrafi każdego zdenerwować, zirytować, zdemotywować, żeby nie powiedzieć gorzej. Zawsze pojawia się w najmniej oczekiwanym momencie, gdy kończymy trudny "level" w grze, gdy przychodzi czas zapisania naszego półgodzinnego wysiłku nad pracą dyplomową, gdy demonstrujemy komuś, jaki to nasz system jest stabilny i bezpieczny (z pozdrowieniami dla Bill'a Gates'a :). Warto zatem zastanowić się, gdy już ten błąd sprawi nam niespodziankę, dlaczego się pojawił, aby w przyszłości ograniczyć ryzyko jego występowania. Nie jest to zadanie proste, bowiem wszystko i nic może się przyczynić, aby naszym oczom ukazał się sławetny BSOD, czasem to tylko przypadek, a czasem regularna przypadłość, ale co by to nie było, warto chociaż postarać się o diagnozę.

Warto na początku wiedzieć co nieco o tej przypadłości. Błąd ten jest to wyjątek systemu, spowodowany przez złą pracę sterowników, pamięci RAM, innego programu, czy rzadziej, systemu Windows. System po wystąpieniu błędu standardowo zrzuca dane do specjalnego pliku, wyświetla pewne dane na niebieskim tle (stąd nazwa) i restartuje komputer. Oczywiście dalsza praca nie jest możliwa, bowiem restart można wyłączyć, ale i tak system nie reaguje na polecenia użytkownika. Błędy te ewoluowały na przestrzeni lat, podając coraz więcej danych o wyjątku. Od systemu XP jest to zjawisko marginalne, w porównaniu z wcześniejszymi edycjami Windows.
Zanim zaczniemy diagnozę, nalezy sprawdzić, czy włączone jest zrzucanie danych do pliku i wyłączony automatyczny restart komputera. Prawym klawiszem myszy klikamy na mój komputer, następnie z lewego panelu klikamy na 'Zaawansowane ustawienia systemu (Advanced system settings)', po czym w nowym oknie w zakładce 'Zaawansowane (Advanced)' klikamy w przycisk 'Ustawienia (Settings)' w sekcji 'Uruchamianie i odzyskiwanie (Startup and recovery)'.

W nowym oknie musimy odznaczyć kwadracik 'Automatyczny restart (Automatically restart)' oraz zostawić zaznaczony 'Zapisz zdarzenie do pliku (Write an event to the system log)'.

Dzięki temu będziemy mogli spisać sobie kod błędu, nazwę oraz plik, który mogł być odpowiedzialny za błąd.
Jeżeli ktoś doświadczył pojawienia się BSOD'a, natomiast z różnych powodów nie spisał sobie danych błędu, może to zrobić za pomocą pewnego przydatnego programu, BlueScreenView, jest on darmowy, także bez żadnych przeszkód moemy ściągnąć go sobie z tej strony.
Jeśli komuś nie pojawił się dotychczas Blue Screen, albo nie ma plików, gdzie zapisane są dane o błędzie (domyślnie jest to katalog C:\Windows\Minidump), to może sobie taki błąd wywołać ręcznie. Aby jednak móc to zrobić, trzeba zmodyfikować pewną wartość w rejestrze systemowym. Klikamy na Menu Start, następnie w polu gdzie można wyszukiwać programy, czy pliki, wpisujemy regedit i naciskamy Enter. Następnie przechodzimy do klucza HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\i8042prt\Parameters\ i odnajdujemy wartość DWORD o nazwie 'CrashOnCtrlScroll' i zmieniamy wartość na 1. Jeżeli wartość ta nie istnieje, musimy ją utworzyć, klikając na klucz 'Parameters' prawym klawiszem myszy, wybieramy 'Nowy' i Wartość DWORD, nadajemy odpowiednią nazwę i następnie klikając na nową wartość 2 razy zmieniamy 0 na 1.

Po restarcie możemy nacisnąć kombinację klawiszy Ctrl+2xScroll wywołując w ten sposób Blue Screen. Oczywiście nie obejdzie się bez ponownego restartu, który robimy i w katalogu C:\Windows\Minidump zobaczymy plik, w którym zapisane są dane o błędzie. Niestety sami go nie odczytamy, więc uruchamiamy program BlueScreenView. Aplikacja sama automatycznie wyszuka sobie plik .dmp.

Na zrzucie nie zmieściły się wszystkie kolumny, jest ich dość sporo, ale postaram się omówić pokrótce każdą z nich, zaczynając od górnej ramki.
- Dump File - nazwa pliku
- Crash Time - data i godzina wystąpienia błędu
- Bug Check String - nazwa błędu
- Bug Check Code - główny kod/numer błędu
- Parameter 1 do Parameter 4 - pomocnicze kody błędu
- Caused by Driver - prawdopodobny sprawca błędu
- Caused by Address - adres pamięci, gdzie wystąpił błąd
- File Description - opis pliku, który prawdopodobnie wywołał błąd
- Product Name - nazwa produktu
- Company - firma
- File Version - wersja pliku
Już po tym można dowiedzieć się, że błąd był wywołany na życzenie użytkownika, jeśli popatrzymy na Bug Check String będziemy tego pewni - MANUALLY_INITIATED_CRASH. Niestety na ogół nie jest to takie proste.
Poniżej znajduje się jeszcze jedna ramka, która podaje nam szczegóły na temat najbardziej prawdopodobnego sprawcy, oraz innych plików, które mogły przyczynić się do błędu. Różowe tło daje nam do zrozumienia, że powinniśmy przyjrzeć się głównie tym plikom. Z tej ramki najważniejsze dla nas dane to File Name - nazwa pliku, oraz na samym końcu Full Path - ścieżka do pliku.
Jest też inne narzędzie, które może nam pomóc zdiagnozować błąd. Dodatkowo można je znaleźć w systemie Windows. Jest to Monitor Stabilności i Wydajności Windows (Windows Reliability and Performance Monitor), Aby się do niego dostać, musimy otworzyć Narzędzia administracyjne systemu Windows: Start->Panel Sterowania->Narzędzia administracyjne i z nowego okna wybieramy odpowiedni program. Z lewego panelu wybieramy Monitoring Tools i Reliability Monitor.

Najpierw z wykresu na górze wybieramy dzień, w którym wystąpił błąd, następnie poniżej wybieramy Windows Failures for data. Jak widzimy, dostajemy informacje o typie błędu, wersji systemu, kodach błędu (podstawowy i cztery pomocnicze w nawiasie) oraz o dacie wystąpienia. Niestety informacje są mimo wszystko dość skąpe i patrząc tylko na kod błędu nie jesteśmy w stanie od razu stwierdzić, na czym błąd polegał - chyba że znamy wszystkie kody na pamięć, co jest pewnie niemożliwe.
Ten pierwszy sposób, z wykorzystaniem programu BlueScreenView jest lepszy, ponieważ raz, że mamy więcej informacji, a dwa, to to, że w razie ciągłego pojawiania się BSOD'a pliki .dmp możemy przenieść, chociażby z poziomu DOSa na inny komputer i na nim wyciągnąć odpowiednie dane z plików. Wtedy po skopiowaniu plików np. na pulpit innego komputera i uruchomieniu programu BSV, naciskamy na pierwszą ikonkę z lewej strony z paska narzędziowego programu (zaraz pod menu File) i podajemy ścieżkę do plików.
Teraz, gdy mamy już praktycznie wszytkie informacje o błędzie, możemy zająć się szukaniem przyczyny zaistaniałego błędu. O ile ten błąd pojawił się raz, nie musimy się jeszcze bardzo niepokoić, ale gdy pojawia się notorycznie, to musimy podjąć odpowiednie kroki. W tym momencie sprawa się trochę komplikuje, bo przyczyn może być bardzo dużo, więc nie tracąc czasu, najlepszym wyjściem będzie odwiedzenie strony z listą błędów, to jest pomoc techniczna Microsoftu i w wyszukiwarce na górze po prawej stronie wpisujemy najlepiej kod błędu. W naszym przypadku było to 0x000000e2, po zatwierdzeniu naszym oczom ukaże się lista tematów, gdzie możemy znaleźć pomoc.


Szukać długo nie musimy, bowiem wynik i odpowiedź jest tylko jedna: 'Użytkownik końcowy ręcznie spowodował zrzut awaryjny'.
Jeżeli ktoś nie chce szukać przyczyny błędu, korzystając z wyszukiwarki ze strony Microsoftu, to chciałbym polecić stronę TROUBLESHOOTING WINDOWS STOP MESSAGES. Co prawda strona ostatni raz była aktualizowana w 2007 roku, jednak znajdziemy na niej większość błędów, a już na pewno te, które pojawiają się stosunkowo często. Strona ta, to chyba największy zbiór błędów, które podane są jak na tacy, co prawda, serwowane są w języku angielskim, ale to nie powinno stwarzać problemów. Język ten jest tak powszechny, że nawet jeżeli ktoś go nie zna, to może skorzystać z dużej liczby translatorów.
Nie będę podawał przykładów błędów, ponieważ nie to miałem na celu pisząc tekst, chciałem pokazać, jak uzyskać o nim jak najwięcej informacji. Jeżeli będzie taka potrzeba (proszę pisać w komentarzach), to napiszę kolejny artykuł, który będzie dotyczył stricte błędów i sposobów rozwiązania.
Pozdrawiam czytelników i życzę jak najmniej błędów, a już na pewno nie takich, jaki widać na zdjęciu w zajawce :)