如何将 Linux 休眠到磁盘并在不同设备上恢复?

如何将 Linux 休眠到磁盘并在不同设备上恢复?

我将 Linux 安装在便携式 SSD 上,因此我可以轻松切换设备(家里的笔记本电脑,办公室的台式机),并且不需要考虑任何同步问题。这称为 Linux To Go。

已经很不错了,但是还能更好吗?

要在工作流程中切换设备,我必须(优雅地)退出所有应用程序,完全关闭操作系统,然后分离并连接 SSD,启动操作系统,等待其启动,最后重新打开恢复所需的所有应用程序我的工作。

现在我想找到一种方法来实现“暂停和恢复”,而不是这样的“停止和重新启动”。我希望操作系统内存能够跨不同设备保留。

看来冬眠是一个潜在的解决方案。也许我可以通过休眠操作系统来将内存保存在交换分区中,然后分离并连接 SSD,启动操作系统,很快,内存就会恢复,这样我就可以继续我的工作流程。

但经过一番谷歌搜索后,我找不到任何有关跨多个设备休眠的教程/博客。

如何将 Linux 休眠到磁盘并在不同设备上恢复?或者,这根本不可能吗?

答案1

我认为不同设备之间的休眠不可能起作用,除非设备在硬件配置(CPU、GPU、RAM、存储、外围设备)方面完全相同,即使在这种情况下,它也远非确定。

曾经有一个名为 CryoPID 的项目,它允许保存正在运行的应用程序的映像并在稍后恢复它,但它早已停止运行且无人维护,并且无法与新的 Linux 内核一起使用。请检查此主题以获取更多可能的最新解决方案:https://stackoverflow.com/questions/2134771/how-to-hibernate-a-process-in-linux-by-storing-its-memory-to-disk-and-restorin

老实说,除了使用 VirtualBox/虚拟化来保留正在运行的应用程序的状态之外,我在上述主题中没有看到任何现代的工作解决方案。这虽然处理起来不太愉快,但效果很好。

这里有一个更好的主意:如果您有快速的互联网连接,您可能会考虑拥有一台始终在线的远程 PC,您可以在其中进行工作流程并使用任何可能的方式访问它,例如 RDP/VNC/SSH -x/等。

相关内容