如何在 Linux 系统中进入 S0、S1、S2、S3、S4 和 S5 模式


检查系统支持的电源模式

在进入这些模式之前,可以使用以下命令来检查系统支持哪些电源状态:

1
cat /sys/power/state

该命令的输出可能包括:

  • freeze:冻结当前任务,不关闭任何设备。
  • standby:进入 S1 模式。
  • mem:进入 S3 模式。
  • disk:进入 S4 模式,即休眠,将内存内容保存到磁盘。

各电源模式简介

  • S0(工作状态):系统处于完全开机状态,所有部件都在运行。
  • S1(待机):CPU 停止执行指令,但内存和其他关键部件保持供电。
  • S2(待机):CPU 和系统缓存停止供电,但内存保持供电。
  • S3(挂起到内存):系统状态保存到内存中,除内存外的所有部件都断电。
  • S4(休眠):系统状态保存到硬盘,所有部件断电。系统恢复时从硬盘读取状态。
  • S5(软关机):系统完全关机,但电源仍然供电,可以通过电源按钮启动。

进入各电源模式的命令

  • S0 模式(工作状态)
    无需特殊命令,系统开机时即处于 S0 模式。

  • S1 模式(Standby)
    使用 echo 命令:

1
echo standby | sudo tee /sys/power/state
  • S2 模式(待机)
    请注意,S2 模式在很多系统上并不常用或不被支持。如果系统支持,可以尝试:
1
echo standby | sudo tee /sys/power/state
  • S3 模式(Suspend-to-RAM)

方法一:使用 systemctl 命令

1
sudo systemctl suspend

方法二:使用 echo 命令

1
echo mem | sudo tee /sys/power/state
  • S4 模式(休眠)
    使用 systemctl 命令:
1
sudo systemctl hibernate

或者使用 echo 命令:

1
echo disk | sudo tee /sys/power/state
  • S5 模式(软关机)
    使用 systemctl 命令:
1
sudo systemctl poweroff

示例操作

1. 检查系统支持的电源模式:

1
2
$ cat /sys/power/state
freeze standby mem disk

2. 进入 S1 模式:

1
$ echo standby | sudo tee /sys/power/state

3. 进入 S3 模式:

1
$ sudo systemctl suspend

4. 进入 S4 模式:

1
$ sudo systemctl hibernate

5. 进入 S5 模式:

1
$ sudo systemctl poweroff

注意事项

硬件支持:确保你的硬件支持相应的电源模式。

数据保存:进入这些模式前保存所有未保存的工作,以避免数据丢失。

驱动支持:有些系统和设备驱动可能对某些电源模式支持不完善,可能会导致恢复时出现问题。