Высокий звук + sysrq + REISUB не перезагружает мой ноутбук

При случае мой ноутбук стал застрявшим, таким образом, я использовал волшебное сочетание клавиш Высокого звука + SysRq + REISUB для выполнения безопасной перезагрузки. Однако это, кажется, не работает на меня как тогда, когда я нажимаю клавишу B для завершения, волшебный ключ управляют, чтобы это просто сказало, "сбросив..." и ничего не делало.

Все другие ключи, кажется, хорошо работают, поскольку это сбрасывает раскладку клавиатуры, уничтожает все задачи и т.д., но это не кажется вместе с перезагрузкой.

У меня создалось впечатление, что мой ноутбук должен перезагрузить после того, как волшебные клавиши были все нажаты в порядке REISUB.

59
задан 19 August 2013 в 06:17

6 ответов

Alt + SysRq был отключен, чтобы исправить ошибку. Отключение Magic-SysRq считалось самой ошибкой, и с тех пор оно было повторно включено ( # 1025467 ). Если он все еще отключен для вас, вы можете снова включить его:

Ubuntu 12.04 и старше

Отредактируйте файл /etc/sysctl.conf , чтобы включить строку

kernel.sysrq=1

Ubuntu 12.10 и новее

Начиная с Ubuntu 12.10, возможен более детальный контроль над включенными функциями Magic-SysRq. Просто отредактируйте файл /etc/sysctl.d/10-magic-sysrq.conf .

Файл хорошо документирован и говорит вам, как именно включить эти функции. Текущее значение по умолчанию было выбрано в целях безопасности и должно быть изменено только в том случае, если вы знаете, зачем вам это нужно (сведения о безопасности см. В # 194676 ).

0
ответ дан 19 August 2013 в 06:17

Здесь проблема с клавиатурой!

  • Некоторым просто не нравится одновременное нажатие четырех клавиш, и они просто перестают быть клавиатурой, пока вы не отпустите их.
  • Все клавиатуры превращаются в раскладку QWERTY при отправке сигнала SysRq. Это затрудняет поиск правильных команд на клавиатурах с другой раскладкой. Википедия: Команды SysRq показывает таблицу, в которой можно найти подходящие варианты для распространенных альтернативных макетов.
  • У некоторых есть SysRq на другой клавише, чем PrtSc для удержания с функциональной клавишей. На моем ноутбуке это Fn + End . Удержание Alt + PrtSc работает только в том случае, если какой-то системный процесс (оконный менеджер?) Переведет его для меня. При полном сбое работает только реальный SysRq !
  • Некоторые запускают только клавишу SysRq , если удерживать вправо [ 112] Alt + PrtSc (аппаратно). Левая клавиша Alt не будет работать в таком случае по той же причине, что и выше. Так работает моя USB-клавиатура.
  • Совет: попробуйте нажать Shift + Alt + SysRq , чтобы увидеть вывод справки на виртуальном терминале. Это полезно, чтобы увидеть, работает ли он без какого-либо вреда:

    SysRq: HELP: loglevel (0-9) reBoot Crash terminate-all-tasks (E) memory-full-oom-kill ( F) «убить все задачи» (I) «thaw-filesystems» (J) «saK» show-backtrace-all-active-cpus («L») show-memory-Использование (M) «Nice-All-RT-задачи» (N) powerOff show- registers (P) show-all-timers (Q) unRaw Sync show-task-состояния (T) размонтировать show-заблокированные-задачи (W) dump-ftrace-buffer (Z)

  • [ 1112]

    Во всех случаях, с которыми я сталкивался, это не работало, замена клавиатуры работала отлично и показала, что с настройками ядра все в порядке.

0
ответ дан 19 August 2013 в 06:17

Я столкнулся с этим на днях, и работа заняла несколько секунд. Возможно, я даже сделал всю последовательность REISUB дважды.

Кроме того, убедитесь, что вы используете клавишу sysrq (большинство ноутбуков требуют, чтобы вы удерживали нажатой функцию, поэтому вы действительно одновременно удерживаете 4 клавиши)

0
ответ дан 19 August 2013 в 06:17

Несколько лет назад я использовал Alt + SysRq + S , U , B , O для перезагрузки или выключения зависшего компьютера, потому что, как для вас, Alt + SysRq + B иногда не хотел работать.

(Также мне нужно привыкнуть использовать Alt + SysRq + E , I Во-первых, я не вижу особого смысла в использовании Alt + SysRq + R , так как почему режим клавиатуры имеет значение, если он собирается перезагрузиться и все равно сбросить?)

0
ответ дан 19 August 2013 в 06:17

АТРИБУЦИИ:
https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key, который был основан на исходной работе
Кредиты
Записанный Mydraal
Обновленный Adam Sulmicki
Обновленный Jeremy M. Dolan 28.01.2001 10:15:59
Добавленный к Crutcher Dunnavant

https://askubuntu.com/a/11194/102029 mneiss предоставленный ссылки LaunchPad.

Содержание

Что такое sysrq?
Почему делает RESIUB (O) не, работают?

1, Как я заставляю sysrq вести себя способ, которым я хочу?
1.1 Что волшебный SysRq является ключевым?
1.2 Как я включаю волшебный ключ SysRq?
1.3 Как я использую волшебный ключ SysRq?
1.4 Каковы ключи 'команды'?
1.5 Хорошо, поэтому для чего я могу использовать их?

1.6 Поиск и устранение неисправностей

1.6.1 Зависание прежде initscripts выполняется
1.6.2 Иногда SysRq, кажется, вовлекает после использования его, что я могу сделать?
1.6.3 Я поразил SysRq, но ничего, кажется, не происходит, что случилось?
1.6.4 Я хочу добавить ключевые события SysRQ к модулю, как он работает?
1.6.5 Заключение
1.6.6 ПРИЛОЖЕНИЕ
Примечание.
Можно найти использование Ctrl + F для использования полезного Оглавления.

Что такое SysRq?

Общий известный и используемый метод восстановления использования машины после него замораживание или блокировка с limitising риск дискового продвижения повреждения к повреждению системного файла или потере данных должен использовать
Высокий звук + SysRq + r и затем s и затем e и затем я и затем u и затем b и/или в случае необходимости (o)

Это не работало как ожидалось на многих (т.е. я и James) через все ароматы от> = 8.04LTS к текущим 13,04 выпускам.

Почему делает RESIUB (O) не, работают?

Считайте это описание ошибки найденным в Ошибке LaunchPad 194676:

Описание проблемы:
По умолчанию SysRq включают по умолчанию в настольных системах Ubuntu, который неоценим, когда система заперлась, и Вы хотите остановить его максимально мягко или отладить проблему. Однако многие люди удивлены, что можно также попросить, чтобы это вывело содержание текущей памяти к консоли (или dmesg) хотя только с клавиатуры.
openSUSE устанавливает битовую маску по умолчанию 176 на ее SysRq, который по умолчанию ограничивает Вас, чтобы синхронизировать, перезагрузить, и "повторно монтируются только для чтения". Это останавливает людей, использующих sysrq по умолчанию для осмотра памяти, которая звучит разумной.

Разработчики Ubuntu видели потребность сделать что-то об этом и лучшем решении, полагая, что возможные сложности упомянутого наблюдения состоят в том, чтобы применить битовую маску 176 sysrq значением по умолчанию, создающим потребность во вводе данных пользователем для установки sysrq, как они требуют. Битовая маска 176 только позволяет S, U, B, который является синхронизацией, повторно смонтируйте смонтированные разделы и перезагрузку.
Чтение полного отчета об ошибках и комментариев выделит некоторые опции, которые могут быть применимы к Вашей системе.

Накапливаемое влияние других аппаратных средств, ядер, клавиатур и битовых масок означает, что sysrq ведет себя по-другому для различных людей.

Один метод получения txt вывод относительно того, как Ваша система использует sysrq, должен применить команды sysrq от tty (когда система, не страдая от блокировок/замораживаний). Выполнение этого может указать, что sysrq не был полностью отключен, но использует битовую маску 176.

Поиск/proc/sys/kernel/sysrq на 13,04 Настольных amd64 liveDVD и 13.04 Рабочих столах amd64 установка подтверждает, что значение по умолчанию должно в настоящее время оставлять sysrq в битовой маске 176.

Если sysrq действительно работает на Вас; это может стоить спросить, "Если я не изменил 10 волшебства sysrq настройки затем; Кто сделал.?"

1, Как я заставляю sysrq вести себя способ, которым я хочу?

То, что следует, является отредактированной копией и вставкой https://fedoraproject.org/wiki/QA/Sysrq.

1.1 Что волшебный SysRq является ключевым?

Это - 'волшебная' ключевая комбинация, которую можно поразить, на который ответит ядро независимо от того, что это делает, если это полностью не заперто.

1.2 Как я включаю волшебный ключ SysRq?

sysrq встроен в ядро Ubuntu, но отключен во время начальной загрузки, по умолчанию, с помощью 10 волшебства sysrq.conf.

Чтобы повторно включить его во время начальной загрузки, необходимо отредактировать/etc/sysctl.d/10-magic-sysrq.conf файл. т.е. некомментарий этой строки включит все функции sysrq:

#   1 - enable all functions of sysrq

При выполнении ядра с SysRq, скомпилированным в,/proc/sys/kernel/sysrq управляет функциями, позволенными быть вызванными через ключ SysRq. Вот список возможных значений в/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 

Можно установить значение в файле следующей командой.

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

Таким образом полностью включить его было бы.

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

Или также может включить его путем выполнения.

sysctl -w kernel.sysrq=1  

Примечание.
Значение/proc/sys/kernel/sysrq влияет только на вызов через клавиатуру. Вызов любой операции через/proc/sysrq-trigger всегда позволяется (пользователем с административными привилегиями - посмотрите ниже).

1.3 Как я использую волшебный ключ SysRq?

Рабочий стол Ubuntu

Вы нажимаете ключевой комбинированный Высокий звук + SysRq + командная клавиша.

N.B. - См. примечания в этом разделе и в разделе Troubleshooting для других возможных настроек по умолчанию для других систем и клавиатур.

Возможно установить любой символ Вашей choosing:All Архитектуры

Запишите символ в/proc/sysrq-trigger:

echo t > /proc/sysrq-trigger

установил бы T, ведут себя как SysRq
Примечание.
Некоторые клавиатуры не могут иметь ключа, маркировал SysRq. Ключ SysRq также известен как клавиша Print Screen. Также некоторые клавиатуры не могут обработать столько клавиш, нажатых одновременно, таким образом, у Вас могла бы быть лучшая удача с Высоким звуком + SysRq - SysRq затем нажимают, командная клавиша затем выпускают все. Посмотрите, что полное пишет QA, который это руководство основано на https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key.3F для получения дополнительной информации относительно этого.

1.4 Каковы ключи 'команды'?

'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.  

Примечание.
См. важные комментарии ниже в разделе 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 Хорошо, поэтому для чего я могу использовать их?

Несырые данные очень удобны, когда Ваш X-сервер или svgalib программа отказывают.

Sak (Безопасный Ключ доступа) полезен, когда Вы хотите быть уверенными, что нет никакой троянской программы, работающей в консоли, которая могла захватить Ваш пароль, когда Вы попытаетесь войти в систему. Это закроет все программы на данной консоли, таким образом позволяя Вам удостовериться, что приглашение ко входу в систему, которое Вы видите, является на самом деле тем от init, не некоторой троянской программой. Другие находят это полезным как (Системный Ключ Внимания), который полезен, когда Вы хотите выйти из программы, которая не позволит Вам консоли коммутатора. (Например, X или svgalib программа.)
Примечание.
В его истинной форме это не истинный SAK как тот в c2 совместимой системе, и это не должно быть ошибочно как таковой.

Перезагрузка хороша, когда Вы не можете закрыться.
Примечание.
Это является общим, рассмотрел хорошую практику к umount сначала

Crashdump может использоваться для ручного инициирования crashdump, когда система подвешивается.
Примечание.
Ядро должно быть создано с включенным CONFIG_KEXEC!

Синхронизация является большой, когда Ваша система заперта, она позволяет Вам синхронизировать свои диски и конечно уменьшит шанс потери данных и fscking.
Предупреждение
Синхронизация не произошла, пока Вы не видите, что "OK" и "Сделанный" появляется на экране. (Если ядро находится действительно в борьбе, Вы никогда не можете получать OK или Сделанное сообщение.

Umount в основном полезен теми же способами как Синхронизация.

loglevels 0-9 полезны, когда Ваша консоль лавинно рассылается сообщениями ядра, Вы не хотите видеть. Выбор 0 предотвратит все кроме самых срочных сообщений ядра от достижения Вашей консоли.
Примечание.
Они будут все еще зарегистрированы, если syslogd/klogd будут живы

Термин и уничтожение полезны, если у Вас есть своего рода безудержный процесс, Вы не можете уничтожить любой другой путь, особенно если это порождает другие процессы.
Примечание.
Когда испытание плохой паники ядра делает Alt+Sysrq+e затем Alt+Sysrq+u затем Alt+Sysrq+i и наконец Alt+Sysrq+b

1.6 Поиск и устранение неисправностей

1.6.1 Зависание прежде initscripts выполняется

Если машина зависает, прежде чем initscripts добираются, чтобы работать, загрузиться с sysrq_always_enabled=1

1.6.2 Иногда SysRq, кажется, вовлекает после использования его, что я могу сделать?

Касаясь сдвига, высокий звук, и управление с обеих сторон клавиатуры и удар недопустимой последовательности sysrq снова решат проблему. (т.е. что-то как alt+sysrq+z).

При переключении на другую виртуальную консоль (Ctrl+Alt+Fn1-Fn6) и затем обратно снова Ctrl+Alt+Fn7 должен также помочь.

1.6.3 Я поразил SysRq, но ничего, кажется, не происходит, что случилось?

Существуют некоторые клавиатуры, которые отправляют другой scancodes за SysRq, чем предопределенный 0x54. Таким образом, если SysRq не работает из поля на определенную клавиатуру, работает showkey -s узнать надлежащую последовательность scancode. Затем используйте setkeycodes <sequence> 84 определить эту последовательность к обычному коду SysRq (84 является десятичным для 0x54). Вероятно, лучше поместить эту команду в сценарий начальной загрузки.
Предупреждение
Вы выходите showkey ничего не вводя в течение десяти секунд.

1.6.4 Я хочу добавить ключевые события SysRq к модулю, как он работает?

Чтобы зарегистрировать основную функцию с таблицей, необходимо сначала включать заголовок include/linux/sysrq.h, это определит все остальное, в чем Вы нуждаетесь. Затем, необходимо создать sysrq_key_op структуру и заполнить ее с...

  • Ключевая функция-обработчик Вы будете использовать.

  • Строка help_msg, которая распечатает, когда SysRQ распечатает справку

  • Строку action_msg, которая распечатает прямо перед Вашим обработчиком, называют. Ваш обработчик должен соответствовать прототипу в 'sysrq.h'

После того, как sysrq_key_op создается, можно вызвать функцию ядра register_sysrq_key (международный ключ, структура sysrq_key_op *op_p); это зарегистрирует операцию, на которую указывает 'op_p' в ключе таблицы 'ключ', если тот слот в таблице будет пробелом. В модуле разгружают время, необходимо вызвать функцию unregister_sysrq_key (международный ключ, структура sysrq_key_op *op_p), который удалит ключ op указанный 'op_p' от ключевого 'ключа', если и только если это в настоящее время регистрируется в том слоте. Это - то, в случае, если слот был перезаписан, так как Вы зарегистрировали его.

Система SysRq Волшебства работает путем регистрации ключевых операций против ключа op справочная таблица, которая определяется в 'drivers/char/sysrq.c'. Эта ключевая таблица начинает много операций, зарегистрированных в него во время компиляции, но изменяема, и 2 функции экспортируются для интерфейса в него register_sysrq_key и unregister_sysrq_key. Конечно, никогда не оставляйте недопустимый указатель в таблице. т.е.; когда Ваш модуль, который названный register_sysrq_key () выходы, это должно назвать unregister_sysrq_key () для чистки sysrq ключевой записи в таблице, которую он использовал.
Примечание.
Нулевые указатели в таблице всегда безопасны.

Если по некоторым причинам Вы чувствуете потребность вызвать handle_sysrq функцию из функции, вызванной handle_sysrq, необходимо знать, что Вы находитесь в блокировке (Вы находитесь также в обработчике прерываний, что означает, не спят!), таким образом, необходимо звонить __ handle_sysrq_nolock вместо этого.

1.6.5 Заключение

Используйте Высокий звук + SysRq + S и затем U и затем B, чтобы синхронизировать, попытаться повторно смонтировать все смонтированные файловые системы и затем перезагрузку в случае необходимости. Не изменяя вещь на системные файлы.
Если Высокий звук + SysRq + B не перезагружает систему, может быть необходимо отредактировать/etc/sysctl.d/10-magic-sysrq.conf для разрешения попытки применения Высокого звука + SysRq + B (или/и O после редактирования/proc/sys/kernel/sysrq битовая маска для включения перезагрузки и закрытия системы при помощи sysrq. Вы могли сделать это любым из методов, описанных выше.

1.6.6 ПРИЛОЖЕНИЕ: См. также - http://ubuntuforums.org/showthread.php?t=617349 и https://www.kernel.org/doc/Documentation/sysrq.txt

Для тех, которые испытывают затруднения клавиатуры Apple MacBook относительно sysrq, см.: https://help.ubuntu.com/community/AppleKeyboard и https://bugs.launchpad.net/mactel-support / + ошибка/262408

Относительная интересная информация - после наблюдения 17 08 эпизодов 2013 года программы Би-би-си "Щелчок" и статья "кибервойны" действительно привлекла мое внимание. Программа также имеет их Щелчок собственного сайта, если Вы не можете смотреть программу. FAWC

17
ответ дан 19 August 2013 в 06:17

Убедитесь, что вы удерживаете alt и нажимаете print screen + reisub. На моем компьютере, если я нажму alt+print screen и отпущу все кнопки, затем нажму reisub, он не перезагрузит мой компьютер. Нажатие alt и удержание, затем нажатие других клавиш работает. Надеюсь, это поможет другим.

1
ответ дан 2 January 2021 в 05:33

Другие вопросы по тегам:

Похожие вопросы: