Forzare un arresto anomalo del sistema dalla tastiera
I tipi di tastiere seguenti possono causare un arresto anomalo del sistema direttamente:
Tastiere PS/2 connesse alle porte i8042prt Questa funzionalità è disponibile in Windows 2000 e versioni successive del sistema operativo Windows.
Tastiere USB
Questa funzionalità è disponibile in Windows Vista e versioni successive del sistema operativo Windows.Tastiere Hyper-V
Questa funzionalità è disponibile in Windows 10 versione 1903 e versioni successive del sistema operativo Windows.
Impostazione
Configurare le impostazioni seguenti per abilitare un arresto anomalo del sistema tramite la tastiera:
Se si desidera scrivere un file dump di arresto anomalo del sistema, è necessario abilitare tali file di dump. Scegliere il percorso e il nome del file e selezionare le dimensioni del file di dump. Per altre informazioni, vedere Abilitazione di un file di dump in modalità kernel.
Con le tastiere PS/2, è necessario abilitare l'arresto anomalo avviato dalla tastiera nel Registro di sistema. Nella chiave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters
del Registro di sistema creare un valore denominatoCrashOnCtrlScroll
e impostarlo su unREG_DWORD
valore di 0x01.Con le tastiere USB, è necessario abilitare l'arresto anomalo avviato dalla tastiera nel Registro di sistema. Nella chiave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters
del Registro di sistema creare un valore denominatoCrashOnCtrlScroll
e impostarlo su unREG_DWORD
valore di 0x01.Con le tastiere Hyper-V, è necessario abilitare l'arresto anomalo avviato dalla tastiera nel Registro di sistema. Nella chiave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parameters
del Registro di sistema creare un valore denominatoCrashOnCtrlScroll
e impostarlo su unREG_DWORD
valore di 0x01.
Alcuni portatili usano il driver PS/2 per la tastiera predefinita e supportano anche tastiere HID esterne. Per questi sistemi, è consigliabile creare sia i tasti USB che PS/2 del Registro di sistema per consentire l'uso di entrambe le tastiere.
Per rendere effettive queste impostazioni, è necessario riavviare il sistema.
Al termine del riavvio, l'arresto anomalo della tastiera può essere avviato usando la sequenza di tasti di scelta rapida seguente: tenere premuto il tasto CTRL più a destra e premere due volte il tasto SCROLL LOCK.
Il sistema chiama KeBugCheck
e rilascia 0xE2 di controllo dei bug: MANUALLY_INITIATED_CRASH. A meno che i dump di arresto anomalo del sistema non siano stati disabilitati, viene quindi scritto un file di dump di arresto anomalo del sistema.
Se un debugger del kernel è collegato al computer arrestato in modo anomalo, il computer si interromperà nel debugger del kernel dopo la scrittura del file di dump di arresto anomalo del sistema.
Definizione di tasti di scelta rapida alternativi per forzare un arresto anomalo del sistema dalla tastiera
È possibile configurare valori alternativi nelle seguenti sottochiavi del Registro di sistema per le sequenze di tasti di scelta rapida per generare il file di dump della memoria:
Per le tastiere PS/2:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
Per le tastiere USB:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump
Per le tastiere Hyper-V:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hyperkbd\crashdump
È necessario creare i valori del Registro di sistema REG_DWORD
seguenti in queste sottochiavi:
Dump1Keys
Il Dump1Keys
valore del Registro di sistema è una mappa bit del primo tasto di scelta rapida da usare. Ad esempio, invece di usare il tasto CTRL più a destra per avviare la sequenza di tasti di scelta rapida, è possibile impostare il primo tasto di scelta rapida come tasto MAIUSC all'estrema sinistra.
I valori esadecimali per la prima chiave di scelta rapida sono descritti nella tabella seguente.
Valore | Primo tasto usato nella sequenza di tasti di scelta rapida |
---|---|
0x01 | Tasto MAIUSC all'estrema destra |
0x02 | Tasto CTRL più a destra |
0x04 | Tasto ALT più a destra |
0x10 | Tasto MAIUSC all'estrema sinistra |
0x20 | Tasto CTRL all'estrema sinistra |
0x40 | Tasto ALT più a sinistra |
È possibile assegnare Dump1Keys
un valore che abilita uno o più tasti come primo tasto usato nella sequenza di tasti di scelta rapida. Ad esempio, assegnare Dump1Keys
un valore di 0x11 per definire sia i tasti MAIUSC più a destra che a sinistra come primo tasto nella sequenza di tasti di scelta rapida.
Dump2Key
Il Dump2Key
valore del Registro di sistema è l'indice nella tabella codici di analisi per il layout della tastiera del computer di destinazione. Vedere la tabella effettiva nel driver:
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 };
L'indice 124 (sysreq) è un caso speciale perché una tastiera a 84 tasti ha un codice di analisi diverso.
Se si definiscono tasti di scelta rapida alternativi per forzare un arresto anomalo del sistema da una tastiera USB o PS/2, è necessario impostare il valore del CrashOnCtrlScroll
Registro di sistema su 0 o rimuoverlo dal Registro di sistema.
Esempio: in questo scenario, un portatile usa un driver di tastiera PS2 e viene collegata una tastiera HID esterna. L'impostazione di entrambi i valori consente di attivare un arresto anomalo manuale del sistema da entrambe le tastiere. Un arresto anomalo del sistema manuale può essere forzato tenendo premuto il tasto di controllo più a destra e premendo la barra spaziatrice due volte quando viene impostata la chiave del Registro di sistema seguente.
[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
Limiti
È possibile, ma raro che un sistema si blocchi in modo tale che la sequenza di tasti di scelta rapida non funzioni. L'uso della sequenza di tasti di scelta rapida per avviare un arresto anomalo funzionerà anche in molte istanze in cui CTRL+ALT+DELETE non funziona.
L'uso forzato di un arresto anomalo del sistema dalla tastiera non funziona se il computer smette di rispondere a un livello di richiesta di interrupt elevato (IRQL). Questa limitazione esiste perché il driver Kbdhid.sys , che consente l'esecuzione del processo di dump della memoria, opera a un runtime di integrazione inferiore rispetto al driver i8042prt.sys .
Vedi anche
0xE2 di controllo dei bug: MANUALLY_INITIATED_CRASH
Analisi di un file di dump in modalità kernel con WinDbg
Controllo bug 0x161: LIVE_SYSTEM_DUMP
Generare un kernel o completare un dump di arresto anomalo
Varietà di file di dump in modalità kernel.