強制從鍵盤發生系統當機
下列類型的鍵盤可能會導致系統直接當機:
在 i8042prt 埠 上連線的 PS/2 鍵盤此功能適用於 Windows 2000 和更新版本的 Windows 操作系統。
USB 鍵盤
這項功能適用於 Windows Vista 和更新版本的 Windows 作業系統。Hyper-V 鍵盤
這項功能適用於 Windows 10 版本 1903 和更新版本的 Windows 作業系統。
組態
設定下列設定,以使用鍵盤啟用系統當機:
如果您想要撰寫損毀傾印檔案,您必須啟用這類傾印檔案。 選擇路徑和檔名,然後選取傾印檔案的大小。 如需詳細資訊,請參閱 啟用內核模式傾印檔案。
使用 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的值。使用 Hyper-V 鍵盤時,您必須在登錄中啟用鍵盤起始的當機。 在登錄機碼
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parameters
中,建立名為CrashOnCtrlScroll
的值,並將它設定為REG_DWORD
等於 0x01的值。
某些膝上型計算機會針對內建鍵盤使用 PS/2 驅動程式,也支援外部 HID 鍵盤。 針對這些系統,請考慮同時建立USB和 PS/2 登錄機碼,以允許使用任一鍵盤。
您必須重新啟動系統,這些設定才會生效。
重新啟動完成後,可以使用下列快捷鍵順序來起始鍵盤當機:按住最右邊的 CTRL 鍵,然後按兩次 SCROLL LOCK 鍵。
系統接著會呼叫 KeBugCheck
併發出 錯誤檢查0xE2:MANUALLY_INITIATED_CRASH。 除非已停用損毀傾印,否則會寫入損毀傾印檔案。
如果核心調試程式附加至損毀的計算機,機器會在寫入損毀傾印檔案之後中斷至核心調試程式。
定義替代鍵盤快捷方式以強制從鍵盤發生系統當機
您可以在下列登入子機碼下設定替代值,讓鍵盤快捷方式序列產生記憶體轉儲檔案:
針對 PS/2 鍵盤:
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
您必須在這些子機碼下建立下列登入 REG_DWORD
值:
Dump1Keys
登錄 Dump1Keys
值是要使用的第一個快捷鍵位對應。 例如,您可以使用最右邊的 CTRL 鍵來起始快捷鍵序列,您可以將第一個快捷鍵設定為最左邊的 SHIFT 鍵。
下表說明第一個熱鍵的十六進位值。
值 | 鍵盤快捷方式順序中使用的第一個按鍵 |
---|---|
0x01 | 最右邊的SHIFT鍵 |
0x02 | 最右邊的 CTRL 鍵 |
0x04 | 最右邊的ALT鍵 |
0x10 | 最左邊的SHIFT鍵 |
0x20 | 最左邊的 CTRL 鍵 |
0x40 | 最左邊的ALT鍵 |
您可以指派 Dump1Keys
值,以啟用一或多個按鍵做為鍵盤快捷方式序列中使用的第一個按鍵。 例如,指派 Dump1Keys
值 0x11,將最右邊和最左邊的 SHIFT 鍵定義為鍵盤快捷方式序列中的第一個按鍵。
Dump2Key
登錄 Dump2Key
值是目標計算機的鍵盤配置掃描代碼表中的索引。 請參閱驅動程式中的實際資料表:
const UCHAR keyToScanTbl[134] = {
0x00,0x29,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,
0x0A,0x0B,0x0C,0x0D,0x7D,0x0E,0x0F,0x10,0x11,0x12,
0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x00,
0x3A,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,
0x27,0x28,0x2B,0x1C,0x2A,0x00,0x2C,0x2D,0x2E,0x2F,
0x30,0x31,0x32,0x33,0x34,0x35,0x73,0x36,0x1D,0x00,
0x38,0x39,0xB8,0x00,0x9D,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xD2,0xD3,0x00,0x00,0xCB,
0xC7,0xCF,0x00,0xC8,0xD0,0xC9,0xD1,0x00,0x00,0xCD,
0x45,0x47,0x4B,0x4F,0x00,0xB5,0x48,0x4C,0x50,0x52,
0x37,0x49,0x4D,0x51,0x53,0x4A,0x4E,0x00,0x9C,0x00,
0x01,0x00,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,
0x43,0x44,0x57,0x58,0x00,0x46,0x00,0x00,0x00,0x00,
0x00,0x7B,0x79,0x70 };
索引 124 (sysreq) 是特殊案例,因為 84 鍵鍵盤有不同的掃描碼。
如果您定義替代鍵盤快捷方式來強制從 USB 或 PS/2 鍵盤當機,您必須將 CrashOnCtrlScroll
登錄值設定為 0,或從登錄中移除它。
範例:在此案例中,膝上型計算機會使用 PS2 鍵盤驅動程式,並附加外部 HID 鍵盤。 設定這兩個值可讓您從任一鍵盤觸發手動系統當機。 手動系統當機可以藉由按住最右邊的控制鍵,並在設定下列登錄機碼時按下空格鍵兩次來強制。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump]
"Dump1Keys"=dword:00000002
"Dump2Key"=dword:0000003d
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump]
"Dump1Keys"=dword:00000002
"Dump2Key"=dword:0000003d
限制
系統可能會以鍵盤快捷方式序列無法運作的方式凍結, 但很罕見。 即使在許多 CTRL+ALT+DELETE 無法運作的實例中,使用鍵盤快捷方式順序起始當機也能運作。
如果電腦停止回應高中斷要求層級(IRQL),則強制鍵盤的系統當機無法運作。 此限制存在,因為 Kbdhid.sys 驅動程式可讓記憶體轉儲進程執行,其運作的 IRQL 低於 i8042prt.sys 驅動程式。
另請參閱
錯誤檢查0xE2:MANUALLY_INITIATED_CRASH
核心模式傾印檔案的品種。