Win11 下 WSL2 搭建记录
本文记录一次从零开始搭建 WSL2的完整过程,同时整理相关的关键命令。
一、什么是 WSL?
WSL(Windows Subsystem for Linux)是 Windows 提供的 Linux 子系统,使我们可以在 Windows 下直接运行原生 Linux 环境。其中:
WSL1:系统调用翻译层(已基本淘汰)
WSL2:基于轻量虚拟机,完整 Linux 内核(当前主流)
本文全部基于 WSL2 + Win11。
二、先安装,再迁移至 D 盘
2.1 安装 Ubuntu(默认在 C 盘)
1 | wsl --install |
安装完成后:首次启动会创建用户和密码
2.2 关闭 WSL
1 | wsl --shutdown |
2.3 导出 Ubuntu(生成 tar 备份)
先查看发行版名称:
1 | wsl -l -v |
然后导出:
1 | wsl --export Ubuntu D:\WSL\ubuntu_backup.tar |
该 tar 文件包含:
1 | -系统 |
2.4 注销原有 Ubuntu(删除 C 盘那份)
1 | wsl --unregister Ubuntu |
⚠️ 此操作会删除 C 盘里的 Ubuntu,但 tar 备份是完整的。
2.5 导入到 D 盘
先创建目标目录,例如:
1 | D:\WSL\Ubuntu |
然后执行:
1 | wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\ubuntu_backup.tar --version 2 |
此时:Ubuntu 被重新注册,ext4.vhdx 会生成在 D 盘
三、成功标志与环境说明
当你看到类似提示:
1 | username@HOSTNAME:~$ |
并伴随提示:
1 | To run a command as administrator (user "root"), use "sudo <command>". |
说明:Ubuntu 已正常启动,当前为普通用户,可通过 sudo 获取管理员权限
四、安装CUDA
在确认 WSL2 已正确启用、Ubuntu 子系统可正常运行,且 Windows 侧显卡驱动已支持 WSL GPU 后,下一步便是为 Linux 环境配置 CUDA 开发工具链。
考虑到 稳定性、维护成本以及 WSL 环境的兼容性,本文选择 Ubuntu 官方仓库提供的 CUDA Toolkit,而非 NVIDIA 官方 runfile 安装方式。
4.1 更新系统软件源
在安装 CUDA 之前,建议先同步系统的软件索引并升级已有组件,以避免依赖冲突:
1 | sudo apt update |
该步骤不会影响 Windows 系统,只作用于 WSL 内部的 Ubuntu 文件系统。如果提示可升级大量基础库,属于正常现象,建议确认执行。
4.2 查询可用的 CUDA Toolkit 版本
Ubuntu 官方仓库并不会提供所有 NVIDIA 官网的 CUDA 版本,而是提供 经过适配与验证的稳定版本。可以通过以下命令查看当前可用的 CUDA Toolkit:
1 | apt search nvidia-cuda-toolkit |
典型输出如下:
1 | nvidia-cuda-toolkit 12.0.x |
这意味着当前系统可直接安装 CUDA 12.0,对大多数深度学习与科研项目已经完全足够。
4.3 安装 CUDA Toolkit
直接通过 apt 安装即可:
1 | sudo apt install nvidia-cuda-toolkit -y |
该命令会自动安装以下内容:
CUDA 编译器(nvcc)
CUDA Runtime 与开发库
标准头文件与调试工具
安装过程中无需手动配置环境变量,这是官方仓库方案的一个重要优势。
4.4 验证 CUDA 安装状态
安装完成后,首先检查 CUDA 编译器是否可用:
1 | nvcc --version |
若输出类似以下内容,说明 CUDA Toolkit 已成功安装:
1 | Cuda compilation tools, release 12.0 |
接着确认 nvcc 是否已加入系统 PATH:
1 | which nvcc |
在官方仓库方案下,返回路径通常为:
1 | /usr/bin/nvcc |
这是 完全正常且推荐的结果,无需额外修改 .bashrc 或手动添加环境变量。
4.6 小结
至此,WSL2 下的 CUDA 开发环境已经搭建完成:
无需手动配置环境变量
无需下载 NVIDIA runfile
可直接用于 PyTorch、CUDA C++ 或科研项目开发
后续只需根据具体项目需求,安装对应的深度学习框架或编译 CUDA 程序即可。
五、WSL 使用
推荐的长期结构:
1 | 内容 |
Windows 访问 Linux:
1 | \\wsl$\Ubuntu\home\<user> |
Linux 访问 Windows:
1 | /mnt/c |
WSL(Windows 侧)管理命令【PowerShell / CMD】
⚠️ 以下命令 在 Windows 终端 / PowerShell / CMD 中执行
1 | wsl --list --verbose |
WSL 迁移到 D 盘的核心命令串(重点)
1 | wsl --shutdown |
📌 说明:
D:\WSL\Ubuntu 下会生成 ext4.vhdx
以后 Ubuntu 的所有 Linux 文件都物理存放在 D 盘
WSL 内 Ubuntu:系统与软件管理
⚠️ 以下命令 在 Ubuntu 终端中执行
1 | sudo apt update |
系统信息与资源查看
1 | uname -a |
目录与文件操作
1 | pwd |
Windows 与 WSL 文件互通
1 | cd /mnt/c |
权限与用户相关
1 | whoami |
开发常用(Git / Python)
Git
1 | git clone https://github.com/user/repo.git |
Python 虚拟环境
1 | python3 --version |
更新
1 | sudo apt update |
进程 / 网络 / 排错
1 | top |
WSL 救命级命令
1 | wsl --shutdown |