以系统休眠(挂起到硬盘)的方式, Win 与 Linux 之间"半重启"切换?(相当于暂停一个系统)

2022-11-04 16:04:24 +08:00
 garywill

现有系统都提供休眠( Hibernation ,挂起到硬盘)的功能。但为什么没看到有休眠后切换到另一个系统的软件?实现快速切换,并且不丢失现有状态.(即,唤醒另一个已挂起到硬盘的系统)

假设像这样:

RAM 16G

sda
 |--sda1 (100G)  Linux 其中 16G 的 Linux 挂起文件
 |--sda2 (100G)  Windows 其中 16G 的 Win 挂起文件

原始的启动流程:

BIOS->寻找可启动磁盘->找到 sda->进入 grub->用户菜单选择 Linux 或 Windows 启动

快速切换的"半重启"流程:

在 Linux 中进行操作->挂起 Linux 内存到硬盘 sda1->缷载内核进入 grub 并传入参数->grub 从 sda2 唤醒已挂起的 Windows

反过来一样

可行吗?有无现有的类似的方案?

1956 次点击
所在节点    奇思妙想
6 条回复
icestraw
2022-11-04 17:15:59 +08:00
最早的休眠不就是这么工作的吗?你是不是开了依赖 bios 配合的混合睡眠了
jim9606
2022-11-04 18:55:01 +08:00
因为不是所有的睡眠状态信息都存在内存里的,有一些状态在外设上,甚至驱动还要有设置设备进入和退出睡眠状态的逻辑。在这个过程切换系统可能会导致外设状态不一致的问题,而且还没有特别可靠的检测机制。
另外在微软的路线图里,S3 睡眠属于废弃功能,所以相关的问题可能永远不会解决。
autoxbc
2022-11-04 19:10:32 +08:00
这样切换系统,那些在两个系统同时挂载的分区就会出现数据损毁,原因是内存中的分区元数据和分区实际内容不一致。十几年前搞过一次后,就不再这么玩了
aqqwiyth
2022-11-04 19:30:54 +08:00
你说的这个不就是虚拟机吗? 换个角度现在的云主机不就是这样的
garywill
2022-11-05 11:56:09 +08:00
这么说,快速切换的设想不行的话。。想要”同时“用双系统,仍然逃不开用得不够爽的虚拟机
systemcall
2022-11-06 20:31:18 +08:00
有一些硬件,在切换了系统之后,会有不一致的问题
类似的,你可以看看快速启动造成的一些问题,这个还是注销了账号、进行了一些处理后的结果,而且修复了很久。最开始,快速启动启用的情况下,切换到别的系统甚至可能会导致分区损毁
要通过这种方式切换系统,需要 OS 自己做不少处理。很可惜,无论是 Windows 还是 Linux ,休眠都似乎是废弃的功能了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/892692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX