В статье рассказывается о том, как собственноручно создать BSOD в Windows. Я расскажу о всех известных мне способах – от самых популярных и тех, с которыми вы столкнётесь, вероятно, впервые. Некоторые из них относительно безопасные, с некоторыми частить не советую. Работаю Windows 7.
Сразу напомню. Решились попробовать – сохраняйте данные. Не забудьте, с чем играете. Тренируйтесь на виртуальных машинах.
Создать BSOD можно:
Для чего это нужно?
Раз вы здесь, вы точно знаете для чего. Предполагаю два варианта:
- злая шутка над коллегами
- создание тренировочной базы для исследования “настоящих” BSOD в последующем
Упор сделаем на второй вариант, ибо откровенно простые способы легко себя выдают и потому “прокатывают” для совсем уж неопытных пользователей.
Как создать BSOD при помощи специальных программ?
Такие утилиты есть. На подобные крайне полезные утилиты была очень плодовита команда под предводительством товарища Руссиновича, что в конце концов закончилось фактом передачи прав на большинство программ самой Microsoft. Однако среди прочих и себе подобных очень ярко выделяется лишь одна. Эта утилита называется NotMyFault (Нот-Май-Фолт – “не по моей вине”). Она полезна для диагностики проблем с оборудованием и драйверами к нему. На системах, в которых наблюдается нестабильность в работе, она вызывает принудительный BSOD для дальнейшего анализа. В архиве содержатся файлы для 32-х и 64-х битных систем, причём по два: с графическим интерфейсом и для запуска из-под консоли.
Программа не просто опрокинет систему в принудительный BSOD, у неё есть небольшой интерфейс, который поможет выбрать место удара. Более того, хотя это и не относится к теме статьи, утилита может не только вызывать BSOD, но и пробовать на прочность возможности ядра и памяти. Но вернёмся “к нашим баранам”:
Выбираем принцип ошибки, с помощью которой можно создать BSOD и опрокинуть Windows (сразу короткая о возможностях утилиты справка):
Призываем BSOD, нажимая по Crash:
BSOD как BSOD, всё чин по чину с записью в дамп. После перезагрузки традиционное окно загрузки:
и напоминание Windows, что в предыдущем сеансе случилось нечто страшное:
Я не зря начал именно с этой утилиты, так как именно она представляет для профессионалов наибольший интерес как реально действующее средство работы с нестабильными системами и анализа с синим экраном смерти Windows, и потому NotMyFault появится на страницах этого блога не раз.
И следующая утилита от той же конторы SysInternals “безобразничает” очень профессионально, что является чертой всех программ этого коллектива авторов. Bluescreen (Блу-Скрин) является строго консольной утилитой, требуя определённый формат вводимой команды. Если вы желаете просто потренироваться, прочтите внимательно справку из архива в части Using StartBlueScreen Utility:
Я скопировал исполнительный файл архива на Рабочий стол, открыл консоль, перешёл на Рабочий стол и запустил утилиту в формате, предлагаемом в справке с указанием пяти баг-параметров, нацеленных на ядро Windows. Смотрите:
Так что антивирус на время опыта пришлось отключить (он несколько раз распознал убивающий API Windows драйвер NirSoftBlueScreenDriver.sys), но BSOD получился самый натуральный.
Как создать BSOD вручную
Для разработчиков в самой Windows также оставлена возможность вызвать BSOD по команде. В системе для этого всё готово, требуется лишь незначительная правка в реестре. В рунете этот способ давно известен, упомяну о нём и я. Нам лишь стоит в ключе реестра (для PS/2 клавиатуры – старого разъёма)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters
или (для USB клавиатуры)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
создать параметр DWORD 32 бита
CrashOnCtrlScroll
и в значении параметра выставить 1:
Перезагружаем систему для применения изменений. Теперь, чтобы вызвать BSOD, зажимаем
Ctrl + ScrLk
Это сочетание клавиш останется с вами навсегда.
Как создать BSOD манипуляцией с процессами
Следующие способы известны испокон веков, однако в современных условиях их провернуть исключительно средствами системы получается не всегда. Microsoft постоянно работает, в том числе, и в этом направлении. Суть их заключается в том, что вам для появления BSOD нужно убить некий системный процесс. Например, csrss.exe или svchost.exe, прекращение которых вызывает цепную реакцию, приводящую к зависанию Windows
Система просто не даст вам этого сделать из Диспетчера задач, отказав в доступе к операции. Однако убить процесс, критически важный и в эту минуту работающий, всё же есть. С помощью программы Process Hacker. Её нужно скачать, установить, запустить под администратором и попробовать убить обозначенный процесс:
Отличным вариантом послужит применение консоли Power Shell. Вот работающая даже в Windows 11 команда в PS, запущенная от имени администратора
taskkill /f /im svchost.exe
В одной из следующих статей мы поучимся определять причину BSOD не наугад, а методичным путём. А пока всё.
Успехов вам.