启动挂起到磁盘时断电的计算机是否安全?

启动挂起到磁盘时断电的计算机是否安全?

我的计算机配有电池供电,断电后计算机可以运行大约一分钟。我想在断电后立即触发挂起到磁盘,以便稍后恢复。 initrd(默认 Devuan initrd)在交换分区中查找挂起签名,并在找到签名时从中恢复。我不确定当电源完全中断时会发生什么写作时数据到交换分区。当电池出现故障或系统在挂起时挂起时,可能会发生这种情况。系统会从损坏的交换分区恢复还是会忽略交换分区?我认为第二个选项更好——错误卸载的文件系统比损坏的系统状态要好。

签名是否写入交换分区或者其他数据?它使用校验和吗?

答案1

如果在显式进入 S4 或 S5 状态(为简单起见,下文简称为“休眠状态”)之前断电,则交换分区中部分填充的数据将被完全忽略,因为没有持久的休眠状态。交换分区和文件也是易失性的,在没有休眠状态的情况下重新启动后,其中的数据将被忽略。

在内核中,从休眠状态恢复是由配置请求的platform_hibernation_ops->leave,仅在从休眠状态恢复时调用。例如,在支持 S5 的大多数现代平台上,我们配置重新启动通知程序。

在进入休眠状态之前断电(因此休眠文件被完全写入)不会配置任何要恢复的休眠状态,因此它不可能尝试使用部分填充的交换空间解冻。因此,您不必担心内核尝试从部分完全休眠状态中恢复。

相关内容