type
status
date
slug
summary
tags
category
icon
password
comment
在Ubuntu系统中,Ctrl+Alt+PrtSc+R+E+I+S+U+B 是一种安全重启的快捷键组合,通常被称为“Magic SysRq”键。它的原理是通过触发内核级别的命令序列,逐步安全地关闭系统服务并重启,以减少因强制重启导致的数据丢失或系统损坏风险。

操作步骤及原理:

  1. 按住 Ctrl+Alt,然后按下 PrtSc(Print Screen或SysRq)键PrtSc 键通常与 SysRq(System Request)键共享,用于激活内核的特殊请求模式
  1. 依次按下以下按键(每按一次稍等几秒)
      • R:将键盘切换为原始模式,恢复键盘功能。
      • E:终止所有用户空间的进程。
      • I:强制杀死所有进程(除了内核进程)。
      • S:同步磁盘缓冲区,将内存中的数据写入磁盘。
      • U:将文件系统重新挂载为只读模式,防止写入操作。
      • B:立即重启系统。

注意事项:

  • 在执行这些操作之前,请确保所有重要数据已经保存,因为某些步骤可能会导致未保存的数据丢失。
  • 如果系统完全无响应,可以尝试先按 Ctrl+Alt+F1 切换到虚拟终端,然后手动执行 sudo reboot 命令。
  • 如果系统频繁卡死,建议检查硬件状态或更新系统驱动程序。
通过这种方式,可以安全地重启Ubuntu系统,而不会像直接按电源键那样对系统和数据造成潜在损害。Ctrl+Alt+PrtSc+R+E+I+S+U+B 这套组合键被称为“Magic SysRq”键,它通过触发内核级别的命令序列来安全重启系统。每个按键都对应一个特定的内核操作,这些操作由内核的 sysrq 功能实现。以下是对每个按键的具体分析:

1. R (Raw)

  • 功能:将键盘切换为原始模式(Raw Mode)。
  • 内核命令echo 0 > /proc/sysrq-trigger
  • 作用:恢复键盘功能,确保后续按键能够被正确处理。在某些情况下,系统可能因为键盘驱动问题而无法响应按键,此操作可以修复键盘输入。

2. E (End)

  • 功能:终止所有用户空间的进程(End Processes)。
  • 内核命令echo e > /proc/sysrq-trigger
  • 作用:向所有进程发送 SIGTERM 信号,尝试优雅地终止它们。这一步是为了确保大多数进程能够正常退出,减少数据丢失的风险。

3. I (Kill)

  • 功能:强制杀死所有进程(Kill Processes)。
  • 内核命令echo i > /proc/sysrq-trigger
  • 作用:向所有进程发送 SIGKILL 信号,强制终止所有用户空间的进程。这一步确保那些无法正常终止的进程被强制结束。

4. S (Sync)

  • 功能:同步磁盘缓冲区(Sync Disks)。
  • 内核命令echo s > /proc/sysrq-trigger
  • 作用:将内存中的数据同步到磁盘,确保所有未写入的数据被保存。这是非常重要的一步,因为它可以减少数据丢失的风险。

5. U (Unmount)

  • 功能:将所有文件系统重新挂载为只读模式(Unmount Filesystems)。
  • 内核命令echo u > /proc/sysrq-trigger
  • 作用:将所有文件系统重新挂载为只读模式,防止在重启过程中对文件系统进行写操作。这一步可以避免文件系统损坏。

6. B (Boot)

  • 功能:重启系统(Boot)。
  • 内核命令echo b > /proc/sysrq-trigger
  • 作用:触发系统重启。此时,系统会执行内核级别的重启操作,类似于按下电源按钮,但更加安全。

启用和禁用 Magic SysRq

默认情况下,Magic SysRq 功能在大多数Linux发行版中是启用的,但可以通过以下方式手动启用或禁用:
  • 完全启用
    • 完全禁用
      但大部分ubuntu系统初sysrq始设定值为176,当 /proc/sys/kernel/sysrq 的值为 176 时,Ctrl+Alt+PrtSc+R+E+I+S+U+B 的部分功能是可以正常工作的,但并非所有功能都可用。以下是具体解释:

      /proc/sys/kernel/sysrq 值为 176 的功能范围

      176 对应的二进制为 10110000,表示启用了以下功能:
      • 16 (0x10):允许执行 sync 命令(S 键)。
      • 32 (0x20):允许重新挂载文件系统为只读(U 键)。
      • 128 (0x80):允许重启(B 键)。

      可用的按键及其功能

      在值为 176 的情况下,以下按键及其功能可以正常工作:
      • S:同步所有已挂载的文件系统。
      • U:将所有文件系统重新挂载为只读。
      • B:重启系统。

      不可用的按键及其功能

      以下按键的功能在值为 176不可用
      • R:将键盘切换为原始模式(需要值 41)。
      • E:向所有进程发送 SIGTERM 信号(需要值 641)。
      • I:向所有进程发送 SIGKILL 信号(需要值 641)。

      总结

      /proc/sys/kernel/sysrq 的值为 176 的情况下,Ctrl+Alt+PrtSc+R+E+I+S+U+B 的部分功能可以正常工作,但仅限于以下步骤:
      1. 按下 S 键同步文件系统。
      1. 按下 U 键将文件系统重新挂载为只读。
      1. 按下 B 键重启系统。
      其他按键(如 REI)的功能将不会生效。
       
      Ubuntu系统基本安全防护策略 7个示例概括《高效能人士的7个习惯》一书
      Loading...