Loading AI tools
komunikat błędu krytycznego w systemach Microsoft Windows Z Wikipedii, wolnej encyklopedii
Blue Screen of Death (BSoD, pol. Niebieski Ekran Śmierci), oficjalnie znany jako błąd stop lub niebieski ekran błędu[1] – komunikat błędu wyświetlany przez system operacyjny Windows w chwili wystąpienia poważnego błędu systemowego. Występuje w sytuacji awarii, w wyniku której system osiągnął stan krytyczny niepozwalający na dalszą pracę: błąd sprzętu lub niespodziewane zakończenie krytycznego procesu.
Niebieskie ekrany błędów (znane również jako: "niebieskie ekrany śmierci") występują od czasów wersji beta systemu Windows 1.0; w przypadku wykrycia przez Windows nowszej wersji systemu DOS niż spodziewana, wygeneruje niebieski ekran z białym napisem „Niepoprawna wersja DOS” (ang. Incorrect DOS version) przed normalnym uruchomieniem[2]. Jednak w wersji finalnej (wersja 1.01) taki ekran wyświetla losowe znaki jako wynik błędów w kodzie odpowiedzialnym za logo Windows[2]. Nie jest to ekran śmierci; w chwili crashu (awarii), Windows 1.0 zawiesza się lub kończy działanie i użytkownik wraca do DOS-u.
Windows 3.0 wykorzystuje tryb tekstowy do wyświetlania ważnych komunikatów systemowych, zwykle pochodzących od sterowników urządzeń w trybie rozszerzonym 386 lub innych sytuacji, w których nie można uruchomić programu. Windows 3.1 zmienił kolor tła z czarnego na niebieski. Windows 3.1 także wyświetla niebieski ekran w chwili naciśnięcia sekwencji klawiszy Ctrl+Alt+Del przy braku zawieszonych aplikacji. Tak jak we wcześniejszych wersjach, Windows 3.x powraca użytkownika do DOS-u w przypadku szczególnie poważnego błędu.
Pierwszy niebieski ekran śmierci pojawił się w Windows NT 3.1[3] (pierwsza wersja z rodziny Windows NT, wydana w 1993 roku) i wszystkich kolejnych wydaniach. W pierwotnej wersji treść komunikatu rozpoczynała się od ***STOP:, stąd stał się znany pod określeniem „błędu stop”.
Przyczyną pojawienia się niebieskiego ekranu śmierci może być wadliwie napisany sterownik urządzenia lub uszkodzony sprzęt[4] – nieprawidłowo działające kości pamięci, problemy z zasilaczem, przegrzewanie się komponentów lub sprzęt o parametrach przekraczających określone specyfikacje. W czasach Windows 9x niekompatybilne biblioteki DLL lub błędy w jądrze systemu[5] również mogły powodować BSoD. Z powodu braków w stabilności oraz ochronie pamięci w Windows 9x BSoD był dużo częstszym zjawiskiem.
4 września 2014 roku wiele serwisów internetowych, w tym Business Insider[6], DailyTech[7], Engadget[8], Gizmodo[9], Lifehacker[10], Neowin[11], Softpedia[12], TechSpot[13], The Register[14] i The Verge[15] nieprawidłowo przypisało autorstwo Blue Screen of Death Steve’owi Ballmerowi, byłemu CEO (chief executive officerowi) Microsoftu, cytując artykuł Raymonda Chena, pracownika Microsoftu, zatytułowany „Who wrote the text for the Ctrl+Alt+Del dialog in Windows 3.1?”. Artykuł skupiał się na pierwszym menedżerze zadań w Windows 3.x, który miał podobny wygląd do BSoD[16]. W kolejnym artykule, opublikowanym 9 września 2014 roku, Raymond Chen odniósł się krytycznie wobec tego szeroko rozpowszechnianego błędu, przyznał się do zmiany wyglądu BSoD w Windows 95 oraz skrytykował BGR.com za „całkowicie sfabrykowany tekst i opublikowany jako prawdę”[17]. W późniejszym czasie Engadget uaktualnił swój artykuł celem naprostowania treści[8].
Pierwotnie niebieski ekran śmierci wyświetlał srebrny tekst na tle o barwie błękitu królewskiego zawierający informacje o bieżących wartościach pamięci i rejestru. Począwszy od Windows Server 2012 (wydanego we wrześniu 2012 r.) Windows przyjął ceruleum jako kolor tła. Windows 11 początkowo używał czarnego tła, ale od kompilacji 22000.348[18] wykorzystuje ciemnoniebieskie[19]. Kompilacje testowe Windows 10, Windows 11 i Windows Server (dostępne w ramach programu Windows Insider) zawierają ciemnozielone tło zamiast niebieskiego[18][20][21].
Windows 3.1, 95 i 98 obsługują zmianę kolorów ekranu[22][23]. W rodzinie Windows NT kolor jest zaprogramowany „na sztywno”[22].
Windows 95, 98 i ME renderują BSoD w trybie tekstowym 80×25. BSoD w rodzinie Windows NT początkowo używał trybu tekstowego 80×50 przy rozdzielczości ekranu 720×400 pikseli. BSoD w systemach Windows 2000, Windows XP, Vista i 7 używa rozdzielczości 640×480 pikseli. Windows 2000 wykorzystywał krój czcionki wbudowany w jądro, natomiast XP, Vista i 7 wyświetlają krój Lucida Console . Windows 8 i Windows Server 2012 używają Segoe UI . Na maszynach wyposażonych w Unified Extensible Firmware Interface (UEFI), BSoD wyświetlany jest na najwyższej dostępnej rozdzielczości ekranu. W przypadku jednostek wyposażonych w BIOS domyślnie używana jest rozdzielczość 1024×768 pikseli, jednakże mogą być one skonfigurowane do wyświetlania przy największej możliwej rozdzielczości (za pośrednictwem parametru highestmode programu BCDedit)[24]. Windows 10 w wersji 1607 i późniejszych korzysta z tego samego formatu co Windows 8 i dodatkowo zawiera kod QR prowadzący do strony pomocy technicznej Microsoftu próbującej krok po kroku znaleźć rozwiązanie problemu.
W rodzinie Windows NT niebieski ekran śmierci (występujący pod nazwą bug check w dokumentacji zestawu narzędzi dla programistów niezbędnego w tworzeniu aplikacji (ang. software development kit, SDK) Windows oraz zestawu narzędzi niezbędnego w tworzeniu sterowników (ang. driver development kit, DDK) pojawia się w sytuacji, gdy jądro lub sterownik urządzenia działający w trybie jądra napotyka na błąd, po którym nie może wznowić normalnej pracy. Zwykle dzieje się to w wyniku nieprawidłowej operacji. W takiej sytuacji jedyną bezpieczną czynność jaką może wykonać system jest restart komputera. Może to doprowadzić do utracenia danych, jako że użytkownik nie ma możliwości dokonania zapisu.
Tekst na ekranie zawiera kod błędu oraz jego symboliczną nazwę (np. 0x0000001E, KMODE_EXCEPTION_NOT_HANDLED) razem z występującymi w nawiasach czterema wartościami zależnymi od rodzaju błędu, które mają ułatwić programistom wyeliminowanie błędów. W zależności od kodu błędu, może wyświetlić on adres komórki pamięci, w której doszło do wystąpienia błędu, a także nazwę pliku sterownika załadowanego do tego adresu. W Windows NT druga i trzecia część ekranu może zawierać informacje odpowiednio o wszystkich załadowanych sterownikach oraz zrzut stosu. Informacje o sterownikach wyświetlane są w trzech kolumnach; pierwsza z nich pokazuje bazowy adres sterownika, drugi datę utworzenia (zapisywaną w czasie uniksowym), z kolei trzecia nazwy sterowników[25]. Przy domyślnych ustawieniach Windows utworzy plik zrzutu pamięci w momencie wystąpienia błędu stop. Zależnie od wersji systemu, może być kilka różnych opcji zapisu zrzutu, od „minimalnego” (64 KB, wprowadzony w Windows 2000) do „pełnego zrzutu”, będącego praktycznie kopią całej zawartości pamięci fizycznej (RAM). Powstały w ten sposób plik można później przeglądać za pośrednictwem debuggera jądra. Dla systemów Windows używane są debuggery WinDbg oraz KD z zestawu Debugging Tools for Windows[26]. Debugger jest niezbędny do uzyskania śladu stosu i może być potrzebny do ustalenia prawdziwej przyczyny problemu; informacje wyświetlane na ekranie są ograniczone i mogą wprowadzić w błąd, ukrywając prawdziwą przyczynę. Standardowo, Windows XP jest skonfigurowany, żeby zapisywał jedynie minimalny plik zrzutu o wielkości 64 KB i natychmiastowo uruchamiał ponownie komputer. Ponieważ proces ten odbywa się bardzo szybko, użytkownik może dostrzec niebieski ekran jedynie przez ułamek sekundy lub nawet wcale. Okazjonalnie użytkownicy traktowali to jako losowy ponowny rozruch zamiast tradycyjnego błędu stop i byli świadomi zaistniałej sytuacji dopiero po restarcie systemu i powiadomienia o odzyskaniu sprawności po poważnym błędzie. Dzieje się tak wyłącznie, gdy komputer ma włączoną opcję automatycznego restartu, którą można dezaktywować za pomocą Panelu sterowania.
Microsoft Windows może być skonfigurowany w taki sposób, aby w czasie rzeczywistym przesyłał informacje do debuggera jądra uruchomionego na osobnym komputerze. W przypadku wystąpienia błędu stop w trakcie połączenia z debuggerem, Windows przerwie działanie i przełączy się na debuggera zamiast pokazać BSoD. Wtedy debugger może być wykorzystany do analizy zawartości pamięci i określenia źródła problemu.
BSoD może być wywołany z powodu krytycznego błędu programu rozruchowego, gdy system operacyjny nie może uzyskać dostępu do partycji rozruchowej z powodu nieprawidłowych sterowników, uszkodzonego systemu plików lub podobnych przyczyn. Związany z tym kod błędu ma oznaczenie STOP 0x0000007B (INACCESSIBLE_BOOT_DEVICE)[27]. W takich przypadkach nie jest tworzony zrzut pamięci. Ponieważ system nie może uruchomić się z dysku twardego, rozwiązanie problemu często wymaga użycia narzędzi znajdujących się na nośniku instalacyjnym systemu.
Przed wydaniem Windows Server 2012 każdy BSoD wyświetlał nazwę zapisywaną dużymi literami (np. APC_INDEX_MISMATCH), kod błędu w zapisie szesnastkowym (np. 0x00000001) i cztery parametry. Ostatnie dwie części notacji przedstawiane są w następujący sposób[28]:
kod błędu (parametr 1, parametr 2, parametr 3, parametr 4) nazwa błędu
Zależnie od numeru i natury błędu, wszystkie, niektóre lub żaden z parametrów zawiera dane dotyczące tego, co i gdzie uległo awarii. Dodatkowo ekrany błędu pokazywały cztery akapity tekstu ogólnie wyjaśniającego, udzielającego porady i zawierającego dane techniczne takie jak nazwa pliku wywołującego ekran i adresy pamięci.
Wraz z wydaniem systemu Windows Server 2012 zmieniono wygląd BSoD, usuwając przedstawione powyżej dane na rzecz nazwy błędu i zwięzłego opisu. Windows 8 dodał emotikonę smutku (nie dotyczy to japońskiego wydania). Kod błędu wyrażony zapisem szesnastkowym (heksadecymalnym) i parametry wciąż można odczytać w Podglądzie zdarzeń lub plikach zrzutów pamięci. Od kompilacji 14393 systemu Windows 10 ekran śmierci zawiera kod QR dla szybkiego rozwiązywania problemu. W kompilacji 19041 dokonano zmiany frazy „Twój komputer napotkał problem” na „Twoje urządzenie napotkało problem”.
Systemy Windows 9x często doświadczają niebieskich ekranów śmierci – jest to główny sposób, w jaki wirtualne sterowniki urządzeń informują użytkownika o napotkanych błędach. Ta wersja BSoD, określana wewnętrznie jako _VWIN32_FaultPopup, daje użytkownikowi możliwość wyboru restartu komputera lub próby dalszej pracy z systemem. Zachowanie to jest przeciwieństwem do wersji BSoD z rodziny Windows NT, gdzie użytkownik nie ma możliwości dalszego korzystania z komputera do momentu jego wyłączenia lub ponownego rozruchu (przeważnie automatycznego).
Najczęściej spotykany BSoD ma układ 80×25, który jest formą przekazu przez system operacyjny o przerwaniu spowodowanym wyjątkiem procesora; jest to bardziej poważna forma komunikatu o ogólnym błędzie ochrony. Komunikat podaje adres pamięci i rodzaj błędu określony zapisem heksadecymalnym od 00 do 11 (0–17 w systemie dziesiętnym). Poniżej znajdują się zdefiniowane kody błędu[29]:
Powody wyświetlania się BSoD to m.in.:
Uszkodzony sprzęt także może przyczyniać się do BSoD.
W systemach Windows 95 i Windows 98 BSoD pojawia się przy próbie odczytu danych ze ścieżek odwołujących się do zastrzeżonych nazw urządzeń (np. C:\con\con, C:\aux\aux, C:\prn\prn). Ścieżki te mogły zostać umieszczone w kodzie źródłowym strony internetowej celem crashu komputerów odwiedzających stronę. 16 marca 2000 roku Microsoft opublikował specjalną łatkę[30] eliminującą błąd.
Słynne wystąpienie BSoD w Windows 9x wydarzyło się podczas prezentacji wersji beta Windows 98 prowadzonej przez Billa Gatesa na targach COMDEX w dniu 20 kwietnia 1998 roku: demonstracyjny komputer wyświetlił BSoD gdy asystent Gatesa, Chris Capossela, podłączył skaner do komputera celem zademonstrowania obsługi urządzeń Plug and Play przez Windows 98. Zdarzenie to spowodowało burzę oklasków wśród uczestników, na co w odpowiedzi Gates stwierdził (po dłuższej chwili) „Zapewne dlatego jeszcze nie wydaliśmy Windows 98” (ang. That must be why we're not shipping Windows 98 yet.)[31].
Najprostsza wersja niebieskiego ekranu występuje w Windows CE (oprócz Pocket PC 2000 i Pocket PC 2002). Ekran śmierci w Windows CE 3.0 jest zbliżony do tego z Windows NT.
Błędy stop (znane również jako "niebieskie ekrany śmieci") można przyrównać do kernel panic w macOS, Linuksach i innych systemach uniksopodobnych oraz tzw. bugchecków w OpenVMS. Windows 3.1, podobnie jak niektóre wersje macOS, wyświetla Black Screen of Death (czarny ekran śmierci) zamiast niebieskiego[17][32]. Windows 98 wyświetla czerwony ekran błędu dotyczący zaawansowanego interfejsu zarządzania konfiguracją i energią (ACPI), gdy BIOS napotka problem[33]. Program rozruchowy pierwszych wersji beta systemu Windows Vista również wyświetla czerwony ekran w przypadku błędu rozruchu[34][35][36]. Xbox One ma zielony ekran śmierci zamiast niebieskiego. W Windows 10 pojawia się pomarańczowy ekran śmierci, gdy występuje niekompatybilność sterownika.
Jak opisano powyżej, kompilacje testowe Windows Server 2016 i dalszych, Windows 10 oraz Windows 11 wyświetlają zielony ekran[18][20][21].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.