System w zawieszeniu

Zawieszenia systemu stały się stałym punktem programu w codziennej pracy z komputerem. A nie powinny. Ich przyczyny dają się zazwyczaj ustalić i usunąć prostymi środkami. Mając do dyspozycji odpowiednią wiedzę i narzędzia, uzyskasz stabilny system.

Zawieszenia systemu stały się stałym punktem programu w codziennej pracy z komputerem. A nie powinny. Ich przyczyny dają się zazwyczaj ustalić i usunąć prostymi środkami. Mając do dyspozycji odpowiednią wiedzę i narzędzia, uzyskasz stabilny system.

Regularne zawieszenia systemu, restarty bez przyczyny i nielogiczne komunikaty alarmowe na niebieskim ekranie należą do tradycji Windows. Wielu użytkowników przywykło do nich, wzruszając obojętnie ramionami. Tymczasem wcale nie musisz godzić się na częste przerywanie pracy. Jeśli zdecydujesz się ustalić, dlaczego twój komputer odmawia posłuszeństwa, pozbędziesz się przyczyny zakłóceń, oszczędzając czas, nerwy i pieniądze.

Bez automatu - aby uzyskać możliwość przeanalizowania alarmu na niebieskim ekranie, musisz zablokować samoczynny restart systemu w przypadku zawieszenia.

Bez automatu - aby uzyskać możliwość przeanalizowania alarmu na niebieskim ekranie, musisz zablokować samoczynny restart systemu w przypadku zawieszenia.

W naszym poradniku znajdziesz proste porady pomagające zgłębić powody zawieszania się systemu. Przeważnie to kwestia sprzętu. Bardzo często winę ponosi błędny lub uszkodzony sterownik sprzętowy. Na szczęście, w wielu wypadkach sam Windows podaje wskazówki do rozwiązania problemu. Są zaszyte w komunikatach na niebieskim ekranie, w Menedżerze urządzeń, a także w Podglądzie zdarzeń. Na koniec musisz usunąć przyczynę kłopotów - przecież chcesz, aby w przyszłości system działał stabilniej. Porady, które zamieszczamy w poniższym artykule, dotyczą środowisk Windows 2000 i XP.

Na płycie dołączonej do bieżącego wydania znajdziesz narzędzia testujące i monitorujące, które przydadzą ci się w realizacji poniższych wskazówek i będą informowały na bieżąco o sukcesach podjętych kroków.

Analiza

Każdy sprawca pozostawia ślady. Podobnie jest z zawieszaniem się komputera. Windows 2000 i XP protokołują wszystkie zdarzenia, które nastąpiły przed przerwaniem pracy systemu. Tłumacząc właściwie wskazówki, które znajdziesz w niebieskim komunikacie alarmowym lub choćby w Podglądzie zdarzeń, szybko dopadniesz winnego.

1. Zabezpieczanie śladów

Edycje Windows wcześniejsze od wersji XP sygnalizowały jednoznacznie zawieszenie komputera: na monitorze pojawiał się budzący grozę niebieski ekran z komunikatem. Tymczasem w środowisku Windows XP informacja znika po ułamku sekundy. Zazwyczaj komputer samoczynnie wykonuje natychmiastowy restart, abyś mógł wznowić pracę i - jeżeli to możliwe - uratować dane z plików otwartych przed zawieszeniem.

Niczym lustro - ustaw rozmiar pliku, w którym Windows umieści obraz pamięci RAM w momencie zawieszenia.

Niczym lustro - ustaw rozmiar pliku, w którym Windows umieści obraz pamięci RAM w momencie zawieszenia.

Komunikat na niebieskim ekranie zawiera jednak wskazówki pomagające wykryć przyczyny i warto poświęcić mu uwagę. Aby móc go przestudiować, musisz zablokować automatyczne restartowanie systemu operacyjnego. Otwórz w tym celu Panel sterowania i przywołaj aplet System. Wskaż kartę Zaawansowane i kliknij przycisk Ustawienia w rubryce Uruchamianie i odzyskiwanie. Usuń zaznaczenie pola wyboru Automatycznie uruchom ponownie. Od tej pory w czasie zawieszenia systemu będziesz mógł w spokoju badać przyczynę kłopotów, czytając komunikat na niebieskim tle. Po zanotowaniu informacji widniejących na ekranie, zainicjuj ponowne uruchomienie systemu klawiszami [Ctrl Alt Del] bądź przyciskiem Restart na przedniej ścianie obudowy peceta.

2. Analiza zebranych informacji

Komunikat wyświetlony białą czcionką na niebieskim tle dostarcza pierwsze ślady prowadzące do przyczyny zawieszenia. Znajdziesz tu również propozycje usunięcia problemu, jednak zwykle sformułowane zbyt ogólnie, aby cokolwiek pomóc.

Istotny jest kod błędu widniejący w wierszu, który zaczyna się od ciągu ***STOP. Powinna się w nim znajdować liczba szesnastkowa wg wzorca 0x000000A i komunikat typu IRQL_NOT_LESS_OR_EQUAL.

Spis kodów zawartych w wierszu ***STOP znajdziesz m.in. pod adresem http://aumha.org/win5/kbestop.php. Warto także skorzystać z usług Google ( http://www.google.pl ).

3. Zrzucanie pamięci

Inspekcja sterowników - program VERIFIER.EXE nadzoruje sterowniki i bije na alarm w razie nieprawidłowości.

Inspekcja sterowników - program VERIFIER.EXE nadzoruje sterowniki i bije na alarm w razie nieprawidłowości.

Wraz z wyświetlaniem komunikatu na niebieskim ekranie Windows tworzy za każdym razem zrzut pamięci, w którym dokumentuje stan komputera w momencie zawieszenia. Zrzut ten zawiera m.in. informacje o tym, które sterowniki i aplikacje są aktywne w chwili incydentu, dlatego znajdziesz w nim zapewne więcej danych wskazujących przyczynę zawieszenia niż w samym komunikacie o zdarzeniu.

Windows tworzy domyślnie miniaturowy (64 KB) zrzut pamięci, umieszczając w nim tylko najbardziej istotne informacje. Stosownym plikom zrzutów system nadaje nazwy zgodnie ze wzorcem MINI060105-01.DMP. Pierwsze cztery litery pozostają bez zmian w każdym zrzucie. Po nich następuje data (format: miesiąc, dzień i rok) i - po myślniku - numer zrzutu. Na końcu system wstawia rozszerzenie DMP. W powyższym przykładzie masz do czynienia z pierwszym zrzutem utworzonym pierwszego czerwca br. Wszystkie pliki tych zrzutów Windows gromadzi w folderze %systemroot%\minidump (czyli domyślnie \windows\minidump). Analizując ich treść, możesz na przykład ustalić, czy częste zawieszenia mają tę samą przyczynę.

Bardziej szczegółowe informacje zapewnia tzw. zrzut pamięci jądra. Jego rozmiary osiągają mniej więcej jedną trzecią pojemności pamięci roboczej. Co najmniej tyle wolnego miejsca musisz wygospodarować na partycji systemowej. Aby uaktywnić odpowiednią opcję, przywołaj okno Uruchamianie i odzyskiwanie (otwórz aplet System w Panelu sterowania, po czym klikaj kolejno Zaawansowane | Uruchamianie i odzyskiwanie | Ustawienia). Następnie zaznacz opcję Zrzut pamięci jądra w polu listy Zapisywanie informacji o debugowaniu. Zrzut zostanie zapisany jako plik memory.dmp w katalogu systemu Windows. Pamiętaj jednak, że ze względu na pokaźne rozmiary zrzutów system domyślnie zastępuje starszy plik nowszym podczas kolejnego zawieszenia.

Windows zapewnia jeszcze pełny zrzut pamięci, ale pochłania on gigantyczną ilość miejsca na dysku (tyle, co łącznie pamięć robocza plus 1 MB), a zawartością niewiele się różni od zrzutu pamięci jądra.

4. Badanie zrzutów

Materiał dowodowy - narzędziem Windbg zawęzisz krąg podejrzanych do kilku lub nawet jednego sterownika.

Materiał dowodowy - narzędziem Windbg zawęzisz krąg podejrzanych do kilku lub nawet jednego sterownika.

Do badania zrzutów pamięci nie wystarczy zwyczajny edytor tekstowy. Nie obejdziesz się bez specjalnych narzędzi, np. bezpłatnego programu Windbg, który wchodzi w skład pakietu Debugging Tools for Windows (do pobrania pod adresem: http://www.microsoft.com/whdc/devtools/debugging/default.mspx, środowiska: Windows 2000/XP, rozmiar pliku: ok. 11 MB). Oprócz tego musisz się zaopatrzyć (pod adresem: http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx, środowiska: Windows 2000/XP, rozmiar pliku: ok. 95 - 195 MB) w pliki symboli, aby Windbg prawidłowo wyświetlał treść zrzutów pamięci. Zależnie od edycji systemu, trzeba pobrać od niespełna stu do dwustu MB. Alternatywnie możesz skonfigurować program Windbg tak, aby tylko w razie potrzeby pobierał stosowne pliki z Internetu. O czasie analizowania zadecyduje rozmiar zrzutu pamięci i przepustowość łącza internetowego, choć trwa to z pewnością dłużej niż w wypadku plików symboli zgromadzonych lokalnie na twardym dysku.

Aby zainicjować badanie zrzutu, uruchom program Windbg. Po wskazaniu menu File | Open Crash Dump otwórz plik DMP, który masz zamiar poddać analizie. W oknie aplikacji poszukaj wpisu Probably caused by. Zwykle zostanie w nim podana nazwa pliku sterownika z rozszerzeniem SYS. Prawdopodobnie to on powoduje kłopoty.

Więcej informacji uzyskasz, gdy wpiszesz polecenie analyze -v w dolnym wierszu za znakiem zgłoszenia >kd. Na początku tekstu, tuż pod wpisem Bugcheck Analysis i nieco poniżej wpisu Exception Code widnieją kody błędów, które można wpisać w internetowej wyszukiwarce Google i w ten sposób tropić powody kłopotów. Gdy wkleisz opis błędu (np. KMODE EXCEPTION NOT HANDLED) za poleceniem .hh w wierszu poleceń, na ekranie pojawi się okno pomocy programu Windbg, oferując dodatkowe informacje pomagające usunać problem.

Ponadto przydatne są wiersze w sekcji STACK_TEXT. Zapisy niezaczynające się od łańcucha !nt wskazują sprawców zawieszania się systemu.

Blue Screen własnej roboty

Gdy system przestanie reagować na twoje polecenia, możesz ręcznie wywołać komunikat na niebieskim ekranie. Przytrzymaj w tym celu naciśnięty prawy klawisz [Scroll Lock]. Windows zrzuci zawartość pamięci do pliku na twardym dysku i będziesz mógł poszukać przyczyny zawieszenia (patrz punkt 4). Aby ta metoda zadziałała, musisz otworzyć uprzednio rejestr, przejść do klucza "HKEY_ LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\Services\ i8042prt\Parameters" i utworzyć w nim wartość DWORD. Przypisz jej cyfrę 1 w polu Dane wartości.

Pliki symboli

Aby Windows mógł dynamicznie wczytywać pliki symboli wymagane do debugowania (punkt 4), utwórz folder, w którym będzie je buforował, np. C:\Symbols. Uruchom następnie Windbg i wskaż menu File | Symbol File Path. W pole Symbol Path wpisz następujący ciąg: SRV*c:\symbols*http://msdl.microsoft.com/downloads/symbols.v

Restart notebooka

Jeśli w twoim notebooku brakuje klawisza [Reset], zmusisz go do restartu, wywołując ręcznie komunikat na niebieskim ekranie. Po opisanej powyżej modyfikacji rejestru musisz ponownie zaznaczyć pole wyboru Automatycznie uruchom ponownie.

Sterowniki pod lupą

Środowiska Windows 2000 i XP wyposażono w zaawansowane narzędzie verifier.exe, czyli menedżer weryfikowania sterowników. Właściwie jest przeznaczone dla producentów, ale możesz go użyć do sprawdzania stabilności działania sterowników. Aby je przywołać, kliknij menu Start | Uruchom, po czym wpisz polecenie verifier. W pierwszym oknie pozostaw zaznaczoną domyślnie opcję Utwórz ustawienia standardowe, w drugim zaś opcję Automatycznie wybierz sterowniki niepodpisane. Jeśli podejrzewasz określone sterowniki o destabilizowanie systemu, możesz poddać tylko te. Użyj opcji Wybierz nazwy sterowników z listy. Narzędzie verifier.exe rozpocznie badanie sterowników, gdy zrestartujesz system. Sprawdzi między innymi, czy poprawnie obchodzą się z pamięcią operacyjną i czy zwalniają nieużywane obszary, dlatego podczas testów nie odchodź od komputera.

Gdy verifier.exe wykryje błąd, wyświetli komunikat alarmowy na niebieskim ekranie. Możesz go przeanalizować, według opisu w punkcie 4. Im więcej sterowników bada, tym więcej pochłania zasobów i tym bardziej spowalnia komputer. Jeżeli masz zainstalowany pakiet Norton AntiVirus, wyłącz wykrywanie blokad (szczegółowe objaśnienia znajdziesz pod adresem http://support.microsoft.com/ kb/325672/en-us.

Przed użyciem menedżera weryfikowania sterowników koniecznie sporządź zapasową kopię całego systemu. W ten sposób zabezpieczysz się przed skutkami przykrych niespodzianek.

Krok w tył

Gdy po wyświetleniu komunikatu na niebieskim ekranie Windows nie daje się uruchomić, naciśnij klawisz [F8], zanim nastąpi próba rozruchu, a potem wybierz polecenie Ostatnia znana dobra konfiguracja z menu startowego. Wówczas system odtworzy konfigurację sprzed awarii.

Menedżer urządzeń

Gdy system zawiesi się po zainstalowaniu nowego sprzętu lub sterownika, warto zajrzeć do Menedżera urządzeń. Przywołasz go z poziomu Panelu sterowania, klikając aplet System i kartę Sprzęt. Alternatywnie kliknij menu Start | Uruchom i wpisz devmgmt. msc. Zwróć uwagę na wpisy opatrzone ikoną. Czarny wykrzyknik na tle żółtego kółka wskazuje, że Windows ma kłopoty z danym podzespołem - na przykład dlatego, że stosuje uszkodzony sterownik. Biały x na czerwonym tle oznacza, że urządzenie jest wyłączone, natomiast żółtym pytajnikiem system sygnalizuje, że nie udało się zainstalować odpowiedniego sterownika. Aby ustalić przyczynę problemu, kliknij urządzenie dwukrotnie. W rubryce Stan urządzenia widnieje opis i identyfikator błędu, a listę błędów znajdziesz pod adresem http://support.microsoft.com/kb/310123/pl.

Wszystkie urządzenia

Również pozostałości po odinstalowanych sterownikach mogą destabilizować system. Użyj polecenia devmgmt.msc set DEVMGR_SHOW_ NONPRESENT_ DEVICES=1, aby włączyć wyświetlanie wszystkich sterowników. Następnie przywołaj Menedżer urządzeń i wskaż menu Widok | Pokaż ukryte urządzenia.


Zobacz również