要在 Windows 10 2020 年 5 月更新中使用 Windows Subsystem for Linux 2,文档说我必须打开“虚拟机平台”Windows 功能。它是某种 Hyper-V 吗?它不会与其他软件一起导致与 Hyper-V 相同的问题吗?
答案1
适用于 Windows 11 的更新
与 Windows 10 上的可选功能相比,微软要求每个人都在 Windows 11 中使用 Windows 虚拟机管理程序。这在支持的配置中明确传达:您的 CPU 必须支持 x86 虚拟化扩展,并且必须在 Bios/UEFI 中启用它。基于虚拟化的安全功能默认启用(尽管目前可以通过配置禁用它)。在各种文档中,Windows Defender 和 KVCI 中将此功能称为“核心隔离”。这意味着虽然您可以继续在 Windows 11 上使用 WSL2 和最新的 VMWare/VirtualBox 软件,但您不能在 Windows 11 上使用带有自己虚拟机管理程序的旧版本的 VMWare Workstation 或 VirtualBox。
完整答案
要讨论这个问题,首先需要了解虚拟化堆栈的不同组件:
裸机虚拟机管理程序调用Windows 虚拟机管理程序[1] - 在具有最高权限的计算机上运行的软件。它控制每个分区获得的 CPU 时间量。
分区 - 比虚拟机管理程序权限低的操作系统软件。它们运行您的应用程序。这些应用程序包括 Windows、Linux、Docker 镜像、Android。“主”操作系统有时称为“主机”,正式称为父分区。[2]
控制客户端软件Windows 虚拟机管理程序称为Hyper-V 平台[3] - 不要与虚拟机管理程序本身混淆。平台中的服务向虚拟机管理程序发送命令来控制它,启动虚拟机、关闭虚拟机、复制、备份等。该平台软件在父分区上运行,父分区具有控制Windows 虚拟机管理程序。
GUI 软件Hyper-V 管理器控制Hyper-V 平台。您还可以使用 Powershell 来控制Hyper-V 平台如果您不想要 GUI。
微软公开的API允许第三方软件使用Windows 虚拟机管理程序, 这就是所谓的Windows 虚拟机管理程序平台[4]. VMWare Workstation 15.5.5+ 和 VirtualBox 6+ 可以使用这个新 API 在Windows 虚拟机管理程序. (他们可以使用自己的虚拟机管理程序或Windows 虚拟机管理程序)
微软在 WSL2 内部使用的另一个 API 称为虚拟机平台。微软没有记录这一点。他们唯一提到的是你需要为 WSL2 启用此功能。[5]
最后,微软称使用以下方式创建、启动、停止、复制虚拟机的能力Hyper-V 平台简单地Hyper-V。此功能仅限于 Windows Server 和 Windows Pro、Enterprise、Education[6]。不要混淆在Windows 虚拟机管理程序和Hyper-V. Windows 10 Home 可以使用在 WSL2 上运行的容器Windows 虚拟机管理程序,它还可以在Windows 虚拟机管理程序使用Windows 虚拟机管理程序平台通过 VMWare/VirtualBox 的 API。
其他一些基于虚拟化的功能需要Windows 虚拟机管理程序Windows 10/11 及其服务器上的对应组件包括:受虚拟机管理程序保护的代码完整性 (KVCI)[7]、Microsoft Defender 应用程序防护[8]、Windows Sandbox[9]、Windows Subsystem for Android(仅限 Windows 11)[10]。
前Windows 虚拟机管理程序平台,人们通常认为Hyper-V与 VMWare/VirtualBox 使用的第三方虚拟机管理程序不兼容。从技术上讲,这是将苹果与橘子进行比较。更直接的比较是Windows 虚拟机管理程序以及不兼容的第三方虚拟机管理程序。
回到你的问题
Is it some sort of Hyper-V? Doesn't it cause the same problems as Hyper-V with other software?
Hyper-V用途Windows 虚拟机管理程序,WSL2 还使用Windows 虚拟机管理程序通过虚拟机平台,它们兼容。VMWare Workstation 15.5.5+ 和 VirtualBox 6+ 也可以使用Windows 虚拟机管理程序通过Windows 虚拟机管理程序平台,这也是兼容的。[11]
任何不使用的第三方虚拟机管理程序Windows 虚拟机管理程序与 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-home
[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-tools-such-as-vmware-or-virtualbox
答案2
它是某种 Hyper-V 吗?
不,它与 Hyper-V 相关,但它是一个完全独立的 Windows 功能。
这是否不会引起与 Hyper-V 和其他软件相同的问题?
这只会导致软件不兼容的问题。
Hyper-V
是微软的 Hypervisor。Virtual Machine Platform
- “启用虚拟机平台支持”,并且是WSL2. 虚拟机平台可用于为 App-V 或 MSI 创建 MSIX 应用程序包。Windows Hypervisor Platform
- “使虚拟化软件能够在 Windows 虚拟机管理程序上运行”是 Windows 上的 Docker 所必需的。虚拟机管理程序平台是第三方开发人员可以使用的 API,以便使用 Hyper-V。Oracle VirtualBox、Docker 和 QEMU 就是这些项目的示例。