ブルースクリーンエラーを
- Windowsに搭載された機能で (危険度低めで) 意図的に出す方法
- 外部ツールを使って (危険度高いけど) マジに強制的に出す方法
この2種類を紹介します。
方法1: ブルースクリーンエラーを意図的に出す方法(危険度低め)
レジストリを変更する方法です。危険度低め。
本来は、開発者がメモリダンプを取得するために使う方法で、擬似的にシステムエラーを発生させます。システムやハードに障害が出る事は(ほぼ)ありません。
レジストリエディタを起動する
▲クリックで拡大
以下の値をセットします
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
値の名前 : CrashOnCtrlScroll
データ型 : REG_DWORD
値 : 1
PCの再起動について
PS/2 キーボードを使用している場合は、再起動後に設定が有効になります。
USBキーボードの場合、再起動しなくても設定が有効になります。
ブルースクリーンを発生させる操作
右側の[Ctrl]キーを押しっぱなし + [Scroll Lock]キー2回押下
ブルースクリーンを出した結果
▲クリックで拡大
※VMware上のWindows8.1でテストしています。
イベントログのチェック
▲クリックで拡大
こんな方法でもイベントログにはきちんとKP41エラーが記録されており、予期せぬ問題が発生した事でWindowsが強制的に終了されている事が確認できます。
方法2: ブルースクリーンエラーを(危険度高いけど) マジに強制的に出す方法
「NotMyFault」というフリーソフトを利用します。
ダウンロード先: 書籍『Windows Internals』
※ページ下段「書籍内で言及されているツール」にダウンロードリンクあり。
NotMyFaultの使い方
- [x86]版、[x64]版の2種類が同梱されているので、PC環境に合った「NotMyfault.exe」をダブルクリックして起動します。
- BSoDエラーの原因となるオプションを選んで、「Crash」ボタンをクリックすればブルースクリーンエラーが発生します。
かなり強烈なので注意
▲クリックで拡大 (画面はVMware上のXP)
最初に紹介したレジストリを弄る方法では表示されなかった「Windowsを正しく開始できませんでした」のメッセージが表示されます。
一発でWindowsを起動させる事ができなくなりました。
また実機とVMwareで合わせて4~5回試して見ましたが、
CMOSクリアが必要になったり、ディスプレイドライバの調子が悪くなったり、ネットの接続が遅くなったり、仮想OSの場合はVMware Toolsの再インストールが必要になったり・・・様々な障害が発生しました。
注意事項: NotMyFaultについて
ハードやシステムにかなりのダメージが出る場合がありますので、このツールを使う時は慎重に操作しましょう。というか、よっぽどの事がない限り使わないようにしましょう。利用はマジで自己責任です。
色んなオプションを試し、その全部が危険っちゃ危険だったのですが、「High IRQL(スケジューリングと割り込み要求レベル)fault」を使ったブルースクリンエラーの発生は、試さないようにしましょう。マジで凶悪でした(^_^;