AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 11002
Accepted
James White
James White
Asked: 2010-11-03 08:24:32 +0800 CST2010-11-03 08:24:32 +0800 CST 2010-11-03 08:24:32 +0800 CST

Alt + sysrq + REISUB 不会重新启动我的笔记本电脑

  • 772

有时,我的笔记本电脑卡住了,所以我使用Alt++的SysRq神奇组合键REISUB来执行安全重启。但是,它似乎对我不起作用,因为当我按下B键完成魔术键命令时,它只是说“重置......”并且什么都不做。

所有其他键似乎都可以正常工作,因为它会重置键盘布局、终止所有任务等,但似乎无法通过重新启动完成。

我的印象是我的笔记本电脑应该在按 REISUB 的顺序全部按下魔法键后重新启动。

shortcut-keys reboot sysrq
  • 6 6 个回答
  • 52671 Views

6 个回答

  • Voted
  1. Best Answer
    mniess
    2010-11-04T07:45:56+08:002010-11-04T07:45:56+08:00

    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)。

    • 61
  2. gertvdijk
    2013-01-14T04:58:29+08:002013-01-14T04:58:29+08:00

    键盘是这里的问题!

    • 有些人只是不喜欢同时按下 4 键,在你释放一些之前就不再是键盘了。
    • 当您发送 SysRq 信号时,所有键盘都会变成 QWERTY 布局。这使得很难在具有其他布局的键盘上找到正确的命令。Wikipedia:SysRq 命令显示了一个表格,可以为常见的替代布局找到正确的命令。
    • 有些人有SysRq另一个键,而不是PrtSc用功能键按住。在我的笔记本电脑上,这是Fn+ End。仅当某些系统进程(窗口管理器?)为我翻译它时,持有Alt+才有效。PrtSc在完全崩溃时,只有真正的 SysRq作品!
    • 有些只有SysRq在您按住正确 Alt的+ PrtSc(通过硬件)时才会触发键。在这种情况下,左 Alt 键将不起作用,原因同上。这就是我的 USB 键盘的工作原理。
    • 提示:尝试点击Shift++以在虚拟终端上查看“帮助”输出。这对于查看它是否正常工作而不会造成任何伤害很有用:AltSysRq

      SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all -active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T)卸载 show-blocked-tasks(W) dump-ftrace-buffer(Z)

    在所有情况下,我都遇到过它不起作用,交换键盘效果很好,表明任何内核设置都没有问题。

    • 33
  3. geezanansa
    2013-08-19T14:39:21+08:002013-08-19T14:39:21+08:00

    ATTRIBUTIONS :
    https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key它基于 由 Mydraal 撰写的
    Credits的原始作品 由 Adam Sulmicki 更新 由 Jeremy M. Dolan 更新 2001/01/28 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?

    在机器冻结或锁定后重新使用机器并限制磁盘损坏导致系统文件损坏或数据丢失的风险的一种常见的众所周知和使用的方法是使用
    Alt++然后然后再然后再然后SysRq和/或如果需要 ( ) rseiubo

    从 >= 8.04LTS 到当前的 13.04 版本,对于许多人(即我自己和 James)来说,这并没有像预期的那样工作。

    为什么 RESIUB(O) 不起作用?

    考虑在LaunchPad Bug 194676中发现的这个错误描述:

    问题描述:
    默认情况下,在 Ubuntu 桌面系统上默认启用 SysRq,这在系统锁定并且您希望尽可能温和地停止它或调试问题时非常有用。然而,许多人感到惊讶的是,您也可以要求它将当前内存的内容转储到控制台(或 dmesg),尽管只是从键盘。
    openSUSE 在其 SysRq 上设置了 176 的默认位掩码,默认情况下限制您同步、重启和“以只读方式重新挂载”。这会阻止人们默认使用 sysrq 来检查听起来很合理的内存。

    Ubuntu 开发人员认为需要对此做一些事情,考虑到上述观察可能带来的复杂性,最佳解决方案是默认应用位掩码 176 sysrq,从而需要用户输入以根据需要设置 sysrq。位掩码 176 只允许S, U,B即同步、重新挂载已安装的分区并重新启动。
    阅读完整的错误报告和评论将突出显示可能适用于您的系统的一些选项。

    不同硬件、内核、键盘和位掩码的累积影响意味着 sysrq 对于不同的人表现不同。

    获取有关系统如何使用 sysrq 的 txt 输出的一种方法是从 tty 应用 sysrq 命令(当系统没有遭受锁定/冻结时)。这样做可能表明 sysrq 尚未完全禁用,但正在使用位掩码 176。

    在 13.04 Desktop amd64 liveDVD 和 13.04 Desktop amd64 安装上搜索 /proc/sys/kernel/sysrq 可确认当前默认将 sysrq 保留为位掩码 176。

    如果 sysrq 对你有用;可能值得一问,“如果我没有更改 10-magic-sysrq 设置,那么是谁做的。?”

    1 如何让 sysrq 以我想要的方式行事?

    以下是https://fedoraproject.org/wiki/QA/Sysrq的编辑副本和粘贴。

    1.1 什么是神奇的 SysRq 密钥?

    这是一个“神奇”的组合键,你可以点击它,无论它在做什么,内核都会响应它,除非它被完全锁定。

    1.2 如何启用神奇的 SysRq 密钥?

    sysrq 内置在 Ubuntu 内核中,但在启动时默认使用 10-magic-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 桌面

    你按下组合键Alt+ SysRq+ command key。

    注意- 请参阅本节和故障排除部分中的注释,了解其他系统和键盘的其他可能默认设置。

    可以设置您选择的任何字符:所有架构

    向 /proc/sysrq-trigger 写入一个字符:

    echo t > /proc/sysrq-trigger
    

    会将T行为设置为SysRq
    Note。
    某些键盘可能没有标有 的键SysRq。SysRq钥匙也称为Print Screen钥匙。此外,有些键盘无法处理同时按下这么多键,所以你可能有更好的运气Alt+ SysRq-SysRq然后按下command key然后释放所有内容。有关这方面的更多信息,请参阅本指南基于https://fedoraproject.org/wiki/QA/Sysrq#How_do_I_use_the_magic_SysRq_key.3F的 QA 的完整写作。

    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 程序崩溃时, Un raw 非常方便。

    Sa k(安全访问密钥)在您想确保没有在控制台上运行的木马程序可以在您尝试登录时获取您的密码时很有用。它将杀死给定控制台上的所有程序,从而让您确保您看到的登录提示实际上是来自 init 的提示,而不是某些木马程序。其他人发现它作为(系统注意键)很有用,当您想要退出不会让您切换控制台的程序时很有用。(例如,X 或 svgalib 程序。)
    注意。
    就其真实形式而言,它不像符合 c2 的系统中的那样是真正的 SAK,因此不应被误解。

    b当您无法关闭时,Re oot 很好。
    笔记。首先安装
    通常被认为是一种好习惯u

    Crashdump 可用于c在系统挂起时手动触发 rashdump。
    笔记。
    内核需要在启用 CONFIG_KEXEC 的情况下构建!

    当您的系统被锁定时,同步非常棒,它允许您s同步您的磁盘,并且肯定会减少数据丢失和 fscking 的机会。
    警告
    在您看到屏幕上出现“确定”和“完成”之前,同步尚未进行。(如果内核真的有冲突,你可能永远不会收到 OK 或 Done 消息。

    Umount 基本上和Sync 一样有用。

    当您的控制台被您不想看到的内核消息淹没时,日志级别非常0有用。9选择0将阻止除最紧急的内核消息之外的所有消息到达您的控制台。
    笔记。
    如果 syslogd/klogd 处于活动状态,它们仍将被记录

    如果您有某种无法以其他方式杀死的失控进程,特别是如果它正在生成其他进程,则T erm 和 k ll 很有用。笔记。 当遇到严重的内核恐慌时,请执行++ then ++ then ++ and finally ++i

    AltSysrqeAltSysrquAltSysrqiAltSysrqb

    1.6 故障排除

    1.6.1 在初始化脚本运行前挂起

    如果机器在 initscripts 开始运行之前挂起,请使用sysrq_always_enabled=1

    1.6.2 SysRq 使用后有时会卡住,怎么办?

    点击键盘两侧的 、 和 ,然后再次点击无效的 sysrq 序列将解决shift问题alt。control(即,像alt++之类的东西sysrq)z。

    切换到另一个虚拟控制台(Ctrl+ Alt+ Fn1- Fn6)然后再返回Ctrl+ Alt+Fn7应该也有帮助。

    1.6.3 我打了SysRq,但是好像什么都没有发生,怎么回事?

    有些键盘发送的扫描码SysRq与预定义的 0x54 不同。因此,如果SysRq某个键盘无法开箱即用,请运行showkey -s以找出正确的扫描码序列。然后使用setkeycodes <sequence> 84将此序列定义为通常的SysRq代码(84 是 0x54 的十进制)。最好将此命令放在引导脚本中。
    警告十秒钟内不输入任何内容 即可
    退出。showkey

    1.6.4 我想给SysRq一个模块添加按键事件,它是如何工作的?

    为了向表格注册一个基本功能,您必须首先包含 header include/linux/sysrq.h,这将定义您需要的所有其他内容。接下来,您必须创建一个 sysrq_key_op 结构,并用...填充它

    • 您将使用的密钥处理函数。

    • 一个 help_msg 字符串,将在 SysRQ 打印帮助时打印

    • 一个 action_msg 字符串,将在您的处理程序被调用之前打印出来。您的处理程序必须符合“sysrq.h”中的原型

    sysrq_key_op 创建完成后,可以调用内核函数 register_sysrq_key(int key, struct sysrq_key_op *op_p); 如果表中的插槽为空,这将在表键“key”处注册“op_p”指向的操作。在模块卸载时,您必须调用函数 unregister_sysrq_key(int key, struct sysrq_key_op *op_p),该函数将从键 'key' 中删除 'op_p' 指向的键 op,当且仅当它当前已在该投币口。这是在您注册后插槽已被覆盖的情况下。

    MagicSysRq系统通过在“drivers/char/sysrq.c”中定义的键操作查找表注册键操作来工作。该密钥表在编译时注册了许多操作,但它是可变的,并且导出了两个函数作为与其接口的 register_sysrq_key 和 unregister_sysrq_key。当然,永远不要在表中留下无效指针。IE; 当调用 register_sysrq_key() 的模块退出时,它必须调用 unregister_sysrq_key() 来清理它使用的 sysrq 密钥表条目。
    笔记。
    表中的空指针始终是安全的。

    如果由于某种原因您觉得需要从 handle_sysrq 调用的函数中调用 handle_sysrq 函数,您必须意识到您处于锁定状态(您也处于中断处理程序中,这意味着不要休眠!),所以您必须改为调用 __handle_sysrq_nolock。

    1.6.5 结论

    使用Alt++SysRq和SthenU进行B同步,尝试重新挂载所有已挂载的文件系统,然后在需要时重新启动。无需更改系统文件。
    如果Alt++没有重新启动系统,则可能需要编辑 /etc/sysctl.d/10-magic-sysrq.conf 以允许尝试应用SysRq++ (或/和在编辑 /proc/sys/kernel/ 之后)sysrq 位掩码,用于通过使用 sysrq 来启用系统的重新启动和关闭。您可以通过上述任何方法执行此操作。BAltSysRqBO

    1.6.6 附录: 另见 - http://ubuntuforums.org/showthread.php?t=617349和https://www.kernel.org/doc/Documentation/sysrq.txt

    对于那些与 sysrq 有关的 Apple MacBook 键盘问题,请参阅: https ://help.ubuntu.com/community/AppleKeyboard和https://bugs.launchpad.net/mactel-support/+bug/262408

    相对有趣的信息——在观看了 2013 年 8 月 17 日的 BBC 节目“点击”和“网络战”文章后,我真的很注意。该节目也有自己的网站点击如果您不能观看该节目。一汽

    • 20
  4. Scott Ritchie
    2010-11-03T11:00:01+08:002010-11-03T11:00:01+08:00

    前几天我遇到了这个问题,需要几秒钟才能工作。我什至可能已经完成了两次完整的 REISUB 序列。

    另外,请确保您使用的是 sysrq 键(大多数笔记本电脑都需要您按住功能,所以您实际上是一次按住 4 个键)

    • 3
  5. Marius Gedminas
    2010-11-04T03:36:17+08:002010-11-04T03:36:17+08:00

    几年前,我曾经使用Alt++ , , ,来重新启动或关闭卡住的机器,因为就像你一样,++SysRq有时不想工作。SUBOAltSysRqB

    (此外,我首先需要养成使用Alt++的习惯。我认为使用SysRq++没有多大意义,因为如果要重新启动并重置它,为什么键盘模式很重要?)EIAltSysRqR

    • 2
  6. Pakpoom Tiwakornkit
    2021-01-02T21:33:53+08:002021-01-02T21:33:53+08:00

    确保alt按住print screen+ reisub。在我的电脑中,如果我按下alt+print screen并释放所有按钮,然后按下reisub,它不是reboot我的电脑。按住alt它,然后按其他键有效。希望它可以帮助别人。

    • 2

相关问题

  • 如何为所有应用程序(系统范围)禁用 Ctrl+Q?

  • 如何从命令行安全地关闭/重新启动/注销 KDE?

  • 有哪些有用的键盘快捷键?[关闭]

  • 如何在 Ubuntu 中眨眼间显示桌面?[关闭]

  • 输入语言切换键只接受 shift-alt 而不是 alt-shift [关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve