📜  使用 WSL2 在 Windows 10 上运行 MacOS - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:22:17.608000             🧑  作者: Mango

使用 WSL2 在 Windows 10 上运行 MacOS - Shell-Bash

在过去,如果你想在你的 Windows 10 系统上运行 MacOS 系统,你需要购买一台 Mac 电脑。不过现在我们有了 WSL2(Windows Subsystem for Linux 2),一种在 Windows 系统上运行 Linux 内核的东西。这使得我们有可能通过 macOS 的开源实现,将 WSL2 转换成一个真正的 macOS 系统。

准备工作

在继续之前,你需要满足以下条件:

  • 在你的 Windows 系统上启用了 WSL2。可以在这里找到 WSL2 的安装和配置指南。
  • 你有一个运行了 macOS 的 Docker 镜像。你可以在 Docker Hub 上找到官方 macOS 镜像
安装
步骤一:下载脚本

使用下面的命令下载脚本:

curl -O https://raw.githubusercontent.com/evanlittle/WSL-MacOS/main/filesystem.sh
步骤二:安装

执行以下命令,按照提示进行安装:

sudo bash filesystem.sh install
步骤三:启动

执行以下命令启动 macOS:

bash /mnt/macos/run.sh

现在你应该已经成功地为 WSL2 创建了一个 macOS 环境。

常见问题解答

以下是在安装和配置过程中可能遇到的一些问题以及对应的解决方案:

1. 内核版本低

如果你在 WSL2 中遇到内核版本低的问题:

WSL 2 遇到内部错误.
错误代码: 0x80070003

那么请确保你的 Windows 系统处于最新状态。如果还是不行,那么请确保你的 BIOS 中启用了虚拟化技术。

2. 无法通过 HTTP 下载 Docker 镜像

如果你在下载 macOS Docker 镜像的时候无法通过 HTTP 下载:

$ docker run macos
Unable to find image 'macos:latest' locally
latest: Pulling from library/macos
ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

那么请确保你在使用 Docker 之前正确地配置了代理。

结论

WSL2 已成为开发者的首选平台之一,让开发者能够在 Windows 系统上运行 Linux 环境。现在,我们可以通过 WSL2 和 Docker 一起运行 macOS 系统。这让我们可以在一个非常强大的平台上运行三个系统:Windows、Linux 和 macOS。