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

15978
n0pe

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

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

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

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

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

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

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

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


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

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

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

20
Я добавлю это в качестве комментария, так как уверен, что есть лучшие способы, но на любом компьютере с PowerShell самый быстрый способ, который я нашел, это: Remove-Item HKLM: \ * -recurse -force EBGreen 12 лет назад 5
@EBGreen - На самом деле, это чертовски эффективно для этой конкретной ситуации. Shinrai 12 лет назад 1
@EBGreen - это именно то, что я ищу. XP поставляется с PowerShell по умолчанию? n0pe 12 лет назад 0
К сожалению, нет, это не EBGreen 12 лет назад 0
@MaxMackie - http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=16818 Shinrai 12 лет назад 0
Я собираюсь перепроверить и убедиться, что с подключением к Интернету все в порядке. Если нет, то нам все еще нужно решение для Windows без оболочки питания. n0pe 12 лет назад 0
@MaxMackie: Ваш собственный вопрос гласит: «Любая версия после XP». Не "Любая версия XP или позже". Вы можете исправить это, если ваше решение должно быть применимо и к XP, на всякий случай. JAB 12 лет назад 0
Считается ли открытие боковой части корпуса "связыванием с оборудованием"? Если нет, просто откройте чехол и держите яркую 60-ваттную лампочку рядом с тараном :) BlueRaja - Danny Pflughoeft 12 лет назад 0
Кроме того, вы можете редактировать настройки BIOS? В зависимости от материнской платы, может быть несколько параметров, которые вы можете изменить, чтобы окна BSOD сразу после запуска BlueRaja - Danny Pflughoeft 12 лет назад 0
«Не могу НАПИСАТЬ сценарий / программу» Означает ли это, что вы можете загрузить программу из Sysinternals, которая это делает? Если да, то http://dl.dropbox.com/u/16862782/NotMyFault.zip мгновенно завершит его работу. АХ ХАХАХА! sinni800 12 лет назад 1
@ sinni800 - Забавно, но мы не можем его использовать :( n0pe 12 лет назад 0
@MaxMackie - Что в итоге оказалось выигрышным решением? Shinrai 12 лет назад 1
@Shinrai - К сожалению, ни один из них не соответствует моим требованиям на 100%. Ваш самый близкий, и я приму это через пару дней, если не придет что-то лучшее. n0pe 12 лет назад 0
@MaxMackie - я действительно имел в виду в вашем соревновании, а не здесь. :) Я предполагал, что это уже случилось? Shinrai 12 лет назад 0
@Shinrai - Пока нет, но спасибо за вопрос :) Это на следующей неделе, поэтому я жду до тех пор, пока не опубликую результаты. n0pe 12 лет назад 0
@Shinrai - отредактировал мой пост, еще раз спасибо n0pe 12 лет назад 0

3 ответа на вопрос

21
Shinrai

Фактически существует инструмент разработчика, встроенный в большинство версий 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). Если аварийные дампы не были отключены, файл аварийных дампов записывается на этом этапе.

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

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

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

Найти в regedit:

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

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

...

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

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

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

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

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

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

LOL на заставку, я люблю эту вещь. Вероятно, не совсем то, что он хочет, хотя. XD Shinrai 12 лет назад 0
После того, как Макс прокомментировал мой ответ, вероятно, убийство winlogon - лучшее решение его проблемы. (Я не могу придумать другое приложение, которое будет делать то же самое, но я уверен, что есть и другие.) Shinrai 12 лет назад 0
Заставка веселая, но да, я не ищу это :) n0pe 12 лет назад 0
Rightclick on wininit.exe -> "Kill Process Tree" will create a BSOD with "CRITICAL_PROCESS_DIED" matthid 7 лет назад 0