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