一些 Linux 发行版kernel.sysrq=16
意味着只允许 Sysrq+s(同步)。例如:Fedora(25 和 28)在/usr/lib/sysctl.d/50-default.conf
我必须/etc/sysctl.d/95-sysrq.conf
在手动设置kernel.sysrq=1
的位置创建一个文件,以便它尽快可用(但根据情况可能不够快):
$ grep -nHi sysrq /usr/lib/sysctl.d/* /etc/sysctl.d/*
/usr/lib/sysctl.d/50-default.conf:16:# Use kernel.sysrq = 1 to allow all keys.
/usr/lib/sysctl.d/50-default.conf:17:# See http://fedoraproject.org/wiki/QA/Sysrq for a list of values and keys.
/usr/lib/sysctl.d/50-default.conf:18:kernel.sysrq = 16
/etc/sysctl.d/95-sysrq.conf:1:kernel.sysrq=1
有没有办法从早期启动启用 Sysrq,也可能忽略任何设置kernel.sysrq
?例如添加一个内核引导参数(例如,cat /proc/cmdline
对于当前参数),例如从 Grub 引导菜单(或在xen.cfg
'skernel=
行)。
sysrq_always_enabled
根据文档有内核启动参数:我已经测试了 Sysrq 的工作(例如帮助,同步),即使
kernel.sysctl=0
(所以就像上面的文档所说),如果我添加内核启动参数sysrq_always_enabled
(注意:它不一定是sysrq_always_enabled=1
)。(仔细检查,我还测试了 Sysrq 在 Sysrq 中不存在时不工作
kernel.sysctl=0
)sysrq_always_enabled
源/proc/cmdline
代码也证实了这一点。
注意:
/proc/sys/kernel/sysrq
是另一种读/写方式kernel.sysrq
有关 sysrq 的更多信息:https
://www.kernel.org/doc/html/v4.15/admin-guide/sysrq.html (虽然
sysrq_always_enabled
没有在此处提及,但在此处)编辑:生效时
sysrq_always_enabled
,有一条 dmesg 行: