Синий экран смерти

undefined

Синий экран смерти (англ. Blue Screen of Death, BSoD) — неофициальное название сообщения об ошибке, отображаемого на экране компьютера операционной системы Microsoft Windows в случае невозможности восстановления после системной ошибки или при наступлении критической фатальной ошибки системы[1].

Описание

Синие экраны смерти присутствуют в Windows начиная с версии 2.0, по-разному реализуясь в последующих версиях системы. Со временем BSoD стал своеобразным символом Windows (аналогичные экраны появляются и у других ОС или устройств, например, у игровых консолей) и приобрёл дурную славу среди пользователей, а также стал объектом шуток конкурентов.

BSoD оказал значительное влияние, особенно на бизнес-среду, например, во время глобального сбоя информационных систем 19 июля 2024 года, вызванного дефектным обновлением ПО информационной безопасности Falcon Sensor от компании CrowdStrike.

Принцип работы

Синий экран смерти появляется, когда операционная система сталкивается с ошибкой, делая невозможной дальнейшую работу. Причинами этого могут быть:

  • сбой самой операционной системы;
  • ошибка стороннего приложения, использующего параметры или API (application programming interface) ОС; при этом возникает необработанное исключение и происходит сбой системы[1].

История

Демонстрация Windows 98

20 апреля 1998 года в ходе презентации Windows 98 на конференции COMDEX глава Microsoft Билл Гейтс продемонстрировал простоту использования новой ОС и улучшенную поддержку технологии Plug-and-Play — одного из основных достижений системы. Однако, когда его помощник Крис Капоссела подключил сканер и попытался установить его, Windows 98 вышла из строя, показав синий экран смерти[2].

После аплодисментов и смеха в зале Билл Гейтс сказал: «Вероятно, поэтому мы пока не продаём Windows 98». Видео этого события стало популярным интернет-мемом[2].

Кибератака NotPetya 2017 года

Во время глобальной кибератаки с использованием вымогательского ПО NotPetya 27 июня 2017 года запуск заражённого исполняемого файла petya.exe на незащищённых ПК Windows приводил к кратковременному появлению синего экрана смерти перед окончательной блокировкой системы. Однако на экране отображалась лишь строка «Транспорт определил, что удалённая система не работает») — это наблюдалось в основном на Windows XP, Windows Vista и Windows 7.

Минорные обновления

В августе 2014 года обновления для Windows 7 и Windows 8.1 привели к возникновению ошибок, в частности — появления синего экрана смерти, что вынудило Microsoft отозвать патчи и рекомендовать пользователям их удалить[3].

Microsoft признала, что её кумулятивное обновление KB4467682 привело к значительным сбоям некоторых устройств на Windows 10, в частности, Surface Book 2[4]. Также некоторые компьютеры после обновления за апрель 2018 года терпели полный сбой, что приводило к необходимости восстановления системы. Пока не вышел новый патч, Microsoft рекомендовала пользователям удалить проблемное обновление[4].

29 января 2020 года Microsoft выпустила необязательное обновление KB4532695 для Windows 10 (версии 1903 и 1909), направленное на улучшение стабильности. Однако ряд пользователей сообщил о серьёзных проблемах с появлением синего экрана смерти на некоторых устройствах[5]. 3 марта 2020 года новое необязательное обновление (KB4535996) вызвало аналогичные проблемы[6].

10 марта 2021 года в рамках ежемесячного обновления Windows возникал синий экран с кодом ошибки APC_INDEX_MISMATCH (вызванный драйвером win32kfull.sys) во время попытки печати документов. Проблема была исправлена в последующем патче[7].

В сентябре 2024 года откат обновления KB5043145 (для Windows 11) произошёл из-за множества ошибок: отказ работы клавиатуры и мыши, проблемы с Wi-Fi, появление синего или зелёного экрана смерти[8]. В результате обновление было приостановлено до устранения дефектов.

Крупные обновления

10 апреля 2018 года Microsoft при развертывании крупного обновления Windows 10 («April 2018 Update») выявила массовый сбой у части пользователей, что привело к появлению синего экрана смерти и отсрочке выхода обновления[9]. Впоследствии баг был устранён в билде 17134, заместившем ошибочный 17133 (который должен был стать финальным RTM). Новый билд вышел 8 мая 2018 года после дополнительного тестирования в программе Windows Insider.

Аналогичная ситуация произошла с обновлением «October 2018 Update» в октябре 2018 года: исправление от 9 октября вызвало синие экраны на компьютерах HP из-за несовместимости драйверов[10]. Проблема была исправлена 15 октября 2018 года. В версиях build 1809 возникали и другие проблемы — например, удаление файлов пользователя (баг с интеграцией OneDrive). В результате распространение обновления приостановили до января 2019 года.

Глобальный сбой 19 июля 2024 года

19 июля 2024 года Windows стала жертвой глобального сбоя, вызванного ошибкой в обновлении средства Falcon Sensor от компании CrowdStrike[11][12]. Это обновление, распределённое вечером накануне (около 19:00), спровоцировало немассовые сбои — синие экраны появлялись у компьютеров на Windows 10 и 11 с установленным Falcon Sensor, блокируя запуск ОС[13]. Поражённые системы демонстрировали BSoD, либо специальное окно с предложением запустить восстановление (WinRE). Сбой повлиял на множество отраслей: СМИ, телеком, почта, транспорт (особенно аэропорты и авиакомпании), и корпоративный сектор по всему миру[14]. Проблема была быстро решена Microsoft и CrowdStrike; подтверждено, что сбой затронул 8,5 млн компьютеров (менее 1 % всех ПК под Windows в мире)[15].

Типы синих экранов в разных версиях Windows

Два типа аварийных экранов

В Windows различают два типа аварийных экранов: экстренное завершение (описывается в документации Windows XP), а также собственно синий экран смерти, связанный с серьёзными ошибками.

Windows 1.0 и 2.0

undefined

В ранних версиях — Windows 1.0 и Windows 2.0 — BSoD не содержал объяснений причины: пользователю показывалась смесь алфавитных и неалфавитных символов.

Причины могли быть следующими:

  • неподходящая версия DOS (слишком старая или новая);
  • повреждённые или устаревшие компоненты, не соответствующие минимальным требованиям Microsoft.

Это нередко приводило к необходимости полной переустановки системы с дискеты, что занимало много времени[16].

Windows 3.0/3.1/9x/Me

undefined

В версиях Windows 3.0/3.1, семейства Windows 9x и Me синий экран применялся для отображения ошибок VxD. В коде Windows его называли _VWIN32_FaultPopup — на экране отображалась информация о сбое.

Пользователь мог выбрать — перезапустить систему или продолжить работу, хотя продолжение чаще всего приводило к непредсказуемым результатам.

Самая частая причина BSoD — несовместимость версий DLL-библиотек, известная как DLL Hell: при загрузке программы требуемая верcия DLL могла не соответствовать установленной. Такой эффект был острее при инсталляции множества новых приложений.

Синий экран также возникал при попытке обращения к c:\con\con — этим пользовались для атаки через вредоносные web-страницы или простое зависание при извлечении дискеты или CD/DVD во время чтения. Со временем ошибки были исправлены.

Windows XP/2000/NT/Vista/7

undefined
undefined

В Windows NT (3.0–5.0), Windows 2000, XP, Vista и Windows 7 синий экран смерти возникал при ошибке ядра, которую ОС не могла обработать. Главная причина — ошибка или сбой драйвера либо необработанное исключение. Единственный выход — перезагрузка с риском потери несохранённых данных, но надёжность у NT существенно выше, чем у Windows 9x.

На экране указывается код ошибки (например, 0x0000001E, KMODE_EXCEPTION_NOT_HANDLED) и четыре дополнительных параметра. Также приводится адрес памяти, имя драйвера, список загруженных драйверов с адресами и временными метками, дамп стека. Чтение stack trace возможно только с помощью специализированного отладчика (например, через COM-порт).

В 2003 году пользователи TweakXP.com нашли способ искусственно вызвать BSoD путём модификации реестра: после этого при двойном нажатии клавиши Scroll Lock с удерживаемой правой Ctrl возникает синий экран[17].

Красный экран смерти (Windows Vista)

undefined

Красный экран смерти (англ. Red Screen of Death или RSoD) существовал в некоторых бета-версиях Longhorn (будущей Windows Vista). В финале остался только для ошибок загрузчика.

Также подобные экраны встречались в бета-версиях Memphis (будущая Windows 98). В Windows 9x цвет BSoD можно было изменить через system.ini.

Термин красного экрана применяется и к ошибкам в Lotus Notes (красная рамка вместо полноэкранного вывода).

Windows 8 и 8.1

C приходом Windows 8 синий экран был переработан: дизайн стал более простым и минималистичным, исчезли hex-коды ошибок, их заменил короткий текст с пояснением и смайлик-грусть.

Windows 10 и 11

С обновлением Anniversary Update (build 14393, 2 августа 2016) у BSoD появились QR-код и web-ссылка для быстрой идентификации ошибки.

Однако такое нововведение породило и уязвимость: злоумышленники могут выводить поддельные экраны, чтобы заразить компьютер или обмануть пользователя.

В Windows 11 текст был заменён на формулировку: «Ваше устройство столкнулось с проблемой и должно быть перезагружено», вместо привычного «Ваш компьютер...».

Чёрный экран смерти (Windows 11, до версии 22000.348)

undefined

В ранних сборках Windows 11 до build 22000.348 синий экран был временно заменён на чёрный, однако QR-код остался прежнего (синего) цвета. В финальной RTM 5 октября 2021 года синий экран был возвращён.

Зелёный экран смерти (Insider Preview)

undefined

В версиях Windows 10 начиная с Creators Update для участников Windows Insider вместо BSoD используется GSoD — зелёный экран, чтобы отличать ошибки тестовых веток от стабильных. Текст ошибки меняется на: англ. Your Windows Insider Build ran into a problem and needs to restart («Ваша версия Windows Insider столкнулась с проблемой и должна быть перезагружена»). В отличие от «обычного» BSoD, на экране отсутствует QR-код.

Внешний вид

undefined

В первых версиях BSoD по умолчанию — белый текст (CGA 0x0F, HTML #FFFFFF) на синем фоне (EGA 0x01, HTML #0000AA) с информацией о состоянии памяти и регистров. Через системный файл system.ini пользователь, при наличии специальной утилиты, может выбирать цвета из 16 стандартных EGA-цветов.

Windows 95, 98 и Me применяли текстовый режим (80×25 символов) с DOS-шрифтом. В Windows NT — текстовый режим 80×50, 720×400 пикселей. В BSoD Windows XP, Vista и 7 — шрифт Lucida Console на разрешении 640×480 пикселей. Windows 8, 10 и 11 используют Segoe UI на светло-синем (или зелёном — в Insider Preview) фоне с разрешением 1024×768. В ранних сборках Windows 11 на чёрном фоне, затем снова на синем.

В промышленности и встраиваемых системах

Встраиваемые системы на базе Windows также подвержены появлению BSoD. Типовые примеры — телефоны через Интернет, банкоматы, информационные киоски, электронные табло.

Одной из причин аппаратного BSoD может выступать перегрев процессора (например, из-за пыли в радиаторе).

Эксплуатация уязвимости WinNuke позволяла злоумышленникам массово вызывать синие экраны на ПК через сеть; проблема устранена в системах после Windows 95.

Аналоги и пародии

ОС Linux и AmigaOS тоже имеют собственные «фатальные ошибки» — соответсвенно паника ядра и Guru Meditation, но они менее известны массовому пользователю. Некоторые энтузиасты написали скринсейверы с имитацией BSoD, встречающиеся, например, в популярных дистрибутивах Linux.

В некоторых версиях Internet Explorer доступен «пасхальный» BSoD: команда about:mozilla вызывает синюю страницу (в Firefox — красную). Существует также классический «Книга Мозиллы» в браузерах семейства Netscape.

В Mac OS X Leopard сетевые ПК в интерфейсе обозначались иконкой с традиционным синим «экраном смерти».

Красный экран смерти

В некоторых тестовых сборках Windows Vista и Memphis (прототип Windows 98) BSoD заменялся на красный экран смерти для особо критических ошибок.

Зелёный экран смерти

Зелёный экран применяется только в бета-версиях Windows 10 и Windows 11 (программа Windows Insider).

Белый экран смерти

На Windows 7 известен белый экран — при запуске системы высвечивается только пустой белый фон[18].

Чёрный экран смерти

В Windows 11 чёрный экран применялся в ранних билдax (до 22000.348).

Жёлтый экран смерти

undefined

Отдельные приложения, в первую очередь браузеры на движке Mozilla Application Suite (например, Firefox), при ошибках парсинга XML (неверная структура, незакрытые теги и т. п.) выводят жёлтый экран с подробностями о сбое парсера.

Звуковой сигнал

Иногда появление BSoD сопровождается резким неприятным звуковым эффектом: воспроизводимая в момент сбоя нота может зациклиться на высокой громкости, что особенно неприятно в наушниках.

Искусственное вызовы BSoD

BSoD можно вызвать вручную, завершив критический процесс ОС (например, csrss.exe) через диспетчер задач[19], что вызывает ошибку CRITICAL_PROCESS_DIED. Также — через ключ CrashOnCtrlScroll в реестре Windows — двойное нажатие Scroll Lock с удержанием правого Ctrl сработает как MANUALLY_INITIATED_CRASH[17].

Иногда BSoD вызывают недокументированной функцией NtRaiseHardError, генерирующей ошибки 0.C00002.. (семейство STATUS_...). В Windows 10 (начиная с версии 1709) аналогичного эффекта можно достичь, открыв \\.\GLOBALROOT\Device\ConDrv\KernelConnect — появляется код остановки SYSTEM_SERVICE_EXCEPTION.

Примечания

Литература

  • Microsoft Windows NT Workstation Resource Kit. ISBN 978-1-57231-343-9.

Ссылки