Forcer un plantage du système à partir du clavier
Les types de claviers suivants peuvent provoquer un blocage du système directement :
Claviers PS/2 connectés sur les ports i8042prt Cette fonctionnalité est disponible dans Windows 2000 et versions ultérieures du système d’exploitation Windows.
Claviers USB
Cette fonctionnalité est disponible dans Windows Vista et les versions ultérieures du système d’exploitation Windows.Claviers Hyper-V
Cette fonctionnalité est disponible dans Windows 10 version 1903 et versions ultérieures du système d’exploitation Windows.
Configuration
Configurez les paramètres suivants pour activer un incident système à l’aide du clavier :
Si vous souhaitez qu’un fichier de vidage sur incident soit écrit, vous devez activer ces fichiers de vidage. Choisissez le chemin d’accès et le nom du fichier, puis sélectionnez la taille du fichier de vidage. Pour plus d’informations, consultez Activation d’un fichier de vidage en mode noyau.
Avec les claviers PS/2, vous devez activer le blocage initié par le clavier dans le Registre. Dans la clé
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Parameters
de Registre , créez une valeur nomméeCrashOnCtrlScroll
et définissez-la sur uneREG_DWORD
valeur de 0x01.Avec les claviers USB, vous devez activer le blocage initié par le clavier dans le Registre. Dans la clé
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\kbdhid\Parameters
de Registre , créez une valeur nomméeCrashOnCtrlScroll
et définissez-la sur uneREG_DWORD
valeur de 0x01.Avec les claviers Hyper-V, vous devez activer le blocage initié par le clavier dans le Registre. Dans la clé
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\hyperkbd\Parameters
de Registre , créez une valeur nomméeCrashOnCtrlScroll
et définissez-la sur uneREG_DWORD
valeur de 0x01.
Certains ordinateurs portables utilisent le pilote PS/2 pour le clavier intégré et prennent également en charge les claviers HID externes. Pour ces systèmes, envisagez de créer les touches de Registre USB et PS/2 pour autoriser l’utilisation de l’un ou l’autre clavier.
Vous devez redémarrer le système pour que ces paramètres prennent effet.
Une fois le redémarrage terminé, le blocage du clavier peut être déclenché à l’aide de la séquence de touches d’accès rapide suivante : Maintenez la touche CTRL la plus à droite, puis appuyez deux fois sur la touche SCROLL LOCK.
Le système appelle et émet KeBugCheck
des case activée 0xE2 de bogues : MANUALLY_INITIATED_CRASH. Sauf si les vidages sur incident ont été désactivés, un fichier de vidage sur incident est ensuite écrit.
Si un débogueur de noyau est attaché à l’ordinateur bloqué, l’ordinateur s’insère dans le débogueur du noyau une fois le fichier de vidage sur incident écrit.
Définition d’autres raccourcis clavier pour forcer un blocage du système à partir du clavier
Vous pouvez configurer d’autres valeurs sous les sous-clés de Registre suivantes pour les séquences de raccourcis clavier afin de générer le fichier d’image mémoire :
Pour les claviers PS/2 :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\crashdump
Pour les claviers USB :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kbdhid\crashdump
Pour les claviers Hyper-V :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hyperkbd\crashdump
Vous devez créer les valeurs de Registre REG_DWORD
suivantes sous ces sous-clés :
Dump1Keys
La Dump1Keys
valeur de Registre est une carte de bits de la première touche d’accès rapide à utiliser. Par exemple, au lieu d’utiliser la touche CTRL la plus à droite pour lancer la séquence de touches d’accès rapide, vous pouvez définir la première touche d’accès rapide pour qu’elle soit la touche MAJ la plus à gauche.
Les valeurs de la première touche d’accès rapide sont décrites dans le tableau suivant.
Valeur | Première touche utilisée dans la séquence de raccourcis clavier |
---|---|
0x01 | Touche MAJ la plus à droite |
0x02 | Touche CTRL la plus à droite |
0x04 | Touche ALT la plus à droite |
0x10 | Touche MAJ la plus à gauche |
0x20 | Touche CTRL la plus à gauche |
0x40 | Touche ALT la plus à gauche |
Vous pouvez affecter Dump1Keys
une valeur qui active une ou plusieurs touches comme première touche utilisée dans la séquence de raccourcis clavier. Par exemple, affectez Dump1Keys
la valeur 0x11 pour définir les touches MAJ les plus à droite et à gauche comme première touche de la séquence de raccourcis clavier.
Dump2Key
La Dump2Key
valeur de Registre est l’index dans la table de codes d’analyse pour la disposition du clavier de l’ordinateur cible. Consultez la table réelle dans le pilote :
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 };
Index 124 (sysreq) est un cas spécial, car un clavier à 84 touches a un code d’analyse différent.
Si vous définissez d’autres raccourcis clavier pour forcer le blocage d’un système à partir d’un clavier USB ou PS/2, vous devez définir la valeur de CrashOnCtrlScroll
Registre sur 0 ou la supprimer du Registre.
Exemple : Dans ce scénario, un ordinateur portable utilise un pilote de clavier PS2 et un clavier HID externe est attaché. La définition des deux valeurs permet de déclencher un blocage manuel du système à partir de l’un ou l’autre des claviers. Un incident système manuel peut être forcé en maintenant la touche de contrôle la plus à droite et en appuyant deux fois sur la barre d’espace lorsque la clé de Registre suivante est définie.
[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
Limites
Il est possible mais rare qu’un système se fige de telle sorte que la séquence de raccourcis clavier ne fonctionne pas. L’utilisation de la séquence de raccourcis clavier pour lancer un incident fonctionne même dans de nombreuses instances où Ctrl+Alt+Suppr ne fonctionne pas.
Forcer un plantage du système à partir du clavier ne fonctionne pas si l’ordinateur cesse de répondre à un niveau de demande d’interruption élevé (IRQL). Cette limitation existe, car le pilote Kbdhid.sys , qui permet au processus d’vidage de mémoire de s’exécuter, fonctionne à une valeur IRQL inférieure à celle du pilote i8042prt.sys .
Voir aussi
Case activée 0xE2 de bogues : MANUALLY_INITIATED_CRASH
Analyse d’un fichier de vidage Kernel-Mode avec WinDbg
0x161 de vérification des bogues : LIVE_SYSTEM_DUMP
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour