Alt + sysrq + REISUB ne redémarre pas mon ordinateur portable

54

Parfois, mon ordinateur portable est resté bloqué, donc j'ai utilisé la combinaison de touches magiques de Alt + SysRq + REISUB pour exécuter redémarrage sécurisé. Cependant, cela ne semble pas fonctionner pour moi car lorsque j'appuie sur la touche B pour terminer la commande de clé magique, il dit simplement "réinitialiser ..." et ne fait rien.

Toutes les autres touches semblent fonctionner correctement car elles réinitialisent la disposition du clavier, détruisent toutes les tâches, etc., mais elles ne semblent pas se terminer par un redémarrage.

J'avais l'impression que mon ordinateur portable devrait redémarrer après avoir appuyé sur les touches magiques dans l'ordre de REISUB.

    
posée James White 02.11.2010 - 17:24
la source

5 réponses

52

Alt + SysRq a été désactivé pour corriger un bogue. La désactivation de Magic-SysRq était considérée comme un bogue et a été réactivée depuis lors ( # 1025467 ). S'il est toujours désactivé pour vous, vous pouvez le réactiver:

Ubuntu 12.04 et versions antérieures

Modifiez le fichier /etc/sysctl.conf pour inclure la ligne

kernel.sysrq=1

Ubuntu 12.10 et plus récent

À partir d’Ubuntu 12.10, un contrôle plus fin des fonctionnalités de Magic-SysRq est possible. Modifiez simplement le fichier /etc/sysctl.d/10-magic-sysrq.conf .

Le fichier est bien documenté et vous indique exactement comment activer les fonctionnalités. La valeur par défaut actuelle a été choisie pour des raisons de sécurité et ne devrait être modifiée que si vous savez pourquoi vous en avez besoin (pour des raisons de sécurité, voir # 194676 ).

    
réponse donnée mniess 03.11.2010 - 16:45
la source
27

Les claviers sont le problème ici!

  • Certains n’aiment pas le clavier à 4 touches en même temps et cessent d’être un clavier jusqu’à ce que vous en libériez.
  • Tous les claviers deviennent une disposition QWERTY lorsque vous envoyez le signal SysRq. Cela rend difficile de trouver les bonnes commandes sur les claviers avec une autre mise en page. Wikipedia: les commandes SysRq affichent un tableau permettant de trouver les bonnes options pour les mises en page les plus courantes.
  • Certains ont SysRq sur une autre clé que PrtSc à conserver avec une touche de fonction. Sur mon portable, c'est Fn + End . Tenir Alt + PrtSc ne fonctionne que si un processus système (gestionnaire de fenêtres?) Le traduit pour moi. En cas de plantage total, seuls les real SysRq fonctionnent!
  • Certains ne déclenchent que la clé SysRq une fois que vous maintenez la droite Alt + PrtSc (par matériel). La touche Alt de gauche ne fonctionnera pas dans ce cas, pour la même raison que ci-dessus. Voici comment fonctionne mon clavier USB.
  • Astuce: essayez d'appuyer sur Shift + Alt + SysRq pour voir une sortie d'aide sur un terminal virtuel. Ceci est utile pour voir si cela fonctionne sans nuire:

      

    SysRq: HELP: loglevel (0-9) reBoot Crash arrête toutes les tâches (E) memory-full-oom-kill (F) kill-all-tasks (I) thaw-filesystems (J) backtrace-all-active-cpus (L) show-memory-usage (M) nice-tout-RT-tâches (N) powerOff show-registres (P) show-all-times (Q) unRaw Sync show-task-states (T) Démonter show-bloqué-tâches (W) dump-ftrace-buffer (Z)

Dans tous les cas, je l'ai trouvé ne fonctionnait pas, l'échange du clavier fonctionnait parfaitement et montrait que rien ne se passait avec les paramètres du noyau.

    
réponse donnée gertvdijk 13.01.2013 - 13:58
la source
14

ATTRIBUTIONS :
lien basé sur l'œuvre originale de
Crédits
Écrit par Mydraal
Mis à jour par Adam Sulmicki
Mis à jour par Jeremy M. Dolan 2001/01/28 10:15:59
Ajouté à Crutcher Dunnavant

lien : liens fournis par mneiss pour LaunchPad.

Contenu

Qu'est-ce que sysrq?
Pourquoi RESIUB (O) ne fonctionne pas?

1 Comment est-ce que sysrq se comporte comme je le souhaite?
1.1 Quelle est la clé magique SysRq?
1.2 Comment puis-je activer la clé magique SysRq?
1.3 Comment utiliser la clé magique SysRq?
1.4 Que sont les clés de "commande"?
1.5 Bon, que puis-je les utiliser?

1.6 Résolution des problèmes

1.6.1 Arrêt avant l'exécution des scripts d'initialisation
1.6.2 Parfois, SysRq semble "bloqué" après son utilisation, que puis-je faire?
1.6.3 Je frappe SysRq, mais rien ne semble se passer, quelle erreur?
1.6.4 Je souhaite ajouter des événements clés SysRQ à un module. ça marche?
1.6.5 Conclusion
1.6.6 ANNEXE Remarque
Vous pouvez trouver en utilisant Ctrl + F pour utiliser la table des matières.

Qu'est-ce que SysRq?

Une méthode courante bien connue et utilisée pour retrouver l’utilisation de la machine après sa congélation ou son verrouillage en limitant le risque de corruption du disque entraînant des dommages au fichier système ou à la perte de données est la suivante: Alt + SysRq + r puis s puis e puis i puis u puis b et / ou si nécessaire ( o )

Cela n'a pas fonctionné comme prévu pour beaucoup (c.-à-d. moi et James) à travers toutes les versions de & gt; = 8.04LTS à la version 13.04 actuelle.

Pourquoi RESIUB (O) ne fonctionne-t-il pas?

Considérez cette description de bogue à l'adresse Bogue 194676 de LaunchPad:

  

Description du problème:
  Par défaut, SysRq est activé par défaut sur les systèmes de bureau Ubuntu, ce qui est inestimable lorsqu'un système est verrouillé et que vous souhaitez l'arrêter le plus doucement possible ou déboguer le problème. Cependant, beaucoup de gens sont surpris que vous puissiez également lui demander de transférer le contenu de la mémoire courante sur la console (ou sur dmesg), mais uniquement depuis le clavier.
  openSUSE définit un masque binaire par défaut de 176 sur son SysRq qui vous limite par défaut à la synchronisation, au redémarrage et au "remontage en lecture seule". Cela empêche les personnes utilisant sysrq par défaut d'inspecter la mémoire qui semble raisonnable.

Les développeurs Ubuntu ont vu la nécessité de faire quelque chose à ce sujet et la meilleure solution compte tenu des complications possibles de l’observation mentionnée est d’appliquer par défaut le bitmask 176 sysrq, ce qui oblige les utilisateurs à définir sysrq comme ils le souhaitent. Le bitmask 176 n'autorise que S , U , B qui est synchronisé, remonte les partitions montées et redémarre.
La lecture du rapport de bogue complet et des commentaires mettra en évidence certaines options pouvant être applicables à votre système.

L'effet cumulatif des différents matériels, noyaux, claviers et masques de bits signifie que sysrq se comporte différemment selon les personnes.

Une méthode pour obtenir une sortie txt sur la façon dont votre système utilise sysrq consiste à appliquer les commandes sysrq à partir de tty (lorsque le système ne souffre pas de verrous ou de blocages). Cela peut indiquer que sysrq n'a pas été complètement désactivé mais utilise le masque de bits 176.

La recherche de / proc / sys / kernel / sysrq sur un ordinateur 13.04 Desktop amd64 liveDVD et une installation 13.04 Desktop amd64 confirme que la valeur par défaut est de laisser sysrq à bitmask 176.

Si sysrq fonctionne pour vous il peut être utile de demander, "Si je n'ai pas changé les paramètres 10-magic-sysrq alors: qui a fait?"

1 Comment puis-je faire en sorte que sysrq se comporte comme je le souhaite?

Ce qui suit est un copier-coller édité de lien .

1.1 Qu'est-ce que la clé magique SysRq?

C'est une combinaison de touches "magiques" à laquelle le noyau répondra, indépendamment de ce qu'il fait, à moins qu'il ne soit complètement verrouillé.

1.2 Comment activer la clé magique SysRq?

sysrq est intégré au noyau Ubuntu mais est désactivé au démarrage, par défaut, en utilisant 10-magic-sysrq.conf.

Pour le réactiver au démarrage, vous devez éditer le fichier /etc/sysctl.d/10-magic-sysrq.conf. c.-à-d. décommenter cette ligne activera toutes les fonctions de sysrq:

#   1 - enable all functions of sysrq

Lorsque vous exécutez un noyau avec SysRq compilé, / proc / sys / kernel / sysrq contrôle les fonctions pouvant être appelées via la clé SysRq.Voici la liste des valeurs possibles dans / proc / sys / kernel / sysrq:

0 - disable sysrq completely
1 - enable all functions of sysrq
>1 - bitmask of allowed sysrq functions (see below for detailed function description):
    2 - enable control of console logging level
    4 - enable control of keyboard (SAK, unraw)
    8 - enable debugging dumps of processes etc.
    16 - enable sync command
    32 - enable remount read-only
    64 - enable signalling of processes (term, kill, oom-kill)
    128 - allow reboot/poweroff
    176 - allow only sync, reboot and "remount read-only"
    256 - allow nicing of all RT tasks 

Vous pouvez définir la valeur dans le fichier à l'aide de la commande suivante.

echo "number" >/proc/sys/kernel/sysrq

Donc, pour l'activer pleinement serait

echo "1" > /proc/sys/kernel/sysrq

Ou peut aussi l'activer en le faisant.

sysctl -w kernel.sysrq=1  

Note.
La valeur de / proc / sys / kernel / sysrq n'influence que l'invocation via un clavier. L'appel de toute opération via / proc / sysrq-trigger est toujours autorisé (par un utilisateur avec des privilèges d'administrateur, voir ci-dessous).

1.3 Comment utiliser la clé magique SysRq?

Bureau Ubuntu

Vous appuyez sur la touche Alt + SysRq + touche de commande .

N.B .- Reportez-vous aux remarques de cette section et de la section Dépannage pour d'autres paramètres par défaut possibles pour d'autres systèmes et claviers.

Il est possible de définir n'importe quel caractère de votre choix: All Architectures

Ecrivez un caractère dans / proc / sysrq-trigger:

echo t > /proc/sysrq-trigger

définirait le T se comporter comme SysRq
Note.
Certains claviers peuvent ne pas avoir de clé étiquetée SysRq . La clé SysRq est également appelée clé Print Screen . De plus, certains claviers ne peuvent pas manipuler autant de touches en même temps, donc vous pourriez avoir plus de chance avec Alt + SysRq - SysRq puis appuyez sur clé de commande puis tout libérer. Pour plus d'informations à ce sujet, reportez-vous à la documentation complète de QA sur laquelle repose ce guide lien .

1.4 Quelles sont les clés de commande?

'b' - Will immediately reboot the system without syncing or unmounting your disks.
'c' - Will perform a kexec reboot in order to take a crashdump.
'd' - Shows all locks that are held.
'e' - Send a SIGTERM to all processes, except for init.
'f' - Will call oom_kill to kill a memory hog process.
'g' - Used by kgdb on ppc and sh platforms.
'h' - Will display help (any key that is not listed here will bring forth help )
'i' - Send a SIGKILL to all processes, except for init.
'k' - Secure Access Key (SAK) Kills all programs on the current virtual terminal.  

Note.
Voir les commentaires importants ci-dessous dans la section SAK.

'l' - Shows a stack backtrace for all active CPUs.
'm' - Will dump current memory info to your console.
'n' - Used to make RT tasks nice-able
'o' - Will shut your system off (if configured and supported).
'p' - Will dump the current registers and flags to your console.
'q' - Will dump a list of all running timers.
'r' - Turns off keyboard raw mode and sets it to XLATE.
's' - Will attempt to sync all mounted filesystems.
't' - Will dump a list of current tasks and their information to your console.
'u' - Will attempt to remount all mounted filesystems read-only.
'v' - Dumps Voyager SMP processor info to your console.
'w' - Dumps tasks that are in uninterruptable (blocked) state.
'x' - Used by xmon interface on ppc/powerpc platforms.
'0'-'9' - Sets the console log level, controlling which kernel messages will be printed to your console. ('0', for example would make it so that only emergency messages like PANICs or OOPSes would make it to your console.) 

1.5 OK, à quoi puis-je les utiliser?

Un r aw est très pratique lorsque votre serveur X ou un programme svgalib se bloque.

Sa k (clé d’accès sécurisé) est utile lorsque vous voulez vous assurer qu’il n’existe pas de programme de Troie sur la console qui pourrait récupérer votre mot de passe lorsque vous essayez de vous connecter. Il tuera tous les programmes sur une console donnée, vous permettant ainsi de vous assurer que l’invite de connexion que vous voyez est bien celle d’init, pas celle d’un programme de Troie. D'autres le trouvent utile (clé d'attention du système) qui est utile lorsque vous souhaitez quitter un programme qui ne vous permettra pas de changer de console. (Par exemple, X ou un programme svgalib.)
Note.
Sous sa forme réelle, il ne s’agit pas d’un véritable SAK comme celui d’un système compatible c2, et il ne devrait pas être confondu en tant que tel.

Re b oot est bon lorsque vous ne parvenez pas à vous arrêter. Note.
Il est généralement considéré comme une bonne pratique pour u mount first

Crashdump peut être utilisé pour déclencher manuellement un rashdump c lorsque le système est bloqué.
Remarque.
Le noyau doit avoir été construit avec CONFIG_KEXEC activé!

La synchronisation est excellente lorsque votre système est verrouillé, il vous permet de s ync vos disques et diminuera certainement les risques de perte de données et de fscking.
Avertissement
La synchronisation n'a pas eu lieu jusqu'à ce que vous voyiez "OK" et "Done" apparaître à l'écran. (Si le noyau est vraiment en conflit, vous risquez de ne jamais recevoir le message OK ou Terminé.

U mount est fondamentalement utile de la même manière que S ync.

Les loglevels 0 - 9 sont utiles lorsque votre console est inondée de messages du noyau que vous ne voulez pas voir. Sélectionner 0 empêchera tous les messages du noyau, sauf les plus urgents, d’atteindre votre console.
Note.
Ils seront toujours enregistrés si syslogd / klogd sont actifs

T e rm et k i ll sont utiles si vous ne parvenez pas à supprimer un autre processus, en particulier s’il génère d’autres processus.
Note.
En cas de mauvaise panique du noyau, faites Alt + Sysrq + e puis Alt + Sysrq + u puis Alt + Sysrq + i et enfin Alt + Sysrq + b

1.6 Résolution des problèmes

1.6.1 Suspension avant l'exécution des scripts d'initialisation

Si la machine est suspendue avant l'exécution des scripts d'initialisation, démarrez avec sysrq_always_enabled=1

1.6.2 Parfois, SysRq semble "bloqué" après l’utilisation, que puis-je faire?

Toucher shift , alt et control des deux côtés du clavier, et frapper à nouveau une séquence sysrq invalide résoudra le problème. (c'est-à-dire quelque chose comme alt + sysrq + z ).

Passage à une autre console virtuelle ( Ctrl + Alt + Fn1 - Fn6 ), puis à nouveau < kbd> Ctrl + Alt + Fn7 devrait également aider.

1.6.3 Je frappe SysRq , mais rien ne semble se passer, quel est le problème?

Certains claviers envoient des codes d’étalonnage différents pour SysRq que ceux prédéfinis 0x54. Donc, si SysRq ne fonctionne pas pour un clavier donné, exécutez showkey -s pour trouver la séquence de code appropriée. Ensuite, utilisez setkeycodes <sequence> 84 pour définir cette séquence au code SysRq habituel (84 est décimal pour 0x54). Il est probablement préférable de placer cette commande dans un script de démarrage.
Avertissement
Vous quittez showkey en ne saisissant rien pendant dix secondes.

1.6.4 Je souhaite ajouter des événements clés SysRq à un module, comment cela fonctionne-t-il?

Pour enregistrer une fonction de base avec la table, vous devez d'abord inclure l'en-tête include/linux/sysrq.h , cela définira tout ce dont vous avez besoin. Ensuite, vous devez créer une structure sysrq_key_op et la remplir avec ...

  • La fonction de gestionnaire de clés que vous utiliserez.

  • Une chaîne help_msg qui imprimera lorsque SysRQ imprime l'aide

  • Une chaîne action_msg, qui s'imprimera juste avant que votre gestionnaire ne soit appelé. Votre gestionnaire doit être conforme au prototype dans 'sysrq.h'

Après la création de sysrq_key_op, vous pouvez appeler la fonction du noyau register_sysrq_key (int key, struct sysrq_key_op * op_p); ceci enregistrera l'opération pointée par 'op_p' à la clé de table 'clé', si cet emplacement dans la table est vide. Au moment du déchargement du module, vous devez appeler la fonction unregister_sysrq_key (int key, struct sysrq_key_op * op_p), ce qui supprimera la clé op par "op_p" de la clé "key", si et seulement si elle est actuellement enregistrée dans cette clé. fente. C'est au cas où le slot aurait été écrasé depuis que vous l'avez enregistré.

Le système Magic SysRq fonctionne en enregistrant les opérations de clé sur une table de recherche de clés, définie dans "drivers / char / sysrq.c". Ce tableau de clés comporte un certain nombre d'opérations enregistrées au moment de la compilation, mais est mutable, et 2 fonctions sont exportées pour l'interface avec celles-ci register_sysrq_key et unregister_sysrq_key. Bien sûr, ne laissez jamais un pointeur invalide dans la table. c'est à dire; Lorsque votre module appelé register_sysrq_key () quitte, il doit appeler unregister_sysrq_key () pour nettoyer l'entrée de la table de clés sysrq qu'il utilisait.
Remarque.
Les pointeurs nuls dans la table sont toujours sécuritaires.

Si pour une raison quelconque vous ressentez le besoin d'appeler la fonction handle_sysrq depuis une fonction appelée par handle_sysrq, vous devez être conscient que vous êtes dans un verrou (vous êtes également dans un gestionnaire d'interruption, ce qui signifie ne pas dormir! ), vous devez donc appeler __handle_sysrq_nolock à la place.

1.6.5 Conclusion

Utiliser Alt + SysRq + S puis U puis B pour synchroniser, essayez de remonter tous les systèmes de fichiers montés, puis redémarrez si nécessaire. Sans changer une chose en fichiers système.
Si Alt + SysRq + B ne redémarre pas le système, il peut être nécessaire de modifier /etc/sysctl.d/10-magic-sysrq. conf pour permettre la tentative d'application de Alt + SysRq + B (ou / et O après édition / Proc / sys / kernel / sysrq bitmask pour activer le redémarrage et l'arrêt du système à l'aide de sysrq Vous pouvez le faire par l'une des méthodes décrites ci-dessus.

1.6.6 ANNEXE: Voir aussi - lien et lien

Pour ceux qui ont des problèmes de clavier Apple MacBook concernant sysrq, voir: lien et lien

Informations intéressantes relatives - Après avoir regardé 17 08 2013 épisode du programme de la BBC "Cliquez" et l'article "cyber-guerre" a vraiment attiré mon attention. Le programme a également son propre site Web Cliquez si vous ne pouvez pas regarder le programme. FAWC

    
réponse donnée geezanansa 13.04.2017 - 14:24
la source
3

Je suis tombé dessus l’autre jour et cela a pris quelques secondes pour travailler. J'ai peut-être même fait toute la séquence REISUB deux fois.

Assurez-vous également que vous utilisez la clé sysrq (la plupart des ordinateurs portables vous obligeront à maintenir la fonction, vous avez donc 4 touches à la fois)

    
réponse donnée Scott Ritchie 02.11.2010 - 20:00
la source
3

Il y a quelques années, j'utilisais Alt + SysRq + S , U , B , O pour redémarrer ou éteindre une machine bloquée, car comme pour vous, Alt + SysRq + B ne voulaient parfois pas travailler.

(Aussi, je dois prendre l’habitude d’utiliser Alt + SysRq + E , I D'abord, je ne vois pas l'intérêt d'utiliser Alt + SysRq + R , car pourquoi le mode clavier a-t-il de l'importance s'il doit redémarrer et le réinitialiser quand même?)

    
réponse donnée Marius Gedminas 03.11.2010 - 12:36
la source

Lire d'autres questions sur les étiquettes