キーボード操作で強制的にクラッシュさせる

キーボードからのシステム クラッシュの強制実行の操作でクラッシュを起こすことができる。

キーボードの種類によって設定先のキーは異なるが、CrashOnCtrlScrollという名前でREG_DWORD値0x01を作成する。

  • PS2キーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
  • USBキーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
  • Hyper-Vキーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hyperkbd\Parameters

これを設定した状態で右Ctrlキーを押しながらScrollLockキーを2回押すとMANUALLY_INITIATED_CRASHでブルースクリーンとなる

クラッシュ操作のキーを変更する

こまったことにScrollKeyがないキーボードは多い。そのため、別のキーを割り当てなければならないことも多い。
これには、上記とおなじくキーボードの種類によって異なるが、crashdumpというキーを作成し、Dump1KeysDump2Keyでキーの組み合わせを設定する。

  • PS2キーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
  • USBキーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump
  • Hyper-Vキーボードは\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hyperkbd\crashdump

注意点

注意点が3点(うまく動かなくてハマった)

  • CrashOnCtrlScrollの値を0x00にすること
  • スペルに注意(crushdumpではなくてcrashdump
  • Dump1keys(複数形)とDump2Key(単数形)に注意

Dump1Keys

Dump1Keysという名前でREG_DWORDの値を以下で設定する。
これが複数系なのはたとえば0x11で左右のShiftキーのような設定が可能なため。

キーボードショートカットシーケンスで使用される最初のキー
0x01 右Shiftキー
0x02 右Ctrlキー
0x04 右Altキー
0x10 左Shiftキー
0x20 左Ctrlキー
0x40 左Altキー

Dump2Key

Dump2Keyこのコンピューターのキーボードレイアウト用のscancodeテーブルのインデックスとある。
scancodeで検索すれば各種キーボードの情報があるが、1つ挙げるとDeleteキーは0x4cだ。

設定例

たとえば右ShiftーDeleteキー(2回)でクラッシュとする場合は以下のレジストリ設定。

1
2
3
4
5
6
7
8
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters]
"CrashOnCtrlScroll"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump]
"Dump1Keys"=dword:00000002
"Dump2Key"=dword:0000004c