WSL2 由于运行完整的 Linux 内核,因此可以使用标准的 Linux 模拟软件。具体来说,qemu-user-static 是一个允许 Linux 执行不同架构的二进制文件的包。完全添加 Windows 理解为新的 WSL 发行版的新映像可能会很困难,但您可以通过 chroot 完成大部分工作。此处提供了一个示例脚本来进行设置。
或者,您可以使用 Docker。Docker Desktop 是一个内置 qemu 的原生 Windows 应用程序,可以设置 Docker 容器,它将 chroot 与其他一些技术结合起来。只需执行以下命令即可进入 ARM Ubuntu shell:
适用于 Linux 的 Windows 子系统不支持在 x86_64 架构 PC 上运行 ARM64 发行版。
WSL 1 将 Linux 系统调用转换为 Windows 系统调用,允许 Linux 二进制文件在 Windows 内核上运行。对于使用 WSL 1 在 x86_64 架构 PC 上运行 ARM 二进制文件没有内置支持。
在 WSL 2 Linux 发行版中运行在虚拟机中,因此 Linux 应用程序和 Linux 内核本身之间不涉及转换层。该虚拟机设计为在与主机系统相同的体系结构上运行。虽然 WSL 2 使用虚拟化,但它不支持直接在 x86_64 架构 PC 上运行 ARM 架构发行版。
WSL2 由于运行完整的 Linux 内核,因此可以使用标准的 Linux 模拟软件。具体来说,qemu-user-static 是一个允许 Linux 执行不同架构的二进制文件的包。完全添加 Windows 理解为新的 WSL 发行版的新映像可能会很困难,但您可以通过 chroot 完成大部分工作。此处提供了一个示例脚本来进行设置。
或者,您可以使用 Docker。Docker Desktop 是一个内置 qemu 的原生 Windows 应用程序,可以设置 Docker 容器,它将 chroot 与其他一些技术结合起来。只需执行以下命令即可进入 ARM Ubuntu shell:
可以为共享文件夹、变量和图形访问提供附加标志。
如果您有兴趣将其添加为新的 WSL2 发行版,您可以导入 Docker 映像或 chroot 文件夹。尽管我还没有测试过它,但由于模拟器在 WSL2 发行版之间共享,因此将其添加到一个操作系统中可能会为其他操作系统提供模拟功能。