Windows AI 开发环境搭建:WSL2 安装配置与 GPU 直通实践
发布时间:2026/9/3 20:32:54 锦皓数字建站

最近很多开始用 AI 编程、跑本地模型的朋友反馈Windows 下明明装了显卡驱动也能用一些工具但总感觉环境别扭。要么是依赖装不上要么是路径分隔符出错要么是 Docker 跑不起来还有一部分人经常在群里问“为什么我的 AI 工具请求失败率那么高”“积分省不下来”。今天这篇文章直接从系统层面解决这个问题给 Windows 装上 WSL2把 AI 开发环境和推理环境统一放到 Linux 子系统里跑。先说清楚为什么值得看。WSL2 不是老掉牙的“虚拟机替代品”它现在是 Windows 上跑 AI 工作流比较稳的基础方案。装了 WSL2 之后CUDA 可以直接透传给 Linux 子系统nvidia-smi 在 Ubuntu 里能直接看到 GPU跑大模型推理、跑 AI 编程 Agent、跑 Docker 容器都更顺畅不会出现 Windows 原生环境常见的 DLL 缺失、原生依赖编译失败、CUDA 版本冲突这类问题。省积分的逻辑也在这里环境稳定了AI 辅助工具的请求重试少了本地能推理的任务就不需要反复调用云端 API长期使用成本自然明显下降。这篇文章会带你完成从系统检查、WSL2 安装、Ubuntu 配置、GPU/CUDA 验证到 Docker 容器化部署、本地模型与 AI 编码工具接入的完整流程并给出资源占用观察方法和常见坑的排查清单。整个过程不需要重装 Windows不需要卸载现有工具适合正在使用 AI 编程助手、本地大模型、Dify 工作流、ComfyUI 或想跑 Linux 深度学习框架的开发者收藏。1. WSL2 在 AI 使用中的核心能力速览能力项说明系统定位Windows 官方支持的 Linux 子系统环境适合承载 AI 开发、推理、容器任务GPU 支持通过 WSL2 的 GPU 直通能力CUDA、PyTorch、TensorFlow 可直接使用 Windows 上的 NVIDIA 显卡主要用途搭建 AI 编程工具链、跑本地大模型、部署 Docker 容器、安装 Linux 原生 AI 依赖支持平台Windows 10 2004、Windows 11需要开启虚拟化功能推荐配置8GB 内存起步16GB 以上更稳NVIDIA 显卡需要较新驱动启动方式命令行wsl --install安装wsl进入子系统也支持 Windows 终端直接打开是否支持 Docker支持可安装原生 Docker Engine 和 NVIDIA Container Toolkit是否支持批量任务支持适合批处理、队列任务、定时脚本等场景是否提供 API 服务支持常见反向代理和端口转发子系统内服务可直接访问适合场景AI 编程、深度学习训练、本地推理服务、数据预处理、模型转换、文件批处理从实际体验看WSL2 最大价值不是“多一个 Linux 终端”而是把 AI 工具链对操作系统的要求一次性满足。很多开源项目只提供 Linux 安装脚本模型推理库的预编译包也只发 Linux 版本源码编译在 Windows 上要折腾几个小时换到 WSL2 往往一条命令就装完。2. 适用场景与使用边界WSL2 适合四类人。第一类是重度使用 AI 编程助手的开发者。无论是 Codex 桌面版的命令行替代方案、各种 AI Agent还是把开源代码补全模型接入编辑器Linux 环境下权限管理、代理配置、脚本执行都干净很多减少“工具没权限”“路径不存在”“目录分隔符不识别”这类环境报错。第二类是跑本地模型的用户。Ollama、vLLM、ComfyUI、Diffusers、TTS、OCR 这些项目在 Linux 下的安装文档更全、社区反馈最多。WSL2 能直接调用 Windows 上的 NVIDIA 显卡显存分配和 Linux 服务器基本一致跑不出来时可以照抄别人的 Linux 排障命令不必再套一层 Windows 翻译。第三类是需要 Docker 跑 AI 工作流的用户。Windows 上单独跑 Docker Desktop 会同时占用 WSL2 后端和 Hyper-V 资源如果你懂一些 Docker 配置直接在 WSL2 里装原生 Docker Engine再配 NVIDIA Container Toolkit 做 GPU 直通比套一层 Docker Desktop 少很多中间层出问题也好排查。第四类是搞数据批处理的人。OCR 批量解析、图片批量预处理、文档格式转换、模型推理任务批量执行Linux 下的 find、xargs、rsync、screen 组合起来效率很高写一遍脚本可以在 WSL2 和远程 Linux 服务器之间无缝迁移。使用边界要清楚WSL2 不是生产级 Linux 服务器替代品。它是开发环境不是高可用服务端。如果你要长期部署对外提供服务的 API还是应该放到真正的 Linux 云服务器或物理机上并做好访问控制和数据备份。同时在 WSL2 里跑 AI 工具、使用第三方模型和 API 服务时要注意合法授权边界只处理你有权使用的数据不把未授权的版权内容、他人隐私照片、受保护的音频素材塞进非授权推理环境涉及人脸生成、声音克隆、数字人项目时要确保肖像权和声音归属权已经获得授权调用云端 AI API 时也要遵守服务商条款不要尝试绕过内容审核和地域限制。本文只讨论正常环境搭建和 AI 应用集成。另一个边界是显卡型号。WSL2 的 GPU 直通在 NVIDIA 显卡上支持最完善AMD 显卡也能用但部分 AI 框架的 ROCm 兼容性需要单独验证Intel 核显或没有独显的机器只能靠 CPU 推理。如果主要需求是跑大模型建议先确认显卡驱动支持 WSL2 的 GPU 并行计算能力。3. 环境准备与前置条件开始安装之前先花 5 分钟检查系统状态能省掉后面一大半报错。3.1 确认 Windows 版本WSL2 要求 Windows 10 2004 及以上版本或者 Windows 11。更稳妥的做法是先把 Windows Update 打全因为 WSL2 的内核更新组件、应用商店版本、Windows Terminal 都依赖系统更新。查看系统版本winver如果系统显示版本号低于 2004先完成系统更新再继续。3.2 开启虚拟化支持WSL2 基于 Hyper-V 虚拟化平台工作BIOS 里需要开启虚拟化功能VT-x / SVMWindows 功能里也要启用相关组件。开机进入 BIOS 的操作因主板而异这里只说检查方法。在 PowerShell 中查看虚拟化是否已启用systeminfo | findstr /i 虚拟化如果显示“已在固件中启用虚拟化”就没问题。如果没有启用需要重启进入 BIOS找到 Intel Virtualization Technology 或 AMD SVM Mode设置为 Enabled保存重启。3.3 检查 NVIDIA 驱动WSL2 的 GPU 直通不需要在 Linux 子系统里额外安装 NVIDIA 驱动它直接复用 Windows 上的驱动。但驱动版本不能太旧建议使用 NVIDIA 官方支持 WSL2 的 Game Ready 或 Studio 驱动。打开 PowerShell 查看驱动版本nvidia-smi输出里会显示驱动版本和 CUDA 版本。WSL2 里是否能用 GPU最终以子系统内执行nvidia-smi为准这一步先确认 Windows 侧能识别显卡。3.4 磁盘空间规划WSL2 的 Ubuntu 默认安装在 C 盘会生成一个虚拟硬盘文件大小会随使用增长。安装 AI 工具链、模型缓存、conda 环境后占用很容易超过 20GB。如果 C 盘空间紧张建议提前规划好安装位置后续通过 WSL 导出导入迁移到 D 盘或其它数据盘。可以先用 PowerShell 查看当前 C 盘剩余空间Get-PSDrive C3.5 准备终端工具Windows Terminal 配合 WSL2 是最舒服的组合支持多标签页、字体渲染和快捷键操作。如果系统没有自带 Windows Terminal可以在 Microsoft Store 搜索安装。后面所有命令都在 Windows Terminal 里执行比较方便。4. 安装 WSL2 与 Ubuntu 系统安装 WSL2 的步骤已经简化到一条命令但很多人仍然卡在“旧版本升级”和“发行版选择”两个问题上。4.1 一条命令安装默认环境以管理员身份打开 PowerShell 或 Windows Terminal执行wsl --install这条命令会自动完成四件事启用 WSL2 所需的 Windows 功能、安装 WSL2 内核、下载并安装默认的 Ubuntu 发行版、将默认版本设置为 WSL2。安装完成后提示重启就重启一次。重启后首次进入 Ubuntu 会要求设置用户名和密码这个用户名不需要和 Windows 用户名一致但一定要记住因为后续 sudo 操作会用到。4.2 指定安装 Ubuntu 22.04 或 24.04wsl --install默认安装的发行版可能不是你想要的。AI 生态里 Ubuntu 22.04 和 24.04 兼容性最好很多预编译 wheel 直接支持。建议先查看可用的发行版列表wsl --list --online然后安装指定版本wsl --install Ubuntu-22.04如果提示参数错误或找不到发行版可能是 WSL 版本不是最新。执行下面命令升级 WSLwsl --update4.3 查看并切换 WSL 版本安装好之后查看当前各发行版的 WSL 版本wsl -l -v输出示例NAME STATE VERSION * Ubuntu-22.04 Running 2如果 VERSION 显示为 1需要手动切换wsl --set-version Ubuntu-22.04 2如果提示需要启用虚拟机平台执行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart然后重启电脑。4.4 指定默认用户进入子系统安装完成后直接用wsl命令进入默认用户。如果希望以 root 身份执行某些操作可以运行sudo -i如果每次打开希望进入指定发行版wsl -d Ubuntu-22.044.5 更换 apt 软件源WSL2 安装完成后Ubuntu 默认的 apt 源可能访问较慢尤其在下载 Python 依赖、Docker 组件时可能频繁超时。更换为国内镜像源能明显提升安装速度。先备份原有源sudo cp /etc/apt/sources.list /etc/apt/sources.list.bakUbuntu 22.04 的源格式可以直接替换为清华或阿里云的镜像地址。编辑文件sudo vim /etc/apt/sources.list将其中archive.ubuntu.com和security.ubuntu.com替换为mirrors.aliyun.com或mirrors.tuna.tsinghua.edu.cnUbuntu 22.04 的形式如下deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse如果习惯国内社区方案也可以直接使用以下命令把镜像源写入。注意清华源地址因 HTTPS 证书可能导致额外签名验证流程多数情况下用阿里的 HTTP 源更省事。换完后执行sudo apt update sudo apt upgrade -y这里建议不要跳过 update后续安装 Python、Docker、CUDA 工具链时能避免很多“找不到包”的问题。5. CUDA、GPU 直通与 AI 推理环境验证WSL2 里跑 AI 模型最核心的验证就是 GPU 能不能被 Linux 子系统直接调用。装好 Ubuntu 并不等于能跑 CUDA需要按顺序做四次验证。5.1 WSL2 内执行 nvidia-smi进入 WSL2nvidia-smi如果输出和 Windows 下一样能看到 NVIDIA 驱动版本和 GPU 型号说明 GPU 直通已经生效。这个命令也会显示当前显存使用量后续跑模型时可以开着另一个终端实时观察。常见问题提示nvidia-smi: command not found。WSL2 的驱动不需要手动安装但需要 Windows 侧驱动更新到支持 WSL 的版本。可以执行下面命令查看系统里是否已有 NVIDIA 库ls /usr/lib/wsl/lib/nvidia-smi如果这个文件存在试试加路径执行sudo /usr/lib/wsl/lib/nvidia-smi如果文件存在但命令找不到说明 PATH 里缺少添加。WSL 的配置文件中一般会自动加入/usr/lib/wsl/lib可以手动检查并添加echo export PATH$PATH:/usr/lib/wsl/lib ~/.bashrc source ~/.bashrc5.2 安装 CUDA ToolkitWSL2 里不需要安装完整的 NVIDIA 内核驱动但运行 cuDNN、构建部分需要 CUDA 工具的库时需要在 Linux 环境内装 CUDA Toolkit。推荐按照 NVIDIA 官方提供的 WSL-Ubuntu 仓库安装避免直接下载 runfile 导致内核模块冲突。这里以 Ubuntu 22.04 为例先添加 NVIDIA 官方镜像公钥和仓库。不同版本对应命令会有差异务必以 NVIDIA 官网的 WSL 安装指引为准。仓库添加完成后sudo apt update sudo apt install -y cuda-toolkit-12-4如果只想验证 PyTorch 环境而不想安装完整 CUDA Toolkit也可以跳过这一步直接安装 PyTorch 的 CUDA 版本PyTorch 会自动调用 WSL2 里暴露的 CUDA 运行时。5.3 安装 miniconda 并创建隔离环境AI 项目之间依赖经常冲突A 项目要 PyTorch 2.0B 项目要 2.1硬装在同一环境里迟早出问题。建议在 WSL2 里安装 miniconda每个项目建一个独立虚拟环境。下载 minicondacd ~ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh安装过程中一路回车接受协议安装位置默认即可最后会问是否执行conda init选择 yes。重新打开终端后命令行前面会出现(base)前缀。创建 AI 环境conda create -n ai python3.10 -y conda activate ai5.4 安装 PyTorch 并验证 GPU 可用以 CUDA 12.x 为例安装 PyTorchpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121验证 GPU 是否可用python -c import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))如果输出True说明 PyTorch 已经能直接调用显卡。运行一个简单矩阵计算测试实际传输import torch x torch.rand(1024, 1024).cuda() y torch.rand(1024, 1024).cuda() z torch.matmul(x, y) print(z.shape)同时开另一个终端执行watch -n 1 nvidia-smi能看到显存占用和 GPU 利用率跳动说明整条 GPU 调用链路已经打通。5.5 安装常见 AI 工具链基础环境验证通过后按项目需求安装常用工具。做文档解析和 OCR 的装 PaddleOCR 或 RapidOCR做语音的装 funasr做图像生成本地跑的会用到 diffusersAI 编码工具按项目官方文档在 WSL2 里执行安装脚本。所有工具都建议在 conda 环境内安装不要装在 base 环境里避免后面环境搞乱。6. 在 WSL2 里安装 Docker 并配置 GPU 直通Docker 是部署 AI 服务的主要方式之一。很多教程推荐 Windows 用户装 Docker Desktop但 Docker Desktop 在 Windows 上会额外启动一个 WSL2 发行版占用更多内存配置文件也更绕。如果你主要工作已经迁移到 WSL2直接在子系统里安装原生 Docker Engine 更清爽。6.1 安装 Docker Engine在 WSL2 的 Ubuntu 中执行官方安装脚本curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh安装完成后将当前用户加入 docker 组避免每次执行都加 sudosudo usermod -aG docker $USER重新进入 WSL2 后生效。启动并设置开机自启sudo systemctl enable docker sudo systemctl start docker需要说明的是WSL2 默认不运行 systemd如果在执行systemctl start docker时提示System has not been booted with systemd有多种处理方式。推荐使用官方 WSL 配置启用 systemd在/etc/wsl.conf中添加[boot] systemdtrue然后退出 WSL2在 PowerShell 中执行wsl --shutdown wsl -d Ubuntu-22.04再次执行systemctl status docker就能正常管理 Docker 服务。6.2 验证 Docker 运行docker run hello-world如果看到Hello from Docker!说明容器能正常运行。6.3 安装 NVIDIA Container Toolkit为了让容器里能调用 GPU需要安装 NVIDIA Container Toolkit。先添加仓库curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg再按官方文档添加软件源安装sudo apt update sudo apt install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtimedocker sudo systemctl restart docker6.4 用 GPU 容器验证运行带 GPU 的容器执行nvidia-smidocker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi如果输出 GPU 信息说明容器已经能直接访问显卡。接下来就可以用 Docker 镜像跑各种 AI 推理服务比如本地模型推理服务、OCR 服务、语音克隆服务等。容器化的优势是环境彻底隔离不会污染宿主机里的 Python 环境删掉镜像就能完全清理干净很适合做批量任务的服务容器。6.5 端口与访问方式WSL2 与 Windows 共享网络子系统内启动的 Web 服务可以直接通过http://127.0.0.1:端口访问不需要额外做端口转发。如果子系统中的服务需要被局域网其他设备访问需要在 Windows PowerShell 中查看子系统 IP 或启用端口转发不过日常 AI 开发基本用不到。7. 省积分提效的 AI 落地组合配置系统层环境搭好之后最终目的是让 AI 工具跑得更顺云端 API 少失败本地模型能干活。分享几套可以直接落地的组合配置。7.1 本地模型服务Ollama WSL2不想为每个小任务都调用云端 API可以直接在 WSL2 里装 Ollamacurl -fsSL https://ollama.com/install.sh | sh启动服务ollama serve拉取一个小模型测试ollama run qwen2.5:7bOllama 默认监听127.0.0.1:11434支持 OpenAI 兼容的 API 格式。很多 AI 编程插件、文本处理工具可以直接配置http://127.0.0.1:11434/v1作为自定义模型端点。这一步价值很明显对于能接受 7B 模型质量的日常场景完全不用消耗云端积分对于必须用云端旗舰模型的场景把简单任务留在本地只在复杂逻辑和代码审查时使用云端 API长期能省下不少 API 花费。7.2 DeepSeek、Codex 等 AI 编程工具链AI 编程工具目前最流行两类使用方式。一种是 Codex 桌面版界面的操作一种是命令行 Agent 的方式。命令行 Agent 多数是 Node.js 或 Python 包WSL2 下不需要额外兼容 Windows 原生的路径问题。假设要安装和处理项目代码直接在 WSL2 里把代码仓库放在 Linux 文件系统下不要放在/mnt/c的 Windows 目录。原因稍后说明。AI 编程工具要接入本地模型或第三方 API 服务时注意配置环境变量。可以在~/.bashrc中添加export OPENAI_API_KEY你的密钥 export BASE_URLhttp://127.0.0.1:11434/v1配置完成后source ~/.bashrc。API 密钥不要写死在代码仓库里更不要提交到 Git。7.3 批量任务与数据处理AI 使用过程中很大一部分“积分浪费”不是模型能力不行而是任务执行不稳定导致重复请求。WSL2 里跑批量推理任务时推荐用 screen 或 tmux 管理会话避免 SSH 断开导致任务中断。示例对一批图片做 OCR 解析用 Python 脚本遍历目录输出 Markdown 文件使用 GPU 推理。screen -S ocr_batch conda activate ai python batch_ocr.py --input_dir ./docs --output_dir ./output按CtrlA然后按D脱离会话。任务继续后台运行随时可以用screen -r ocr_batch回到任务界面。不要在 Windows 终端直接关窗口那样可能中断 WSL2 里的进程。7.4 代码文件存放位置Linux 还是 /mnt/c一个影响 AI 工具链效率的重要细节项目文件要放在 WSL2 的 Linux 文件系统内比如~/projects不要放在/mnt/c/Users/你的用户名/Desktop这类 Windows 目录下。Windows 目录在 WSL2 里是通过 9P 协议挂载的跨文件系统读写明显慢于原生的 Linux ext4 文件系统。大量小文件操作时差距更大。很多人在 Windows 上运行 AI 项目卡顿把项目移到 Linux 文件系统后速度提升明显。目录规划示例mkdir -p ~/projects mkdir -p ~/data/input mkdir -p ~/data/output mkdir -p ~/models模型文件也统一放在~/models下方便设置HF_HOME、MODEL_PATH等环境变量。7.5 安装 Dify 等 AI 工作流平台时的注意点如果你在 Windows 上想跑 Dify 这类 AI 应用编排平台官方推荐 Docker 部署。如果直接使用 Docker Desktop for Windows会拉起 Docker Desktop 自带的 WSL2 后端内存占用较大端口映射也会有额外一层路由。如果你已经按本文在 WSL2 内部署了原生 Docker Engine可以改用 WSL2 内部署 Dify避免多套 Docker 环境抢占资源。Dify 的部署以官方 compose 文件为准不要随意拼接网上流传的旧版本命令。8. 资源占用与性能观察WSL2 默认会占用一定比例的物理内存和 CPUWindows 会动态调整。但如果你同时开 Windows 应用、浏览器、Docker 容器、本地大模型就需要主动控制资源分配否则会出现 Windows 卡顿、WSL2 内 OOM 被杀进程、推理速度骤降的情况。8.1 查看 WSL2 资源占用在 WSL2 内执行free -h df -h / nvidia-smi分别看内存、磁盘、显存占用。如果内存几乎用满说明需要限制 Windows 侧内存占用或扩大 WSL2 的可用内存。8.2 用 .wslconfig 控制资源上限WSL2 允许用户通过.wslconfig文件配置 CPU 和内存上限。编辑C:\Users\你的用户名\.wslconfig推荐配置示例[wsl2] memory16GB processors8 swap8GB localhostForwardingtrue然后执行wsl --shutdown再重新进入 WSL2 生效。配置里的数字需要根据本机物理内存调整。机器只有 16GB 内存给 WSL2 分配 12GB 就会造成 Windows 卡顿机器有 32GB可以分给 WSL2 20GB。不要在 AI 任务高峰期直接改配置先保存文件等任务结束再执行wsl --shutdown。8.3 显存观察方法WSL2 里跑模型显存占用可以用nvidia-smi实时看watch -n 2 nvidia-smi更直观的方案是装nvitoppip install nvitop nvitop它会按进程显示显存占用适合排查“哪个 Python 进程没有释放显存”这类问题。如果经常跑 long-running 任务建议在 Python 代码里加上推理完成后的显存清理逻辑比如设置torch.cuda.empty_cache()避免多批次任务叠加导致显存不足。8.4 性能损耗说明从实测项目反馈看同样的 PyTorch 训练或推理脚本在 WSL2 和原生 Linux 服务器上的差距非常小。WSL2 的 GPU 直通已经比较成熟主要瓶颈通常出现在文件跨系统读写、CPU 密集型数据加载和内存不足导致的 swap 频繁读写上。如果你发现某段代码在 WSL2 里比预期慢很多先检查是不是模型权重文件放在/mnt/c下面了把它移动到~/models再跑一次往往有明显提升。9. 常见问题与排查方法问题现象可能原因排查方式解决方案wsl命令提示无法识别WSL 组件未安装或系统版本过旧PowerShell 执行wsl --status以管理员身份执行wsl --install并重启提示“适用于 Linux 的 Windows 子系统必须更新到最新版本”WSL 内核版本过旧执行wsl --update更新 WSL 后重试查看 WSL 版本Ubuntu 启动后停留在普通用户无法执行 sudo首次配置的用户密码未记住尝试sudo -i输入当前用户密码重置密码Windows PowerShell 执行wsl -d Ubuntu-22.04 -u rootWSL2 里nvidia-smi找不到显卡Windows NVIDIA 驱动太旧Windows 下执行nvidia-smi查看版本更新到支持 WSL 的 NVIDIA 驱动PyTorch 里torch.cuda.is_available()返回 False驱动版本或 CUDA 版本不匹配确认nvidia-smi输出正常重新安装对应 CUDA 版本的 PyTorchDocker 启动失败System has not been booted with systemdWSL2 未启用 systemd检查/etc/wsl.conf添加systemdtrue并wsl --shutdown容器运行报could not select device driver with capabilities: [[gpu]]NVIDIA Container Toolkit 未安装或未配置docker info查看 Runtimes安装并配置 nvidia-ctk runtime重启 dockerWSL2 内存占用过高导致 Windows 卡顿默认动态分配过多内存free -h查看实际使用量创建.wslconfig限制 memory重启 WSL/mnt/c下项目读写很慢跨文件系统读写性能瓶颈执行time ls /mnt/c观察延迟将项目迁移到~/projectsLinux 原生目录WSL2 中启动的服务 Windows 浏览器打不开服务只监听 IPv6 或防火墙拦截ss -tlnp检查监听地址服务监听0.0.0.0启用localhostForwardingtrueUbuntu 系统盘占用越来越大且无法清理虚拟磁盘 vhdx 回收机制df -h /查看系统盘占用wsl --shutdown后执行wsl --disk-space-reclaim安装了 CUDA Toolkit 后系统报错内核模块冲突误用了非 WSL 版 runfile 安装方式nvidia-smi是否仍显示驱动卸载本地安装在 Linux 的驱动改用官方 WSL 仓库安装批量任务执行到一半被中断终端窗口关闭导致进程被杀检查是否有 screen/tmux 会话使用screen -S 任务名启动任务避免前台运行WSL2 里访问 Windows 盘符下的文件时权限不足文件权限继承问题ls -l /mnt/c/...查看挂载权限使用wsl --mount挂载磁盘或复制到 Linux 目录处理排查问题的通用思路只有三条。第一先看日志。不管是 Ubuntu 报错、Docker 报错还是 PyTorch 报错最后 20 行日志往往直接说明问题。第二最小化验证。命令行能完成的事不要用 WebUI排除前端干扰。第三善用wsl --shutdown。WSL2 很多奇怪问题比如网络不通、内存不释放、端口不响应重启一次就恢复正常这是成本最低的排障手段。10. 把 WSL2 迁移到其他磁盘C 盘空间不够是 WSL2 长期使用的常见痛点。默认安装的 Ubuntu 虚拟磁盘文件在 C 盘用户目录下安装 AI 依赖、拉取 Docker 镜像、下载模型后体积增长很快。在开始迁移前先关闭所有 WSL 会话然后执行导出wsl --shutdown wsl --export Ubuntu-22.04 D:\wsl-backup\ubuntu.tar接着注销原发行版wsl --unregister Ubuntu-22.04这一步会删除原发行版的所有数据执行前务必确认导出文件完整生成。最后导入到新位置wsl --import Ubuntu-22.04 D:\wsl\Ubuntu-22.04 D:\wsl-backup\ubuntu.tar --version 2导入后默认用户会变成 root需要手动设置默认用户。编辑新发行版的配置文件或在 PowerShell 中指定默认用户ubuntu2204.exe config --default-user 你的用户名还有一种更轻量的做法是从一开始就指定 WSL2 的虚拟磁盘安装位置。通过wsl --install没有直接提供自定义路径参数所以更推荐先安装再用--export/--import迁移到目标磁盘。迁移之后原 C 盘空间不会立刻释放。wsl --unregister会删除原虚拟磁盘文件但如果曾经的虚拟磁盘已经占用很大空间建议检查原默认安装目录下的ext4.vhdx文件是否还存在手动删除时需要先确认新发行版可以正常启动。11. 最佳实践与使用建议在 WSL2 里长期使用 AI 工具链建议保持几套习惯。第一项目隔离。每个项目使用独立的 conda 环境不要使用 base 环境装项目依赖。环境出问题后直接删除重建速度比逐个排查依赖快得多。第二目录规范。Windows 文件放在/mnt/cLinux 项目文件放在~/projects模型文件放在~/models。不要混放不要在/mnt/c下创建 conda 环境或存放 pip 缓存。第三模型文件下载注意缓存路径。Hugging Face 模型默认下载到~/.cache/huggingface。如果想把缓存迁移到其他磁盘设置环境变量export HF_HOME/mnt/d/huggingfaceDocker 镜像和容器数据默认存放在 Linux 发行版虚拟磁盘内如果要迁移 Docker 数据目录需要修改 Docker daemon 的>
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。