双虚拟化 vs. 双引导 vs. 单虚拟化

Tho*_*lds 7 performance virtualization multi-boot

我的一个朋友最近提出了一些让我感兴趣的建议:在同时需要多个操作系统的情况下,可以使用低级主机,该主机可以有效消耗零资源来托管两个虚拟系统,而不是双启动或使用多台计算机. 您将受益于在系统之间平均分配计算机资源以及一次仅使用一个系统的选项。举个例子:

双启动:

    Computer
       |
    --------
    |      |
Windows  Linux
Run Code Online (Sandbox Code Playgroud)

单一虚拟化:

    Computer
       |
     Linux
       |      
    Windows
Run Code Online (Sandbox Code Playgroud)

双虚拟化:

    Computer
       |
      Host
       |
    --------
    |      |
Windows  Linux
Run Code Online (Sandbox Code Playgroud)

双启动的问题是你一次只能使用一个操作系统,而单虚拟化的问题是你不能使用 Windows,除非有 Linux。

这种双虚拟化的想法似乎解决了问题,但我想知道为什么我以前从未听说过它。

这个想法有什么严重的缺点吗?优缺点都有什么?

我能想到的唯一真正的缺点是性能,这有时可能很重要,但举个例子:我的下一台笔记本电脑将支持 16 GB 的 RAM,因此每个系统可以获得略低于 8 GB 的 RAM - 绰绰有余。

Bre*_*ugh 7

问题是您的“主机”远非消耗零资源的主机,并且本质上是一个操作系统本身。您最好安装一个小的 Linux 发行版,本质上充当“主机操作系统”,并同时运行您需要的两个操作系统。

离散操作系统主机的问题是资源管理

谁决定什么操作系统在什么时间获得什么硬件?谁管理操作系统优先级?谁管理谁获得地址空间中的哪一部分内存?谁负责管理操作系统之间的 CPU 使用率?您如何处理操作系统之间的存储设备读/写同步?

唯一真正的方法是做这样的事情:

    Computer
       |
  Linux/Windows
       |
    --------
    |      |
Windows  Linux
Run Code Online (Sandbox Code Playgroud)

虽然如果你走得那么远,最好简单地使用主机操作系统而不是虚拟化自身(即,如果你使用 Windows 主机,虚拟化 Linux,反之亦然)。

  • @ThomasShields 我的意思是,如果您要走那么远,为什么还要麻烦再次虚拟化 Linux?我可以理解您为什么要这样做,但是将主机操作系统与虚拟机结合使用会更快/更高效,而不是将自己限制在两个独立的虚拟机上。显然,如果您对虚拟机有需求(即保存机器状态),那就去做吧。 (4认同)