意图

意图

我可以通过pm-hibernate命令休眠我的笔记本电脑,没有任何问题。我想手动达到相同的结果。为了做到这一点,

  1. 我需要拍摄快照并将 RAM+swap 的内容转储到文件(或/dev/myswap2)中,例如:

    dd if=/dev/fmem of=path/to/memory.img
    
  2. 下次启动时从该文件恢复,可以通过resume=path/to/memory.img在 GRUB 中设置选项来恢复。

如何拍摄 RAM 和交换的快照,以便将它们转储到文件(或块设备)中以实现休眠目的?

意图

我可以

  • 在系统运行时拍摄整个文件系统的快照
  • 将快照发送到目标磁盘
  • 替换必要的文件(如、/etc/fstab等)以使目标可启动/etc/crypttab/boot/grub/grub.cfg

因此,当我拔下 USB 磁盘时,它就可以启动我的(或类似的)计算机,这会减少平均修复时间如果发生磁盘故障,则缩短至约 10 分钟。 (登录后启动约 1 分钟,重新打开应用程序、重新排列窗口等约 9 分钟。)

我的意图是,如果我能够以相同的方式拍摄 RAM 快照pm-hibernate并将其写入目标磁盘的交换区域,那么我就可以启动到与备份时刻完全相同的状态(就好像我的目标磁盘处于休眠状态一样)在这样的磁盘故障场景中。

答案1

您可以通过写入/sys/power/state其中包含的睡眠状态之一来进行转换,例如。

echo disk > /sys/power/state

可用的状态有:

  • freeze(挂起至空闲)
  • standby(上电暂停)
  • mem(挂起至 RAM)
  • disk(挂起到磁盘)

/sys/power/disk控制休眠的操作模式(Suspend-to-Disk)。

可用选项有:

  • `platform'(使用平台提供的方法使系统进入睡眠状态)
  • shutdown(关闭系统)
  • reboot(重新启动系统)
  • suspend(触发挂起到 RAM 的转换)
  • test_resume(休眠后恢复测试模式)

参考

Linux 内核文档

相关内容