WSL 2 配置、迁移与 Docker AI 环境搭建

前言:为什么你不再需要虚拟机?

对于 Windows 用户来说,想要体验 Linux 环境,过去的选择只有 VMware、VirtualBox 或者双系统。但这些方案要么资源占用巨大,要么显卡直通(GPU Passthrough)配置堪比“地狱难度”。

WSL 2 (Windows Subsystem for Linux 2) 的出现彻底改变了这一局面。

  • 真内核: 自 2020 年发布以来,它拥有完整的 Linux 内核。
  • 高性能: 文件 I/O 速度大幅提升。
  • AI 神器: 它可以直接调用宿主机的 NVIDIA 显卡进行 CUDA 计算,无需在 Linux 内部折腾复杂的显卡驱动。

无论你是 X99 平台的“垃圾佬”,还是 RTX 4090 的尊贵用户,WSL 2 都是目前 Windows 上进行 AI 开发的标准答案。


第一步:极速安装

现在的 WSL 安装已经简化到了极致。只要你的 Windows 10 (2004+) 或 Windows 11 是更新的,只需一步:

  1. 右键“开始菜单”,选择 “终端 (管理员)”“PowerShell (管理员)”
  2. 重启电脑

输入以下命令并回车:

wsl --install

重启后,系统会自动弹出终端窗口,下载并安装 Ubuntu(默认为最新 LTS 版本)。安装完成后,根据提示设置你的 UNIX 用户名 (username)密码 即可。

小贴士: 如果你想重置整个 Linux 系统(相当于重装虚拟机),只需执行 wsl --unregister Ubuntu,然后再次安装即可。

第二步:优雅连接——MobaXterm

虽然微软自带的 Windows Terminal 已经很不错,但我强烈推荐使用 MobaXterm 连接 WSL,因为它自带了两个从根本上提升效率的功能:

  1. 内置 X11 Server: 可以直接在 Windows 上弹出 Linux 的图形化软件窗口(如 gedit, xclock)。
  2. 可视化 SFTP: 左侧栏直接显示 Linux 文件目录,支持拖拽上传/下载文件。

连接配置指南

  1. 打开 MobaXterm,点击左上角的 Session
  2. 选择 WSL 图标(通常在最右侧)。
  3. Basic WSL settings
    • Distribution: 下拉选择 Ubuntu
    • User: 建议保持 Default(它会自动识别你安装时创建的用户)。
  4. 点击 OK 进入。

此时,你既拥有了强大的命令行,又能像操作本地文件夹一样管理 Linux 文件。


第三步:给 C 盘“瘦身”——系统迁移大法

WSL 2 默认安装在 C 盘。随着你配置 PyTorch、安装 CUDA Toolkit 或 Docker 镜像,系统文件(ext4.vhdx)会迅速膨胀到几十 GB。

为了防止 C 盘爆红,建议在环境配置初期就将其迁移到 D 盘或其他大容量硬盘。

1. 备份(导出)

打开 PowerShell (管理员):

# 创建备份目录
mkdir D:\backup
# 导出当前系统(假设你的系统名叫 Ubuntu,可用 wsl -l -v 查看)
wsl --export Ubuntu D:\backup\ubuntu.tar

2. 删除旧系统

wsl --unregister Ubuntu

注意:这一步会彻底清空 C 盘里的 Linux 系统,请确保备份文件生成成功。

3. 导入(安装到新位置)

假设我们要把系统搬到 D:\WSL\Ubuntu

# 创建新目录
mkdir D:\WSL\Ubuntu
# 导入系统
wsl --import Ubuntu D:\WSL\Ubuntu D:\backup\ubuntu.tar

4. 恢复默认用户

导入后的系统默认会使用 root 登录,我们需要改回原来的用户名:

# 将 "你的用户名" 替换为你原本的名字
ubuntu config --default-user 你的用户名

第四步:安装 Docker (AI 开发推荐)

在 WSL 中安装 Docker 有两种方式:原生命令行安装和 Docker Desktop。

对于 AI 开发者(需要 GPU 加速),我强烈推荐使用 Docker Desktop。

为什么选 Docker Desktop?

  • 开箱即用 GPU: 只要 Windows 装好了显卡驱动,Docker 容器内直接就能识别 NVIDIA 显卡(--gpus all),无需在 Linux 里手动配置繁琐的 nvidia-container-toolkit
  • 可视化管理: 直观查看容器状态和资源占用。

安装步骤

  1. 去 Docker 官网下载并安装 Docker Desktop for Windows
  2. 打开设置 (Settings) -> General,确保勾选 "Use the WSL 2 based engine"
  3. 进入 Resources -> WSL Integration,勾选你的 Ubuntu 发行版。
  4. 点击 Apply & Restart

常用配置

  1. 在Settings->Resources -> Disk image location 中设置镜像的保存的目录
  2. 在Settings->Resources ->Proxies中设置代理,支持socks5://localhost:8898

验证 GPU 支持

在 WSL 终端中运行以下命令,如果能打印出显卡信息,说明配置成功:

docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi

常用命令速查表

任务 命令 (PowerShell / Bash)
查看 WSL 状态 wsl -l -v
关闭所有 WSL 实例 wsl --shutdown
查看 Linux 版本 lsb_release -a (在 Ubuntu 内)
访问 Windows 文件 cd /mnt/ccd /mnt/d
重置(删除) Linux wsl --unregister <发行版名称>
用资源管理器打开 explorer.exe . (在 Ubuntu 内)

总结

通过 WSL 2 + MobaXterm + Docker Desktop 这套组合拳,我们在 Windows 上构建了一个既轻量、又具备完整 Linux 特性、且能完美发挥显卡 AI 算力的开发环境。

无论你是使用 X99 平台跑本地大模型,还是进行 Web 开发,这都是目前最高效的解决方案。告别虚拟机,享受原生般的 Linux 体验吧!