WSL2安装教程:从零部署到迁移非系统盘完整指南

WSL2安装配置与迁移全流程教程,助力AI开发者搭建Linux环境
本文详细介绍了在Windows系统上安装WSL2的完整流程,包括开启Windows底层功能、安装WSL2内核与Ubuntu 22.04、将子系统从C盘迁移到D盘三大步骤。文章解释了WSL2对AI开发的必要性——主流AI框架优先支持Linux,并介绍了WSL2对GPU直通和Docker的原生支持,是Windows平台搭建AI开发环境的最佳方案。
为什么AI开发需要WSL2
WSL(Windows Subsystem for Linux)是微软提供的一项功能,允许用户在Windows系统中直接运行Linux环境。WSL项目始于2016年,最初由微软与Canonical(Ubuntu的母公司)合作开发。WSL1通过一个兼容层将Linux系统调用翻译为Windows NT内核调用,类似于一个实时翻译器。而WSL2在2019年发布,彻底改变了架构——它在Hyper-V虚拟化层上运行一个完整的Linux 5.x内核,这意味着几乎所有Linux程序都能原生运行,文件系统性能相比WSL1提升了20倍以上。这一架构变化也是Docker Desktop后来选择基于WSL2运行的根本原因。
对于AI开发者来说,WSL2几乎是一个必备工具——大量AI框架和工具包最初都是在Linux环境下开发的,直接在Windows上安装往往会遇到各种兼容性问题,轻则报错不断,重则根本无法安装。具体来说,PyTorch、TensorFlow、JAX等主流AI框架的底层大量依赖Linux特有的系统调用和工具链。例如,NVIDIA的CUDA工具包在Linux上的驱动支持更为完善,多进程数据加载(DataLoader)依赖Linux的fork()系统调用,而conda和pip的许多预编译包(wheel)优先为Linux构建。此外,Hugging Face、vLLM、DeepSpeed等新兴AI工具几乎全部以Linux为第一开发平台,Windows版本往往滞后数月甚至缺失。
以OpenCloud等AI工具为例,官方文档通常会强烈推荐在Linux环境下进行部署。与其折腾双系统或虚拟机,不如直接在Windows中安装一个轻量级的Linux子系统,既省事又高效。
WSL1 vs WSL2有什么区别? 两者的核心差异在于底层架构。WSL1使用翻译层将Linux系统调用转换为Windows系统调用,虽然启动速度快,但兼容性有限,无法运行Docker等依赖完整内核的工具。WSL2则采用了真正的Linux内核,运行在轻量级虚拟机中,兼容性远超WSL1,适合95%以上的使用场景。因此,本教程直接选择WSL2进行安装。
安装前的准备工作
系统要求
- Windows 10(版本2004及以上)或 Windows 11
- 确保系统已更新到最新版本
- 足够的磁盘空间(建议非系统盘预留10GB以上)
整体安装流程概览
整个WSL2安装过程可以分为三大步骤:
- 开启Windows底层支持:启用Linux子系统功能和虚拟机平台
- 安装WSL2内核并部署Ubuntu:下载内核更新包,安装Linux发行版
- 迁移到非系统盘:将安装在C盘的子系统迁移到D盘,释放系统盘空间
第一步:开启Windows底层功能
首先,搜索 PowerShell,右键选择 "以管理员身份运行",这一步非常关键,普通权限无法执行后续命令。
在PowerShell中依次执行以下两条命令,分别开启Linux子系统支持和虚拟机平台功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
这里使用的DISM(Deployment Image Servicing and Management)是Windows内置的系统映像管理工具,常用于启用或禁用Windows可选功能。这两条命令启用的两个功能各有分工:Microsoft-Windows-Subsystem-Linux 提供了WSL的基础框架和用户态支持,而 VirtualMachinePlatform 则启用了Windows的轻量级虚拟化能力(基于Hyper-V的子集),这是WSL2运行真实Linux内核所必需的。值得注意的是,启用虚拟机平台并不等于安装完整的Hyper-V,它不会影响VMware或VirtualBox等第三方虚拟化软件的正常使用(较新版本已实现兼容)。
这两条命令只是开启Windows电脑上的内置功能,执行速度非常快。完成后建议重启电脑使设置生效。

第二步:安装WSL2内核与Ubuntu系统
更新WSL2内核
由于Windows默认不包含Linux的底层支持包,我们需要手动安装WSL2内核更新。在PowerShell中执行:
wsl --update
这一步需要从网络下载内核包,速度可能较慢,大约需要 10-20分钟。虽然也可以从微软官网手动下载安装,但命令行方式操作步骤最为简洁。
安装完成后,将WSL默认版本设置为2:
wsl --set-default-version 2
选择并安装Ubuntu版本
先查看可用的Linux发行版列表:
wsl --list --online
可以看到Ubuntu 26.04、24.04、22.04等多个版本。这里推荐选择Ubuntu 22.04,原因如下:
- 26.04太新:部分底层依赖包可能存在兼容性问题
- 24.04尚可:维护期较长,但生态成熟度不如22.04
- 22.04最稳定:经过数年验证,仍有一年多的官方维护期,AI开发生态最为成熟
Ubuntu采用年份命名规则(如22.04表示2022年4月发布),偶数年的04版本为LTS(Long Term Support)长期支持版,享有5年官方维护。22.04的维护期持续到2027年4月,期间会持续收到安全补丁。在AI开发领域,版本选择尤为重要:CUDA 11.x/12.x的官方deb安装包、conda-forge的预编译库、以及各种AI项目的CI/CD测试矩阵,都以Ubuntu 22.04为基准环境。选择过新的版本可能导致glibc版本不匹配、Python默认版本冲突等隐蔽问题,排查起来非常耗时。
执行安装命令:
wsl --install -d Ubuntu-22.04

下载安装完成后,系统会自动提示设置用户名和密码。输入自定义的用户名和密码即可进入Linux环境。输入 exit 可退出子系统。
第三步:迁移到非系统盘(关键步骤)
默认情况下,WSL2会将Linux子系统安装在C盘,随着开发环境的搭建,占用空间会迅速膨胀。WSL2的每个Linux发行版实际上以一个ext4格式的虚拟硬盘文件(.vhdx)存储在Windows文件系统中,默认路径位于C盘的 %LOCALAPPDATA%\\Packages 目录下。随着安装Python环境、下载预训练模型文件、存储数据集等操作,这个虚拟磁盘可能膨胀到数十甚至上百GB。因此,将WSL2迁移到D盘等非系统盘是非常必要的操作。
导出当前系统镜像
首先关闭WSL服务:
wsl --shutdown
然后将当前系统导出为tar包:
wsl --export Ubuntu-22.04 D:\\\\WSL\\\\ubuntu-22.04.tar
需要提前在D盘创建WSL文件夹。导出过程本质上是将整个Linux文件系统打包为标准的Unix归档格式(tar),所有已安装的软件、配置文件、用户数据都会完整保留。导出需要几分钟,文件大小约1GB左右。

卸载C盘版本并重新导入到D盘
卸载C盘的Ubuntu:
wsl --unregister Ubuntu-22.04
从D盘的tar包重新导入,指定安装路径为D盘:
wsl --import Ubuntu-22.04 D:\\\\WSL\\\\Ubuntu-22.04 D:\\\\WSL\\\\ubuntu-22.04.tar
导入时,系统会将tar包解包为新的.vhdx虚拟磁盘文件,存放在指定的D盘目录中。导入完成后,Linux系统就完全位于D盘了。
配置默认登录用户
迁移后重新进入WSL,默认会以root用户登录。我们需要创建并配置普通用户:
# 创建新用户
adduser 你的用户名
# 赋予管理员权限
usermod -aG sudo 你的用户名

然后设置默认登录用户。编辑 /etc/wsl.conf 文件,添加以下内容:
[user]
default=你的用户名
wsl.conf 是WSL的实例级配置文件,除了设置默认用户外,还可以配置自动挂载Windows磁盘的行为、网络模式、内存限制等参数。保存后,需要完全关闭WSL服务再重新进入才能生效:
wsl --shutdown
wsl
此时进入系统,显示的就是你创建的普通用户了。
日常使用方式
安装配置完成后,日常使用WSL2非常方便,有多种启动方式:
- 方式一:点击开始菜单,找到Ubuntu图标直接启动
- 方式二:打开CMD或PowerShell,输入
wsl回车即可进入 - 方式三:在Windows Terminal中直接选择Ubuntu标签页
三种方式进入的都是同一个Linux环境,选择自己习惯的即可。
WSL2与GPU加速及Docker的协同
WSL2的一个重要优势是对GPU直通的原生支持。从Windows 11和较新的Windows 10版本开始,NVIDIA GPU驱动可以直接穿透到WSL2内部,无需在Linux子系统中单独安装GPU驱动——只需在Windows侧安装最新的NVIDIA驱动即可。这意味着在WSL2中可以直接运行CUDA程序、训练深度学习模型,性能接近原生Linux环境。
此外,Docker Desktop的WSL2后端允许容器直接运行在Linux内核上,避免了传统Hyper-V后端的性能损耗,使得基于容器的AI开发工作流(如使用NVIDIA NGC容器部署推理服务)变得极为流畅。安装Docker Desktop后,只需在设置中勾选"Use the WSL 2 based engine",即可在WSL2环境中无缝使用Docker命令。
总结
本教程完整覆盖了WSL2从零安装到迁移非系统盘的全过程。回顾一下关键步骤:开启Windows底层功能 → 安装WSL2内核和Ubuntu 22.04 → 导出迁移到D盘 → 配置默认用户。
相比传统的双系统或虚拟机方案,WSL2具有启动快(通常在2秒内)、资源占用低、与Windows无缝集成(可直接在Windows资源管理器中访问Linux文件系统,路径为 \\\\wsl$)等优势,是AI开发者在Windows平台上搭建Linux环境的最佳选择。安装完成后,你就可以在这个Linux环境中自由安装PyTorch、TensorFlow、CUDA等AI开发工具链,享受原生Linux的开发体验。
核心要点
- WSL2是Windows上运行Linux的最佳方案,采用真正的Linux内核运行在轻量级虚拟机中,兼容95%以上的开发场景
- 推荐安装Ubuntu 22.04版本,兼顾稳定性和生态成熟度,是CUDA和主流AI框架的基准测试环境
- 安装流程分三步:开启Windows底层功能(DISM启用子系统和虚拟机平台)、安装WSL2内核与Ubuntu、迁移到非系统盘
- 通过导出tar包再导入的方式,可将WSL2从C盘完整迁移到D盘,释放系统盘空间,所有数据和配置完整保留
- 迁移后需重新配置默认登录用户,关闭所有WSL进程后重启才能生效
- WSL2原生支持NVIDIA GPU直通和Docker集成,可直接进行深度学习训练和容器化部署
相关推荐
教程攻略Cursor+Codex双IDE协同:开源项目二开实战方法论
基于实战经验总结的开源项目二次开发完整方法论,详解Cursor+Codex双IDE协同工作流,涵盖二开七环节、MVP验证、AI读源码技巧,帮助开发者三天跑通项目、两周完成业务集成。
教程攻略Cursor多Agent实战:50分钟搭建Next.js全栈博客
使用Cursor IDE多Agent协作模式,50分钟内从零搭建全栈博客。涵盖Next.js、Clerk认证、Supabase数据库集成,详解4个AI Agent分阶段开发流程与关键避坑经验。
教程攻略从零搭建AI软件工厂:Cursor工程师的多Agent协作实战经验
Cursor工程师Eric分享AI软件工厂构建实战:从自动化六层级、护栏设计、并行Agent管理到规模化扩展,详解如何用多Agent协作实现7×24小时高效软件开发。