要在 Windows 10 May 2020 更新中使用 Windows Subsystem for Linux 2,文档说我必须打开“虚拟机平台”Windows 功能。它是某种Hyper-V吗?它不会导致与 Hyper-V 与其他软件相同的问题吗?
要在 Windows 10 May 2020 更新中使用 Windows Subsystem for Linux 2,文档说我必须打开“虚拟机平台”Windows 功能。它是某种Hyper-V吗?它不会导致与 Hyper-V 与其他软件相同的问题吗?
Windows 11 更新
与它是 Windows 10 上的可选功能相比,微软要求每个人都在 Windows 11 中使用 Windows Hypervisor。这在支持的配置中得到了明确的传达:你的 CPU 必须支持 x86 虚拟化扩展,并且必须在 Bios/UEFI 中打开。默认情况下启用基于虚拟化的安全功能(即使现在可以通过配置禁用它)。在各种文档中,此功能在 Windows Defender 和 KVCI 中称为“核心隔离”。这意味着虽然您可以继续在 Windows 11 上使用 WSL2 和最新的 VMWare/VirtualBox 软件,但您不能在 Windows 11 上使用旧版本的 VMWare Workstation 或 VirtualBox 及其自己的管理程序。
完整答案
要讨论这个问题,您首先需要了解虚拟化堆栈的不同组件:
(裸机)虚拟机管理程序称为Windows Hypervisor [1] - 在具有最高权限级别的机器上运行的软件。它控制每个分区获得多少 CPU 时间。
分区 - 特权低于管理程序的操作系统软件。他们运行您的应用程序。这些是 Windows、Linux、Docker 映像、Android。“主”操作系统,有时称为“主机”,正式称为父分区。 [2]
控制Windows 虚拟机监控程序的客户端软件称为Hyper-V 平台[3] - 不要与虚拟机监控程序本身混淆。平台中的服务向虚拟机管理程序发送命令来控制它,打开虚拟机、关闭虚拟机、复制、备份等。该平台软件运行在父分区上,该分区具有控制Windows 虚拟机管理程序的访问权限。
控制Hyper-V 平台的 GUI 软件Hyper-V Manager。如果您不想要 GUI,也可以使用 Powershell 来控制Hyper-V 平台。
微软为允许第三方软件使用Windows Hypervisor而公开的 API ,这被称为Windows Hypervisor Platform [4]。VMWare Workstation 15.5.5+ 和 VirtualBox 6+ 可以使用这个新的 API 在Windows Hypervisor上运行 VM 。(他们可以使用自己的管理程序或Windows 管理程序)
微软内部为 WSL2 使用的另一个 API,称为虚拟机平台。微软没有记录这一点。他们唯一提到的是您需要为 WSL2 启用此功能。 [5]
最后,微软将使用Hyper-V 平台创建、启动、停止、复制 VM 的能力简称为Hyper-V。此功能仅限于 Windows Server 和 Windows Pro、Enterprise、Education[6]。不要将在Windows Hypervisor上运行 VM 的能力与Hyper-V混淆。Windows 10 Home 可以使用在Windows Hypervisor上运行的 WSL2 容器,它还可以通过 VMWare/VirtualBox使用Windows Hypervisor Platform API 在Windows Hypervisor上运行 VM。
其他一些需要 Windows 10/11 上的Windows Hypervisor及其服务器对应的基于虚拟化的功能是:Hypervisor 保护的代码完整性 (KVCI)[7]、Microsoft Defender Application Guard[8]、Windows Sandbox[9]、Windows 子系统适用于 Android(仅限 Windows 11)[10]。
在Windows Hypervisor Platform之前,人们通常声称Hyper-V与 VMWare/VirtualBox 使用的第三方 hypervisor 不兼容。从技术上讲,这是将苹果与橙子进行比较。更直接的比较是在不兼容的Windows Hypervisor和第三方 Hypervisor 之间进行比较。
回到你的问题
Is it some sort of Hyper-V? Doesn't it cause the same problems as Hyper-V with other software?
Hyper-V使用Windows Hypervisor,WSL2 也通过Virtual Machine Platform使用Windows Hypervisor,它们是兼容的。VMWare Workstation 15.5.5+ 和 VirtualBox 6+ 也可以通过Windows Hypervisor Platform使用Windows Hypervisor,这也是兼容的。 [11]
任何不使用Windows Hypervisor的第三方管理程序都与 WSL2 或Hyper-V不兼容。
[1]
Hyper-V uses the Windows hypervisor
- https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview#how-hyper-v-works[2]
The Microsoft hypervisor must have at least one parent, or root, partition, running Windows.
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture[3]
Hyper-V has required parts that work together so you can create and run virtual machines. Together, these parts are called the virtualization platform.
https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview#what-does-hyper-v-consist-of[4] https://docs.microsoft.com/en-us/virtualization/api/
[5]
WSL 2 is available [...] including Windows 10 Home. The newest version of WSL uses Hyper-V architecture to enable its virtualization. This architecture will be available in the 'Virtual Machine Platform' optional component.
https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#does-wsl-2-use-hyper-v-will-it-be-available-on-windows-10 -家[6] https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v#check-requirements
[7]
Enable virtualization-based protection of code integrity
https://docs.microsoft.com/en-us/windows/security/threat-protection/device-guard/enable-virtualization-based-protection-of-code-integrity[8]
Prepare to install Microsoft Defender Application Guard
https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-application-guard/install-md-app-guard[9] https://techcommunity.microsoft.com/t5/windows-kernel-internals/windows-sandbox/ba-p/301849
[10]
Windows Subsystem for Android™️
https://docs.microsoft.com/en-us/windows/android/wsa/[11]
recently both VirtualBox and VMware have released versions that support Hyper-V and WSL2.
https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#will-i-be-able-to-run-wsl-2-and-other-3rd-party-virtualization -工具-如-vmware-或-virtualbox不,它与 Hyper-V 相关,但它是一个完全独立的 Windows 功能。
它只会导致不兼容的软件出现问题。
Hyper-V
是微软的 Hypervisor。Virtual Machine Platform
- “为虚拟机启用平台支持”,是WSL2所必需的。虚拟机平台可用于为 App-V 或 MSI 创建 MSIX 应用程序包。Windows Hypervisor Platform
- Windows 上的 Docker 需要“使虚拟化软件在 Windows 管理程序上运行”。Hypervisor 平台是一个 API,第三方开发人员可以使用它来使用 Hyper-V。Oracle VirtualBox、Docker 和 QEMU 就是这些项目的示例。