[ホーム] - [Windows 10 FAQ 一覧] - [Windows でブルースクリーンを強制する5通りの方法]



作成日:2020/02/08
更新日:2020/02/08
対象:Windows 10

Windows でブルースクリーンを強制する5通りの方法




【目次】


BSODとは


ブルースクリーンとは Windowsで深刻な問題が発生し動作を停止する機能のことです。
別名はBSOD (Blue Screen of Death) です。一番分かりやすい例はCドライブディスクの破損でしょう。もしCドライブのディスクが破損したりコントローラが破損したらこれ以上C:\以下(例えばC:\WindowsやC:\Pagefile.sys)に書き込むことができません。もうWindowsは正常に動作しません。よって画面にBSODを表示して動作を完全に停止します。
シャットダウン処理すら行うことができません。ファイルの保存もデータベース(OracleやSQLなど)もシャットダウンも行われません。
障害の解析を行うために物理メモリの内容をクラッシュダンプに書き出して動作を停止します。ただしCドライブ異常の場合はクラッシュダンプの書き込みすら失敗する可能性があります。

強制的にBSODを発生させる


このページでは強制的にこのBSODを発生させる手順に関して説明します。ダンプファイルのテストなどに活用してください。
5通りの方法を紹介します。一番簡単なのはコマンドで重要なプロセスを終了させる方法でしょう。ただし方法によりSTOPコードが異なるので何通りかの方法で試すとよいでしょう。

重要事項


本手順は絶対にテスト環境で実施してください。VMware や Hyper-V上で作成した仮想環境で試すことを推奨します。
絶対に本番環境や個人で使用しているPC上などでは実行しないでください。
Windowsが破損して二度と立ち上がらなくなったり、ファイルが破損する可能性があります。


重要なプロセスを強制終了


(1)svchost.exeを強制終了する

svchost.exeを強制終了するとBSODとなります。


C:\>taskkill /F /IM:svchost.exe



svchost.exeを強制終了する



CRITICAL PROCESS DIEDが表示され以下画面が表示されます。QRコードで対応を確認することが可能です。

CRITICAL PROCESS DIED で BSOD



メモリーダンプを取得する設定がされていてかつ取得が可能な場合は以下の通り物理メモリからダンプファイルへの生成が行われます。数Gのファイルであるためしばらく時間がかかります。

ブルースクリーンでメモリダンプ生成



(2)wininit
wininit.exeも重要なプロセスで停止するとBSODとなります。


C:\>taskkill /F /IM:wininit.exe
エラー: プロセス "wininit.exe" (PID 784) を強制終了できませんでした。
理由: アクセスが拒否されました。



コマンドプロンプトからは強制終了できませんでしたが、タスクマネージャから強制終了することができました。
ただし出来たのは Windows Server 2016であり、Windows 10ではコマンドと同様にアクセスが拒否されました。

wininitを強制終了する




Cドライブを書き込み不可に


VMware などの場合は管理ツールから仮想ディスクをデタッチするとBSOD化することが可能です。(詳細手順は省略)

iSCSI Initiator ドライバをインストールする


デバイスマネージャから不要なデバイスを追加するとクラッシュする場合があります。
例えばカードが挿入されていないのに"iSCSI Initiator "をインストールするとBSODになるようです。Windows 10.0(バージョン1709)で確認。

デバイスマネージャーから追加することが可能です。

Chelsio T5 iSCSI Initiatorを追加



ドライバインストール中に以下BSODが発生しました。"SYSTEM THREAD EXCEPTION NOT HANDLED"というSTOPコードです。

SYSTEM THREAD EXCEPTION NOT HANDLED



CrashOnCtrlScroll機能


Windows では標準で強制的にBSODにする機能が搭載されています。
詳しい手順は以下のページを参考にしてください。

参考:
Window10で強制的にブルースクリーン(クラッシュ)させてメモリダンプを取得する


Hyper-V環境のDebug-VM


Hyper-V環境の場合は PowershellのDebug-VMコマンドレットで強制的にBSOD化する方法が提供されています。Hyper-V意外では使えないようです。


PS> debug-vm -name "仮想マシン名" -InjectNonMaskableInterrupt -Force



リソース不足


CPU使用率圧迫ツールやメモリ圧迫ツールにより負荷をかけました。動作はスローになりましたがBSODは発生しませんでした。

イベントログ


BSODの後の再起動後でイベントログでエラーを確認することが可能です。STOPコードから原因を調査することが可能です。
以下のようなログが記録されているはずです。

イベントビューアのKernel Power ログ




ログの名前: System
ソース: Microsoft-Windows-WER-SystemErrorReporting
日付: 2020/02/01 15:00:00
イベント ID: 1001
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: WIN-SERVERNAME
説明:
このコンピューターはバグチェック後、再起動されました。バグチェック: 0x000000ef (0xffff99814557b800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000)。ダンプの保存先: C:\Windows\MEMORY.DMP。レポート ID: b2b261fb-5787-4b6e-9085-08e23a11b881。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-WER-SystemErrorReporting" Guid="{ABCE23E7-DE45-4366-8631-84FA6C525952}" EventSourceName="BugCheck" />
<EventID Qualifiers="16384">1001</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2020-02-08T06:24:00.585057300Z" />
<EventRecordID>9767</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>WIN-SERVERNAME</Computer>
<Security />
</System>
<EventData>
<Data Name="param1">0x000000ef (0xffff99814557b800, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000)</Data>
<Data Name="param2">C:\Windows\MEMORY.DMP</Data>
<Data Name="param3">*********-****-****-****-************</Data>
</EventData>
</Event>



参考:
イベントビューアの起動方法






(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがある可能性や仕様変更により内容が不正確になる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2024

[Windows 10 FAQ 一覧に戻る]