Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Al solucionar problemas del sistema, es posible que tenga que generar un archivo de volcado de memoria para analizar el estado del sistema. Puede forzar un bloqueo del sistema directamente desde el teclado mediante combinaciones de teclas específicas. Esta funcionalidad es útil cuando un sistema deja de responder o cuando necesita capturar información de diagnóstico.
En este artículo se explica lo siguiente:
- Configuración del Registro para habilitar bloqueos iniciados por el teclado
- Usar métodos abreviados de teclado para desencadenar un bloqueo del sistema
- Configurar métodos abreviados de teclado alternativos
Esta característica funciona con teclados PS/2 (Windows 2000 y versiones posteriores), teclados USB (Windows Vista y versiones posteriores) y teclados Hyper-V (Windows 10 versión 1903 y posteriores).
Precaución
Forzar un fallo del sistema detiene inmediatamente el sistema y podría resultar en la pérdida de datos. Use esta característica solo cuando sea necesario con fines de depuración y asegúrese de guardar el trabajo.
Configuración
Configure las siguientes configuraciones para habilitar una caída del sistema usando 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.
Para teclados PS/2: Habilite la falla iniciada por el teclado en el registro del sistema:
- Vaya a
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters. - Creación de un valor denominado
CrashOnCtrlScroll - Establézcalo en el valor de
REG_DWORD0x01
- Vaya a
Con los teclados USB, debe habilitar el bloqueo iniciado por el teclado en el Registro.
- En la clave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parametersdel Registro , cree un valor denominadoCrashOnCtrlScroll - Establézcalo igual a un
REG_DWORDvalor de 0x01.
- En la clave
Con los teclados Hyper-V, debe habilitar el bloqueo iniciado por el teclado en el Registro.
- En la clave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parametersdel Registro , cree un valor denominadoCrashOnCtrlScroll - Establézcalo igual a un
REG_DWORDvalor de 0x01.
- En la clave
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 los volcados de memoria estén deshabilitados, se escribe un archivo de volcado de memoria.
Si un depurador de kernel está asociado a la máquina bloqueada, la máquina se divide 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\crashdumpPara teclados USB:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdumpPara 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.
En la tabla siguiente se describen los valores hexadecimales de la primera clave activa.
| 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.
Example
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. Puede forzar un bloqueo manual del sistema manteniendo presionada la tecla de control más a la derecha y presionando 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 combinación de teclas para iniciar un bloqueo funciona incluso en muchos casos en los que CTRL+ALT+DELETE 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