Самый быстрый способ воспроизвести «Синий экран смерти» (BSOD)?

20

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

Как говорит Шинрай :

Таким образом, в основном вы пытаетесь сделать BSOD машиной настолько быстрым, насколько это возможно, но только один раз, и вы не можете прикоснуться к машине до того, как часы начнут работать?

Да, это именно то, что я пытаюсь сделать.

Мне интересно, есть ли простые команды или действия, которые приведут к тому, что Windows станет бесполезной и выплюнет синий экран. Любые указатели были бы очень полезны.

Ограничения:

  • Не могу написать скрипт / программу
  • Не могу связываться с оборудованием
  • Должен быть в состоянии сделать это в рамках Windows
  • Не может быть подделкой

Мне нужно иметь возможность загружаться в Windows, тогда я должен воспроизводить BSOD на лету. Таким образом, аппаратные решения и решения с обязательной загрузкой хороши, но они не соответствуют этим правилам.


ВЫВОДЫ
Я прибыл на конкурс, готовый реализовать метод BSOD Шинрея. Оказывается, не было никаких особых правил включения и выключения компьютера, только то, что вы не можете связываться с оборудованием. Я проверил свою клавиатуру - она ​​была USB, поэтому я знал, какую клавишу редактировать. Нам сказали начать, и я быстро нашел и отредактировал ключ и перезагрузил. К счастью, это были голые компьютеры, и не нужно было запускать много служб, что приводило к довольно быстрой перезагрузке. Оглядевшись, я увидел, как люди возятся с реестром, но никто больше не перезагружал их компьютер. Я сделал комбинацию клавиш, и окна BOOM извергли прекрасный BSOD (то, что операционная система действительно хороша).

В итоге я выиграл, и у меня было только одно, что сказать: «Я счастлив, что еду домой на свою Linux-коробку».

Спасибо Shinrai за выигрышное решение!

n0pe
источник
5
Я добавлю это в качестве комментария, так как уверен, что есть лучшие способы, но на любом компьютере с PowerShell самый быстрый способ, который я нашел, это: Remove-Item HKLM: * -recurse -force
EBGreen
1
@EBGreen - На самом деле, это чертовски эффективно для этой конкретной ситуации.
Шинрай
@EBGreen - это именно то, что я ищу. XP поставляется с PowerShell по умолчанию?
n0pe
1
«Не могу НАПИСАТЬ сценарий / программу» Означает ли это, что вы можете загрузить программу из Sysinternals, которая это делает? Если да, то dl.dropbox.com/u/16862782/NotMyFault.zip мгновенно вылетит . АХ ХАХАХА!
sinni800
1
@MaxMackie - Что в итоге оказалось выигрышным решением?
Shinrai

Ответы:

21

Фактически существует инструмент разработчика, встроенный в большинство версий Windows для генерации BSOD по команде. Вот как вы вызываете это в Windows 7 на клавиатуре USB или PS / 2 (я полагаю, что это то же самое для XP / Vista на USB, хотя эта статья не говорит об этом, хотя я могу ошибаться):

Прежде чем клавиатура может вызвать сбой системы, необходимо убедиться в следующих трех настройках:

Если вы хотите, чтобы файл аварийного дампа записывался, вы должны включить такие файлы дампа, выбрать путь и имя файла и выбрать размер файла дампа. Для получения дополнительной информации см. Включение файла дампа в режиме ядра.

Для клавиатур PS / 2 необходимо включить сбой, вызванный клавиатурой, в реестре. В разделе реестра HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ i8042prt \ Parameters создайте значение с именем CrashOnCtrlScroll и установите для него значение REG_DWORD, равное 0x01.

На USB- клавиатурах необходимо включить сбой, вызванный клавиатурой, в реестре. В разделе реестра HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ kbdhid \ Parameters создайте значение с именем CrashOnCtrlScroll и установите для него значение REG_DWORD, равное 0x01.

Вы должны перезагрузить систему, чтобы эти настройки вступили в силу.

После этого сбой клавиатуры можно инициировать с помощью следующей последовательности горячих клавиш: Удерживая крайнюю правую клавишу CTRL, дважды нажмите клавишу SCROLL LOCK.

Затем система вызывает KeBugCheck и выдает проверку на ошибку 0xE2 (MANUALLY_INITIATED_CRASH). Если аварийные дампы не были отключены, файл аварийных дампов записывается на этом этапе.

Если к аварийному компьютеру подключен отладчик ядра, то после записи файла аварийного дампа компьютер перейдет в отладчик ядра.

Shinrai
источник
3
Хороший ответ для всех клавиатур, но все же требует длительной перезагрузки.
n0pe
@MaxMackie - вам нужно перезагрузить компьютер только при первом изменении настроек, я не ожидал, что это будет проблемой. Похоже, вы будете много тестировать, исходя из того, как вы сформулировали вопрос. :)
Shinrai
да, это моя вина, что не уточнил. Я отредактирую свой вопрос и буду более конкретным.
n0pe
@MaxMackie - я вижу ваши изменения, но не понимаю, почему «длительная перезагрузка» является проблемой, но, возможно, я неправильно вас читаю. Вы изменяете настройки, перезагружаетесь один раз, и затем вы можете генерировать синие экраны для ваших сердец до конца времени (или машина выходит из строя, в зависимости от того, что наступит раньше). Конечно, вам придется перезагружаться после каждого синего экрана, но это верно для ЛЮБОГО синего экрана ...
Shinrai
1
Может быть, я слишком расплывчат в своем вопросе. Это для своего рода проблемы. Нам нужно воспроизвести одноразовый BSOD. Неважно, если это займет всего 1 перезагрузку, это только первое появление BSOD, которое действительно имеет значение.
n0pe
5

Это старая документированная техника. Должно работать как минимум до Vista:

Найти в regedit:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters\

Создайте ключ DWORD с именем CrashOnCtrlScrollи установите его значение равным 1.

...

Чтобы сгенерировать BSOD, удерживайте правый CTRL и дважды нажмите ScrollLock.

Гном
источник
Это работает только для клавиатур PS / 2. Смотрите мой ответ для USB, а также.
Шинрай
Похоже, это работает, но вам нужно перезагрузиться, чтобы оно вступило в силу. Довольно долго.
n0pe
2
Хороший Шинрай. Вы получили +1
Гном
3

Вы можете включить инициируемые вручную сбои , выполнив эти изменения реестра.

Если BIOS может переключать адаптер жесткого диска вашей системы между собственным SATA и традиционным режимом ATA (и, возможно, IRRT), переключение в другой режим, в котором установлена ​​Windows, обычно приводит к ошибке BOOT_VOLUME_INACCESSIBLE. Я уверен, что отключение ACPI (если это возможно в BIOS), когда Windows была установлена ​​с включенным ACPI, также приведет к появлению синего экрана при загрузке.

Уничтожение winlogon.exeс помощью Process Explorer в Sysinternal приводит к появлению синего экрана, но это не традиционный экран «Обнаружена проблема, и Windows была отключена для защиты вашего компьютера ...».

Это также может вас заинтересовать - BlueScreen Screen Saver от Sysinternals.

LawrenceC
источник
LOL на заставку, я люблю эту вещь. Вероятно, не совсем то, что он хочет, хотя. xD
Шинрай
После того, как Макс прокомментировал мой ответ, возможно, убийство winlogon - лучшее решение его проблемы. (Я не могу придумать другое приложение, которое будет делать то же самое, но я уверен, что есть и другие.)
Shinrai
Заставка веселая, но да, я не ищу это :)
n0pe
Щелкните правой кнопкой мыши на wininit.exe -> «Убить процесс дерево» создаст BSOD с «CRITICAL_PROCESS_DIED»
matthid