Windows AI 开发环境搭建(一):WSL 下载安装

本文是介绍如何在 Windows 上搭建 AI 开发环境教程的第一篇,主要介绍 WSL 是什么,WSL 下载与安装,以及处理碰到的问题。

WSL 是什么

WSL 是 (Windows Subsystem for Linux)的缩写,直白的讲你可以在 Windows 上无缝使用 Linux 系统,而无需安装虚拟机软件再安装一个 Linux 系统,亦或是不用做成 Windows、Linux 双系统来回重启切换。

除了 Windows 原生开发,大部分开发工作还是基于 Unix/Linux 系统更为舒适和便捷,这也是越来越多大厂的开发人员基本人手一台 Mac 本作为主力开发工具的原因。尤其 AI 相关也基本基于 Linux 系统,所以既想享受 Windows 带来的娱乐性又想体验与 Linux 一致的开发舒适性,WSL 正是来满足你这个需求的。

以下讲解基于 Window 11。

WSL 安装

第一次执行下面命令行,会安装 WSL 自身框架

PowerShell
wsl --install

提示如下:

PowerShell
wsl --install
请求的操作需要提升。
正在下载: 适用于 Linux 的 Windows 子系统 2.7.11
正在安装: 适用于 Linux 的 Windows 子系统 2.7.11
已安装 适用于 Linux 的 Windows 子系统 2.7.11
正在安装 Windows 可选组件: VirtualMachinePlatform

...

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。
请求的操作成功。直到重新启动系统前更改将不会生效。
请求的操作成功。直到重新启动系统前更改将不会生效。

接着重启电脑

有可能会把默认的 Linux 系统安装好了,可以执行下面查看安装了哪个版本,如果显示没有安装,接着往下看安装部分,如果已安装,可以查看迁移操作。(最好安装到非系统盘,除非你分配的系统盘容量足够大,就不用考虑了)。

PowerShell
wsl --list --verbose # 简写 wsl -l -v

如果显示如下,说明没有安装 Linux

PowerShell
wsl -l -v
适用于 Linux 的 Windows 子系统没有已安装的分发。
可通过安装包含以下说明的分发来解决此问题:

使用“wsl.exe --list --online' ”列出可用的分发
“wsl.exe --install <Distro>” 进行安装。

WSL 安装 Linux 系统

查看可以安装的 Linux 版本

PowerShell
wsl --list --online # 简写 wsl -l -o
PowerShell
wsl --list --online
以下是可安装的有效分发的列表。
使用“wsl.exe --install <Distro>”安装。

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Ubuntu-26.04                    Ubuntu 26.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-16.0              openSUSE Leap 16.0
SUSE-Linux-Enterprise-15-SP7    SUSE Linux Enterprise 15 SP7
SUSE-Linux-Enterprise-16.0      SUSE Linux Enterprise 16.0
kali-linux                      Kali Linux Rolling
Debian                          Debian GNU/Linux
...

根据你的需要安装指定版本,不确定的,这里推荐安装 Ubuntu 24.04 LTS

考虑到后面会跑项目和 AI 大模型,最好指定安装目录到非 C 盘,避免后续影响 C 盘容量。例如新建文件夹 D:\WSL\Ubuntu-24.04

PowerShell
mkdir D:\WSL\Ubuntu-24.04

WSL 安装 Ubuntu 24.04 到指定 D 盘目录

PowerShell
wsl --install -d Ubuntu-24.04 --location D:\WSL\Ubuntu-24.04

接着输入需要创建的 Linux 账户和密码,设置完成后就进入 WSL 了。

PowerShell
wsl --install -d Ubuntu-24.04 --location D:\WSL\Ubuntu-24.04
正在下载: Ubuntu 24.04 LTS
正在安装: Ubuntu 24.04 LTS
已成功安装分发。可以通过 “wsl.exe -d Ubuntu-24.04” 启动它
正在启动 Ubuntu-24.04...
Provisioning the new WSL instance Ubuntu-24.04
This might take a while...
Create a default Unix user account: dalaobb
New password:
Retype new password:
passwd: password updated successfully
...

如果看到以下问题,查看后面代理配置部分

PowerShell
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

退出 wsl:

Bash
exit # 退出 wsl

查看安装 Linux 版本

PowerShell
wsl -l -v

显示如下,VERSION 2 表示使用的是 wsl2

PowerShell
wsl -l -v
NAME            STATE           VERSION
* Ubuntu-24.04    Running         2

检查 WSL 状态

PowerShell
wsl --status

看是否支持 WSL 1 或 2,用新不用旧,这里默认是 2

PowerShell
wsl --status
默认分发: Ubuntu-24.04
默认版本: 2
当前计算机配置不支持 WSL1。
若要使用 WSL1,请启用“Windows Subsystem for Linux”可选组件。

切换 WSL 1/2,一般用 2

PowerShell
wsl --set-default-version <Version>

如果不支持,更新到最新版试试

PowerShell
wsl --update

重新进入 wsl

PowerShell
wsl # 进入默认系统。如果安装了多系统,需指定: wsl -d Ubuntu-24.04 or wsl.exe -d Ubuntu-24.04

WSL 代理配置问题

如果遇到下面问题,说明需要配置 Windows 与 Linux 系统之间的网络通信

PowerShell
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

进入 WSL 后,curl Google 是没有反应的

Bash
curl https://www.google.com

Windows 搜索 WSL Settings,打开 WSL 设置,点击左侧网络,确认以下

  • 网络模式选 ✅Mirrored
  • ✅ 主机地址回环
  • ✅ 已启用自动代理
WSL Settings
WSL Settings

也可以用记事本记打开 C:\Users\你的用户名\.wslconfig,不存在则新建

PowerShell
notepad $env:USERPROFILE\.wslconfig

记事本输入以下内容并保存

INI
[wsl2]
networkingMode=Mirrored

[experimental]
hostAddressLoopback=true
  • networkingMode=mirrored ,WSL 默认安装的 Linux 网络走 NAT,即与 Windows 网络隔离,localhost 不互通。设置后表示走共享网络,localhost 服务是互通的
  • autoProxy=true,表示把 Windows 的代理同步到 WSL 的 Linux。默认勾选,不勾选应该是 false,如果不对就把这个加在上述的后面。
  • hostAddressLoopback=true,这个跟代理无关,顺便开启,表示启动 Web 服务器时,可以 http://ip:port 访问。但其他同局域网设备想要访问时,还需要在高级安全 Windows Defender 防火墙里,设置入站规则。
    1. 按 Win + R 输入 wf.msc 并回车,打开“高级安全 Windows Defender 防火墙”。
    2. 点左侧“入站规则”,再点右侧“新建规则”。
    3. 选“端口” -> “TCP” -> “特定本地端口”(填你的端口,如 Vite 默认的 5173)。
    4. 选“允许连接” -> 配置文件勾选“专用”和“公用”(跟你当前网络属性需要匹配) -> 起个名保存即可。

设置完后,需要关闭 WSL,再输入 wsl 进入即可

PowerShell
wsl --shutdown

如果不生效,查看 wsl 版本

PowerShell
wsl --version # 2.7.11.0

如果 wsl 版本太老了,请更新到最新版本。(还不行,检查你的代理是否开启 Allow LAN)

PowerShell
wsl --update

WSL 迁移 Linux 到非系统 C 盘

1、停止 WSL

PowerShell
wsl --shutdown

2、导出

查看你想导出名字:

PowerShell
wsl -l

导出(这里以 Ubuntu-24.04 举例):

PowerShell
wsl --export Ubuntu-24.04 D:\WSL\ubuntu.tar

3、删除旧实例

注意:

这只是删除 WSL 注册,不删除你的导出文件。

PowerShell
wsl --unregister Ubuntu-24.04

4、重新导入,并迁移到 D 盘

PowerShell
wsl --import Ubuntu-24.04 D:\WSL\Ubuntu-24.04 D:\WSL\ubuntu.tar --version 2

5、进入 WSL 后,如果显示默认 root 用户,最好设置新用户

Bash
adduser yourname

加入 sudo:

Bash
usermod -aG sudo yourname

编辑 wsl.conf

Bash
nano /etc/wsl.conf

内容如下

PowerShell
[boot]
systemd=true

[user]
default=yourname

ctrl + x 后输入 Y,退出保存,重启

PowerShell
wsl --shutdown

至此,Windows WSL 下载安装完毕。

接着下一篇将讲解 Linux 系统推荐安装哪些必备的开发工具,以及如何配置 AI 开发环境。