
计算机有一个休眠功能。我的理解是它将系统状态保存到磁盘,然后将其恢复。
为什么没有类似的功能来通过仅保存和恢复操作系统状态来实现操作系统之间的切换,而无需重新启动,也不需要任何虚拟机?
答案1
计算机有一个休眠功能。我的理解是它将系统状态保存到磁盘,然后将其恢复。
为什么没有类似的功能来通过仅保存和恢复操作系统状态来实现操作系统之间的切换,而无需重新启动,也不需要任何虚拟机?
有,这叫“冬眠”。
Windows 启动管理器故意不允许使用此技巧在其管理的操作系统之间切换,也许是因为当两个操作系统互相更新相同的文件系统结构时,可能会导致故障(例如,您恢复 OS 1 并突然发现程序一直在读取的文件不见了,因为您之前通过 OS 2 删除了它)。
然而,它做如果您使用其他启动管理器,例如,如果您在 Windows 旁边安装了 Linux,并且将 GRUB 或 EFI 作为主要启动菜单,那么您可以休眠 Windows,重新打开机器,然后直接进入 Linux。稍后您重新启动并恢复休眠的 Windows 系统。(很久以前,我曾经在桌面上这样做过。)
如果你看慢性肾脏病,你会听说一些 PC 制造商实际上在他们的系统上开箱即用地使用了这一技巧,使用专用按钮可以使 Windows 休眠并切换到内置的迷你 Linux 环境。(不,我不记得那是在哪个视频中。去看看它们。)
(事实上,甚至有一家制造商想出了一个办法在 RAM 中同时保存两个操作系统使用一些围绕“睡眠”模式(挂起到 RAM)构建的不正当技巧,表明一切皆有可能……尽管它的缺点是它需要在两个系统之间永久划分物理 RAM,所以它实际上只适用于该视频系列主题的那种微型 Linux 辅助操作系统。)
答案2
您的问题可以归结为:我可以在没有虚拟化的情况下进行虚拟化吗?
要在 PC 上运行任何操作系统,首先需要一个软件/引导加载程序,它严格遵循 BIOS 定义的确切引导顺序 /UEFI。
PC 上的启动顺序是一个非常复杂的过程,因为您可以读入本例。
我们非常注意确保操作系统在执行过程中保持一致状态,否则恶意软件很容易破坏您的系统。
因此,要实现您的要求,就意味着创建一个能够在 Windows 和 Linux 之间切换的“Mini-OS”(或软件),同时(1)保证 BIOS 中的一切都以连贯的方式进行,以及(2)为您作为用户提供一个菜单来选择操作系统。
这基本上就是虚拟化的工作方式。我相信可以创建一个能够模拟您所要求内容的最小 Linux 发行版。但您无法绕过虚拟化。
这是一个非常“基本”的解释,解释了为什么你问的问题实际上是不可能的。为了更清楚地理解,你需要阅读提供的链接,并了解更多操作系统如何工作。
编辑
哎呀,你也许可以将其编码成UEFI并在您的机器上安装一个硬件开关来在操作系统之间切换,但这不会改变基本原理:您需要一个底层操作系统,它可以接受用户的命令来在操作系统之间切换。这就是所谓的虚拟化。
但硬件旋钮可能是一个很酷的商业创意