Forzado de un bloqueo del sistema desde el teclado
Los siguientes tipos de teclados pueden provocar un bloqueo del sistema directamente:
Teclados PS/2 conectados en puertos i8042prt Esta característica está disponible en Windows 2000 y versiones posteriores del sistema operativo Windows.
Teclados USB
Esta característica está disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.Teclados Hyper-V
Esta característica está disponible en Windows 10 versión 1903 y versiones posteriores de los sistemas operativos Windows.
Configuración
Configure las opciones siguientes para habilitar un bloqueo del sistema mediante el teclado:
Si desea que se escriba un archivo de volcado de memoria, debe habilitar dichos archivos de volcado. Elija la ruta y el nombre de archivo y seleccione el tamaño del archivo de volcado. Para obtener más información, consulte Habilitación de un archivo de volcado en modo kernel.
Con los teclados PS/2, debe habilitar el bloqueo iniciado por el teclado en el Registro. En la clave del Registro
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters
, cree un valor denominadoCrashOnCtrlScroll
y establézcalo con un valor deREG_DWORD
de 0x01.Con los teclados USB, debe habilitar el bloqueo iniciado por el teclado en el Registro. En la clave del Registro
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters
, cree un valor denominadoCrashOnCtrlScroll
y establézcalo con un valor deREG_DWORD
de 0x01.Con los teclados Hyper-V, debe habilitar el bloqueo iniciado por el teclado en el Registro. En la clave del Registro
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parameters
, cree un valor denominadoCrashOnCtrlScroll
y establézcalo con un valor deREG_DWORD
de 0x01.
Algunos portátiles usan el controlador PS/2 para el teclado integrado y también admiten teclados HID externos. Para estos sistemas, considere la posibilidad de crear las teclas del Registro USB y PS/2 para permitir el uso de cualquiera de los teclados.
Debe reiniciar el sistema para que la configuración surta efecto.
Una vez completado el reinicio, el bloqueo del teclado se puede iniciar mediante la siguiente secuencia de teclas de acceso rápido: mantenga pulsada la tecla CTRL situada más a la derecha y pulse la tecla BLOQ DESPL dos veces.
A continuación, el sistema llama a KeBugCheck
y emite la comprobación de errores 0xE2: MANUALLY_INITIATED_CRASH. A menos que se hayan deshabilitado los volcados de memoria, se escribe un archivo de volcado de memoria.
Si un depurador de kernel está asociado a la máquina bloqueada, la máquina entrará en el depurador de kernel después de escribir el archivo de volcado de memoria.
Definición de métodos abreviados de teclado alternativos para forzar un bloqueo del sistema desde el teclado
Puede configurar valores alternativos en las siguientes subclaves del Registro para secuencias de método abreviado de teclado para generar el archivo de volcado de memoria:
Para teclados PS/2:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
Para teclados USB:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump
Para teclados Hyper-V:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hyperkbd\crashdump
Debe crear los siguientes valores REG_DWORD
del Registro en estas subclaves:
Dump1Keys
El valor del Registro Dump1Keys
es un mapa de bits de la primera tecla de acceso rápido que se va a usar. Por ejemplo, en lugar de usar la tecla CTRL situada más a la derecha para iniciar la secuencia de teclas de acceso rápido, puede establecer la primera tecla de acceso rápido para que sea la tecla MAYÚS situada más a la izquierda.
Los valores hexadecimales de la primera tecla de acceso rápido se describen en la tabla siguiente.
Valor | Primera tecla usada en la secuencia de método abreviado de teclado |
---|---|
0x01 | Tecla Mayús situada más a la derecha |
0x02 | Tecla CTRL situada más a la derecha |
0x04 | Tecla ALT situada más a la derecha |
0x10 | Tecla MAYÚS situada más a la izquierda |
0x20 | Tecla CTRL situada más a la izquierda |
0x40 | Tecla ALT situada más a la izquierda |
Puede asignar a Dump1Keys
un valor que habilite una o varias teclas como la primera tecla usada en la secuencia de método abreviado de teclado. Por ejemplo, asigne a Dump1Keys
un valor de 0x11 para definir las teclas MAYÚS situadas más a la derecha y a la izquierda como la primera tecla de la secuencia de método abreviado de teclado.
Dump2Key
El valor del Registro Dump2Key
es el índice de la tabla de códigos de análisis para el diseño del teclado del equipo de destino. Consulte la tabla real en el controlador:
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 };
El índice 124 (sysreq) es un caso especial porque un teclado de 84 teclas tiene un código de análisis diferente.
Si define métodos abreviados de teclado alternativos para forzar un bloqueo del sistema desde un teclado USB o PS/2, debe establecer el valor del Registro CrashOnCtrlScroll
en 0 o quitarlo del registro.
Ejemplo: en este escenario, un portátil usa un controlador de teclado PS2 y se conecta un teclado HID externo. Establecer ambos valores permite desencadenar un bloqueo manual del sistema desde cualquiera de los teclados. Se puede forzar un bloqueo manual del sistema manteniendo pulsada la tecla de control situada más a la derecha y pulsando la barra espaciadora dos veces cuando se establece la siguiente clave del Registro.
[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
Limitaciones
Es posible pero poco frecuente que un sistema se inmovilice de tal manera que la secuencia de método abreviado de teclado no funcione. El uso de la secuencia de método abreviado de teclado para iniciar un bloqueo funcionará incluso en muchas instancias en las que CTRL+ALT+SUPR no funciona.
Forzar un bloqueo del sistema desde el teclado no funciona si el equipo deja de responder en un nivel de solicitud de interrupción alto (IRQL). Esta limitación existe porque el controlador Kbdhid.sys, que permite ejecutar el proceso de volcado de memoria, funciona en un IRQL inferior que el controlador i8042prt.sys.
Consulte también
Comprobación de errores 0xE2: MANUALLY_INITIATED_CRASH
Análisis de un archivo de volcado en modo kernel con WinDbg
Comprobación de errores 0x161: LIVE_SYSTEM_DUMP