SysRq由于某种原因,我的 Linux 机器在敲击+时会正确关闭O,但是惯于SysRq执行+时按预期重新启动B。
这两个都显示在帮助消息中(使用 SysRq+H),并且我的所有 SysRq 选项均已启用:
$ cat /proc/sys/kernel/sysrq
1
我使用一台已有 11 年历史的机器(Intel Q9550 / ASUS P5E3,我自己组装),目前运行Fedora 31
Linux 发行版,但问题至少从Fedora 25
.我首先怀疑此发行版中的自定义内核是原因,但自编译的正版内核似乎也会出现这种情况。
它过去也曾与其他发行版(例如 Knoppix)一起工作,但我不记得它是什么时候开始发生的。
当我执行 SysRq+B 时,无论是在控制台还是 dmesg 日志上,都没有发生或显示任何内容。所有其他选项(特别是 R、E、I 或 S)似乎都可以,并且可以产生日志流量。有谁知道什么可能导致重新启动操作被禁用?
这引出了我的一个“次要”问题:
在内核源代码中,在 rows447
和469
of 处drivers/tty/sysrq.c
,我可以看到:
&sysrq_reboot_op, /* b */
…
/* o: This will often be registered as 'Off' at init time */
NULL, /* o */
因此,重新启动(目前对我不起作用)应该始终默认定义,而关闭(确实有效)设置为 NULL,然后在初始化时定义。我找不到这个演员是谁,也找不到这个关闭选项的具体时间。你也能帮我解决这个问题吗?
非常感谢您的帮助。
编辑:写入时的最新内核是5.5.1
,但上面引用的代码属于5.4.15
较旧的版本,并且我正在运行 Redhat 的5.4.15-200.fc31.x86_64
软件包。
答案1
最后,事实证明是由于与此相同的问题相关条目。它的工作原理是Syst在保持的同时释放Alt,然后按下B。
这让我有点惊讶,因为我使用的是带有 PS/2 键盘端口的台式机(而不是嵌入式笔记本电脑键盘)。我曾经使用廉价的罗技键盘,这一直是一种痛苦,但似乎无论如何都能胜任这项工作。当这个键盘坏了时,我装回了 2K 年前的旧康柏键盘(型号KB-9963)效果很好,使用起来也很愉快,但显然也遇到了同样的问题。