VirtualBox、Hyper-V 和 Linux 主机

VirtualBox、Hyper-V 和 Linux 主机

我使用 Virtualbox 创建了一个虚拟机 - 主机系统是 Linux Mint Cinnamon 17.2,来宾系统 - Windows 8.1 Pro。我在虚拟机设置中启用了所有加速功能。

要运行 WP8 模拟器,需要 Hyper-V。但是,令我惊讶的是,Windows 来宾声称不支持 Hyper-V。

是否可以在 Windows 客户机上使用 Hyper-V?

答案1

是的,现在可以在 Windows 客户操作系统上使用 Hyper-V,但不能与 VirtualBox 一起使用。该技术称为嵌套虚拟化。

您可以对 VirtualBox 的功能请求进行投票这里。不幸的是,这个请求已经存在了 6 年,开发人员最初表示它的“用处有限”。随着越来越多的软件依赖虚拟化(Windows Mobile Emulation、Android Emulation、Vagrant 等),我希望它能成为更高的优先级。截至 2015 年 11 月 16 日,该问题仍在积极地进行评论和请求,但截至 2015 年 5 月,开发人员仍然有“不同的优先事项”。

从 Windows 10 秋季更新(以及 Windows Server 2016 预览版)开始,Hyper-V 现在能够嵌套 Hyper-V 虚拟机管理程序:

嵌套虚拟化是在虚拟化环境中运行虚拟化。换句话说,嵌套允许您在虚拟机内运行 Hyper-V 服务器角色。

来源。该技术仍然非常新,并且似乎仍处于预览阶段。

开源 Xen 虚拟机管理程序还声称支持嵌套虚拟化:

嵌套虚拟化是在虚拟机内部运行虚拟机管理程序的能力。在真实硬件上运行的虚拟机管理程序称为级别 0 或 L0;在 L0 上作为来宾运行的虚拟机管理程序称为级别 1 或 L1;在 L1 虚拟机管理程序上运行的来宾称为 2 级或 L2。

来源:http://wiki.xenproject.org/wiki/Nested_Virtualization_in_Xen

VMWare 还在其商业产品中广泛支持多种嵌套场景:

Hyper-V 需要硬件辅助虚拟化,因此只能在 ESXi 5.0、Workstation 8、Player 4 或 Fusion 4(或更高版本)下运行。 Hyper-V 作为来宾虚拟机管理程序在 ESXi 5.0 下的性能相对较差,但在 Workstation 8、Player 4 或 Fusion 4(或更高版本)下性能相当不错。在 Workstation 9、Player 5 或 Fusion 5 下,您应该将来宾操作系统类型设置为“Hyper-V”。

来源:http://communities.vmware.com/docs/DOC-8970

答案2

简短的回答:不。 Hyper-V 功能用于托管虚拟机 (VM)。据我所知,您无法从虚拟机托管硬件加速虚拟机。根据定义,虚拟机是由主机托管的。如果 Linux 是您的主机,则 Hyper-V 不是主机。

(我猜想可以使用软件模拟整个虚拟机,而不需要硬件加速,但这会使虚拟机非常慢,所以我不推荐这样做。这也不是 Hyper-V 的工作方式。)

VM 加速功能允许您在 VM 内更有效地使用硬件,例如,它们可以让 VM 直接访问 GPU。然而,他们不会将访客变成(硬件加速的)主机。

当您直接在计算机上安装Windows 8 Pro时,您可以添加Hyper-V功能,将其变成虚拟机的主机。我对 WP8 模拟器不熟悉,但听起来它需要当前操作系统是 Hyper-V 主机,以便 WP8 模拟器可以作为虚拟机运行。

您可能需要

  • 直接在硬件上安装 Windows 8.1 Pro 并向托管虚拟机添加 Hyper-V 功能;
  • 安装 Windows Hyper-V Server(可从 Microsoft 网站免费下载);
  • 安装具有 Hyper-V 角色的完整 Windows Server(非免费)。

我预计 WP8 模拟器无法通过在此设置中使用 Hyper-V 主机安装在来宾 VM 中。

在 Windows 8 或 Windows Server 主机上安装 WP8 模拟器应该不成问题。但是,免费的 Hyper-V 服务器可能不是适合您情况的实用解决方案(除非您可以在 Hyper-V 服务器上安装 WP8 模拟器,这可能很棘手,因为从某种意义上说,这是 Windows 的精简版本服务器核心)。

如果/当您选择使用 Hyper-V 作为虚拟机管理程序(VM 的主机)时,您当然也可以运行其他 VM,例如运行 Linux。 VirtualBox 也适用于 Windows,但我不知道它是否可以与 Hyper-V 安装一起使用。也许您也可以在 Windows VirtualBox 上运行现有的 VM。

最后,我自己还没有这样做,但应该可以安装 Windows 8.1 和 Linux 的双引导系统,以便您可以交替使用哪个虚拟机管理程序。对我来说,这似乎是一个不太可取的解决方案,因为这样您就无法始终运行所有虚拟机(即,当您启动到 Linux 虚拟机管理程序时,您无法运行 Hyper-V 虚拟机)。我更愿意选择一个并坚持为该机器上的所有虚拟机使用它。

相关内容