本文整理自视频《Windows 跑 AI Agent,WSL 才是终极答案,别羡慕 Mac 了,WSL 保姆级全攻略,海量实战教程,一期视频精通》 UP 主:技术爬爬虾 | 视频时长约 31 分钟 | 文中
[时间点]为原视频位置,方便回看对照
先说结论:在 Windows 上跑 AI Agent,WSL 是当前最优解。
原因不复杂 —— 大模型的训练语料里,命令行操作绝大部分是 Linux / macOS 风格的。AI 在 PowerShell 环境里写命令,出错率明显更高,不仅执行慢,还特别浪费 token。把 Agent 放进 WSL,等于让它回到自己熟悉的语言环境里。
目录
- 为什么要在 WSL 里跑 AI Agent
- 前置条件:开启 CPU 虚拟化
- 安装 WSL
- WSL 基础使用:多发行版 / 多实例
- 环境准备:开发三件套 Git / Node.js / Python
- 实战:在 WSL 里跑各类 Coding Agent
- 服务访问与 localhost 端口自动转发
- VS Code 集成与 Git 操作
- Windows 与 Linux 文件系统互通
- WSL1 vs WSL2 原理
- 显卡直通与本地大模型推理(vLLM)
- Docker 实战
- 图形界面:WSLg 与完整 Linux 桌面
- 网络配置:镜像模式与局域网访问
- 两份配置文件:.wslconfig 与 wsl.conf
- 备份、迁移与克隆
- 高级技巧:命令行互通
- 常用命令速查表
一、为什么要在 WSL 里跑 AI Agent
[00:00:00] AI Agent 在 Windows 上表现不如 macOS,根本原因是 Windows 的命令行工具(PowerShell)对 AI 不够友好。而 Windows 里其实藏着一个神器:WSL。只需一行命令,就能在 Windows 上运行一个完整的 Linux 子系统,同时获得两大操作系统的优势。
三大好处
1. Agent 运行更稳、效率更高
很多人遇到过:AI 写 PowerShell 命令频繁报错,不仅执行慢,还特别浪费 token。原因是大模型训练语料里的命令行操作,绝大部分是 Linux / macOS 风格的。AI 在 Linux 环境里出错概率明显更低,效果也更好。
2. 跟生产环境更一致
用 AI 写出来的代码,最终大概率要部署到 Linux 服务器上。如果代码一开始就在 WSL 里编写和测试,后续部署到生产环境时环境差异更小,整个流程更丝滑。
3. 环境隔离更安全
WSL 提供了 Linux 虚拟机与 Windows 宿主机之间的隔离。即使 Agent 在 WSL 里误操作把环境搞坏了,通常也不会影响 Windows 主系统。最坏情况只需要删掉这个 WSL 实例,重新创建一个新的子系统即可。
💡 一句话总结:WSL = Linux 的兼容性 + 生产环境一致性 + 沙箱隔离,是 Windows 跑 AI Agent 的最优解。
二、前置条件:开启 CPU 虚拟化
[00:01:34] 使用 WSL 的前提是开启 CPU 虚拟化,现阶段大部分电脑都默认开启了。确认方法:
- 搜索栏搜索 任务管理器
- 找到 性能 → CPU
- 如果显示「虚拟化:已启用」,就没问题
如果显示未启用
需要进 BIOS 开启:
| CPU 厂商 | BIOS 中的开关名 |
|---|---|
| Intel | Intel VMX 虚拟化平台(Intel Virtualization Technology) |
| AMD | SVM Mode |
开启后保存重启即可。
三、安装 WSL
[00:02:05]
3.1 一行命令安装
在 Windows 任意位置点击右键 → 在终端中打开,输入:
wsl --install
国内网络建议加上 --web-download,可以大幅提高下载速度:
wsl --install --web-download
- 如果提示「需要先重启电脑才能继续」,先重启,重启后重新打开 Windows 终端,再执行一次上面的命令。
- 重启后才会开始正式安装。
3.2 初始化用户名和密码
[00:02:58] 安装完成后需要填写 Linux 虚拟机的用户名和密码:
- 用户名:自定义(视频中示例
techshapa) - 密码:⚠️ 输入密码时屏幕上不会显示任何内容(没有
*也没有光标移动),但实际上已经输入进去了。输入完成按回车,再输入一遍确认,回车即可。
安装完成的标志:命令行提示符颜色变了,说明已经进入 Linux 子系统。
exit # 退出当前 Linux 系统
3.3 什么是 Linux 发行版
[00:02:37] WSL 默认安装的是 Ubuntu,也是目前最流行的 Linux 发行版。
所谓「发行版」,就是不同团队基于 Linux 内核打造出来的不同操作系统版本。这个概念有点像安卓手机:每个厂商底层都用安卓系统,但都会在其基础上做定制和封装,形成各自不同的发行版。
四、WSL 基础使用:多发行版 / 多实例
4.1 查看可安装的发行版
[00:03:30]
wsl -l -o # -l = list,-o = online,列出所有在线可安装的发行版
4.2 安装指定发行版
wsl --install kali-linux
4.3 指定安装目录(不装 C 盘)
[00:03:51] 用 --location 手动指定安装目录:
wsl --install kali-linux --location D:\WSL\kali
安装后同样填写用户名和密码即可。视频中 Kali 装完约 908 MB,文件全部存放在指定目录下。
4.4 查看已安装的虚拟机
wsl -l # 列出这台电脑上安装过的所有 Linux 虚拟机
4.5 同一发行版装多个实例
[00:04:23] 每个实例都有自己的文件系统和配置,互相隔离、互不影响。
wsl --install Ubuntu --name Ubuntu2
后面也可以继续加 --location 指定安装路径。
4.6 升级 WSL 本体
[00:05:03] 正式使用前建议先执行一次,把 WSL 功能升级到最新,避免功能差异:
wsl --update
4.7 启动方式(三种)
| 方式 | 命令 / 操作 | 说明 |
|---|---|---|
| 启动默认虚拟机 | wsl | 命令行颜色变了即成功 |
| 启动指定虚拟机 | wsl -d kali-linux | -d = distribution |
| 终端下拉菜单 | PowerShell 顶部下拉箭头 | 列出所有实例,点击即在新窗口启动 |
4.8 设置默认实例
[00:05:34]
wsl --set-default kali-linux
wsl -l # 确认:kali-linux 后面会标记「默认」
之后不加任何参数直接输入 wsl,启动的就是默认实例。
4.9 关闭虚拟机
[00:06:07] 非常简单 —— 把命令行窗口关掉 / 执行 exit 退出即可。当 WSL 的命令行窗口被关闭或退出后,对应的 Linux 虚拟机会自动关机。
五、环境准备:开发三件套 Git / Node.js / Python
[00:06:21] 运行 Agent 之前,操作系统上一般需要先安装 Git、Node.js、Python。以下以 Ubuntu 为例。
5.1 Git(通常自带)
git --version # 视频里写的是 git -v
Ubuntu 系统自带 Git,有输出版本号就不用额外装。
5.2 Python(自带 python3,但没有 python)
python3 --version # 自带,有版本输出
python # 提示未安装
解决:把 python 命令链接到 python3
sudo apt update
sudo apt install python-is-python3
装完后再执行 python,就能正常链接到 python3 了。
5.3 Node.js(需要手动装,用 nvm)
[00:07:14]
node -v # 未安装
安装步骤:
- 打开 Node.js 官网
- 操作系统选 Linux
- 安装方式选 nvm(Node Version Manager,Node 版本管理器)
- 依次复制官网给的 3 条命令到 Ubuntu 里执行
- 最后一条命令安装 Node.js 24
验证:
node -v
npm -v
两个都能打印出版本号,Node.js 就准备好了。
六、实战:在 WSL 里跑各类 Coding Agent
6.1 Pi —— 极简 Coding Agent
[00:07:42]
特点:极简,没有复杂提示词,最大程度减少对 AI 的干扰,非常省 token。
安装:官网选择 curl 安装方式,复制命令到 WSL 执行,中途输入 Y 确认。
首次配置:
cd ~ # 进入用户主目录
mkdir pi-test # 创建工作目录
cd pi-test
pi # 启动
进入后提示要先配置模型:
/login # 配置模型
- 可选「模型订阅」或「API Key」
- 视频选择 API Key 方式,支持很多厂商的模型
- 推荐模型:DeepSeek、MiniMax、Kimi
以 Kimi 为例:
- 到 Kimi Code 官网控制台 → 新建 API Key → 复制
- 回到 WSL,
Ctrl + V粘贴,回车 - 配置成功
/model # 切换模型,例如选择 K2
打个招呼有回复,说明配置成功。
测试:让 Pi 用 Next.js 框架编写一个坦克大战游戏。开发完成后它会提示用浏览器访问某个地址(如 localhost:3000)即可开始游戏。
关键点:直接用 Windows 上的 Edge 浏览器打开这个地址就能玩到运行在 Linux 里的游戏(见第七章)。
6.2 Hermes Agent
[00:13:57]
特点:目前非常流行的 Agent 工具,很长一段时间没有 Windows 版本;现在虽然出了原生 Windows 版,但在 Windows 上表现一直不太好。用 WSL 安装是最佳方案。
安装配置步骤:
- 官网安装方式选 Linux,复制 Hermes 安装命令
- 粘贴到 WSL(Ubuntu 终端)执行
- 这一步选择
Y - 输入这台 Linux 虚拟机的密码
- 到这一步选择 第二项「完全设置」
- 选择模型厂商 → 视频选 DeepSeek
- 到 DeepSeek API 开放平台 → API Keys → 创建,复制 API Key,粘贴回车
Base URL直接敲回车(用默认)- 选择模型 → 视频选 V4 Flash
- 选择
Keep current - 选择即时通信渠道 → 敲空格勾选第三项(最简单),回车,根据提示完成配对
- 后面一路使用默认值敲回车
- 遇到不知道怎么配置的地方,一律选择 Skip 跳过
重启并启动:
# 关闭窗口重启 WSL 后
hermes # 启动
打个招呼有回复,配置完成。
6.3 Claude Code
[00:15:15]
# 1. 复制官网安装命令,粘贴进 WSL 执行
# 2. 启动
claude
- 视频使用 Claude 官方订阅登录
- 若想接入国内模型,网上有很多方法(视频未展开)
- 启动后会在终端给出地址,在浏览器打开,复制授权码,粘贴回 WSL,回车即可
- 打个招呼有回复 → 配置成功
6.4 Codex CLI
[00:15:41]
视频强调:最推荐的方式就是在 WSL 里运行 Codex CLI(命令行版本),功能与 Codex App 一样。
方式 A:在 WSL 里跑 Codex CLI(推荐)
- 到 Codex CLI 的 GitHub 首页
- 复制 Linux 版安装命令
- 粘贴到 WSL,输入
Y - 安装完成后重启 WSL
- 输入
codex启动 - 用 ChatGPT 账号登录,登录完成回车开始
方式 B:用 Windows 上的 Codex 桌面应用连进 WSL [00:16:12]
注:视频提到 Codex 已改名为 ChatGPT 桌面应用。
- 左下角 设置 → 常规 → 智能体环境 → 切换成 WSL
- 下面的终端也切换成 WSL
- 按提示重启应用
- 重启后选择一个 Windows 文件夹作为项目文件夹
- 在 Codex 里可以看到该文件夹以挂载卷的形式链接进了 WSL
- 此时 Codex 的环境就是 WSL,使用的命令也都是 Linux 命令
⚠️ 视频的明确建议:方式 B 只能用 Windows 文件夹挂载进 WSL,IO 效率比较低。更推荐直接在 WSL 里用 Codex CLI。
七、服务访问与 localhost 端口自动转发
[00:09:05] 这是一个必须理解的重要知识点。
原理
- 在 WSL 里运行的服务,使用的是 Linux 虚拟机的 IP 地址
- Windows 电脑的
localhost指向的是宿主机的 IP 地址 - 这两者并不是一回事,理论上在宿主机里敲
localhost不应该能访问到 WSL 里的服务
但 WSL 有一个特色功能:localhost 端口自动转发
当 WSL 检测到 Linux 里有程序监听端口,就会自动转发到 Windows 宿主机的 localhost 相同端口上。
所以在坦克大战的例子里:
结论:在 Windows 浏览器里直接访问 localhost:3000 就能玩到运行在 WSL 里的游戏。Docker 映射出来的端口同理,宿主机也能直接访问。
八、VS Code 集成与 Git 操作
[00:09:46] 前提:Windows 电脑上已安装 VS Code。
8.1 用 VS Code 打开 WSL 里的项目
cd ~/pi-test # 先来到工作目录
code . # code 是 VS Code 的简写,空格 + 点表示打开当前目录
这样就直接使用 Windows 电脑上的 VS Code 打开了 WSL 的工作目录。可以直接查看、修改源代码,浏览器里会同步改动,与在 Windows 上编码调试的体验完全一样。
8.2 在 VS Code 里做 Git 操作
- 左侧找到 Source Control(源代码管理)
- 点击 Manage Trust → 信任
- 点击 Initialize Repository(把目录初始化成 Git 项目)
- 填写 commit message,完成提交
- 点击 Publish → 填写仓库名 → 回车
- 右下角提示代码已上传到 GitHub
8.3 让 AI 帮你做 Git 操作
[00:10:53]
第一步:同步 Git 用户名和邮箱
可以直接对 Agent 说:
「你现在在 WSL 里面,你读一下我 Windows 宿主机上面的 Git 设置,然后在 WSL 里面也配置一下。」
Agent 会读到 Windows 宿主机的配置并同步到 WSL 里。
第二步:让 Agent 改代码 + commit + push
「把坦克大战的标题改一下,然后 commit 一下。」 「推送到 GitHub 上面。」
Agent 会完成修改并提交;在 VS Code 里也能看到 AI 使用 Git 做的提交;推送同样正常。
✅ 结论:使用 WSL 的所有编码、调试、Git 操作,跟在 Windows 上的体验几乎一致,没有什么学习门槛。
九、Windows 与 Linux 文件系统互通
9.1 在资源管理器里看到 Linux 文件
[00:11:42]
打开 Windows 资源管理器,左下角有一个企鹅图标(Linux),展开后有 Ubuntu 等条目,打开即展示该 Linux 子系统的文件目录。
例如视频中的代码在:Ubuntu → home → <用户名> → pi-test → 坦克大战/
Linux 虚拟机上的所有文件都可以用 Windows 资源管理器查看,还可以直接用 Windows 上的软件打开、编辑。
9.2 更快捷:explorer.exe .
[00:12:16]
在 WSL 里先 cd 到目标目录,然后:
explorer.exe . # 用 Windows 资源管理器打开当前目录
9.3 在 Linux 里访问 Windows 文件
[00:12:39]
df -h # 查看 Linux 上所有磁盘
会看到 C 盘、D 盘,挂载地址分别是 /mnt/c、/mnt/d。Windows 磁盘直接以挂载卷的形式出现在 Linux 目录里。
cd /mnt/c # 进入 C 盘根目录
ls
cd /mnt/c/Users/<用户名>/Desktop # 进入桌面
ls # 列出桌面上所有内容
9.4 给 AI 发送图片
[00:13:28] 在 WSL 里也能轻松办到:
- 在浏览器里截图,保存到桌面
- 直接把图片拖拽进 WSL 窗口
- 终端会显示图片地址(以挂载卷目录形式显示,对应
C:\Users\<用户名>\Desktop) - 问 AI「你看看这个图里面有什么」→ AI 在 WSL 里也能正确看到图片
9.5 ⚠️ 重要建议:项目放哪里
[00:13:16] 在 WSL 里开发项目时,项目文件夹尽量放在 Linux 的原生目录里(如 ~/),不要放在 Windows 目录里(如 /mnt/c/)。
原因:跨操作系统读取文件会产生额外的 IO 开销,性能明显下降。
十、WSL1 vs WSL2 原理
[00:19:34] 本视频介绍的所有功能都基于最新的 WSL2。
| WSL1 | WSL2 | |
|---|---|---|
| 本质 | 一个翻译层 | 基于 Hyper-V 的虚拟化平台 |
| 原理 | 把 Linux 系统调用翻译成 Windows NT 内核可理解的指令 | 运行真正的 Linux 内核 |
| Docker | ❌ 无法运行 | ✅ 可以运行 |
| 显卡直通 | ❌ | ✅ 自带 |
| 兼容性 | 某些情况下有兼容性问题 | 高 |
| 维护成本 | 翻译层维护工作量巨大 | 大大降低 |
WSL1 不运行真正的 Linux 内核,而是通过 Windows 内核来模拟 Linux 系统,因此会出现兼容性问题(比如无法运行 Docker)。
WSL2 具有真正的 Linux 内核,可以与 Windows 在用户空间上进行网络通信、文件共享;得益于 Hyper-V 强大的硬件虚拟化技术,WSL2 自带显卡直通。
十一、显卡直通与本地大模型推理(vLLM)
11.1 什么是显卡直通
[00:20:34]
在 WSL 里面可以直接调用 Windows 宿主机上的显卡,不需要做任何配置。
⚠️ 千万不要往 Linux 子系统里安装任何显卡驱动! 它可以直接使用 Windows 宿主机上的显卡驱动。
11.2 验证:nvidia-smi
[00:20:57] 在 Ubuntu 子系统里执行:
nvidia-smi
这个命令用来查看 GPU 情况,会直接显示:
- 显卡驱动版本
- CUDA 版本
- 显卡型号(视频中为 RTX 5070)
- 显存情况等
11.3 为什么这很重要
现阶段大多数 AI 推理框架和深度学习框架(vLLM、PyTorch 等)都优先支持 Linux 操作系统,官方文档和安装教程基本都是以 Linux 为主。
以 vLLM(目前最炙手可热的 AI 推理框架)为例:操作系统支持只有 Linux 版本,所有官方文档全部基于 Linux 编写。
使用 WSL,你就是这些推理框架的"一等公民",照着文档可以实现一切功能。可以把手头的高性能游戏电脑直接变成 AI 开发平台。
11.4 实战:用 vLLM 跑本地推理
[00:21:41]
第 1 步:安装 uv
vLLM 文档要求先用 uv 创建虚拟环境。到 uv 官网找到 Linux 安装命令,复制,在 WSL 里执行。
第 2 步:按文档依次执行 3 条命令(创建虚拟环境等)
第 3 步:启动推理服务
复制 vLLM 官方文档的启动命令,视频中把模型改成了最新的千问 3.5。
⚠️ 踩坑记录:直接这么启动会报错。解决办法(视频让 GPT 帮忙改的):
- 改一下采样器参数
- 在后面约束一下显存的占用量(vLLM 中对应
--gpu-memory-utilization参数)
改完即可正常启动。
第 4 步:测试 [00:22:14]
用 Postman 测试:
- 填上推理端点(如
http://localhost:8000/v1/...) - 填上提示词,例如「vLLM 是一个高性能的推理框架」
实测推理速度非常快,半秒钟就能推理这么多 token。
十二、Docker 实战
[00:17:10] Docker 是基于 Linux 容器化技术,让程序在不同环境中都能一致运行,大幅简化开发和运维流程。
12.1 为什么现在体验好了
现在 WSL 上的最新发行版已经默认启用了 systemd,所以在 WSL 上运行 Docker 的体验跟一台真正的 Linux 电脑一致。
12.2 安装 Docker
[00:17:43] 到 Docker 官方部署指南,安装步骤中只需要执行第 1 条和第 4 条命令:
- 复制第 1 条命令 → 粘贴到 WSL 运行
- 复制第 4 条命令 → 粘贴到 WSL 运行
- 中途输入 Linux 虚拟机的密码
- 中间某一步不用管,直接等待 20 秒
- 安装完成
12.3 一句话启动 Redis
[00:18:04]
开发后台服务经常用 Redis 作高速缓存。在 Windows 上部署 Redis 相当复杂,有了 Docker 就一句话搞定。
sudo docker run -d -p 6379:6379 redis
⚠️ 注意:在 WSL 里敲 docker 命令,一定要在前面加 sudo。
-d后台运行-p 6379:6379端口映射(Redis 默认端口 6379)redis镜像名
12.4 用 Windows 上的客户端连接
- 打开 Windows 上的 Redis 图形客户端
- New Connection
- Host 填
localhost,Port 填6379 - (依据第七章的 localhost 端口自动转发,Docker 映射出来的端口宿主机可直接访问)
- 点击 OK → 连接成功
- 添加一个 key 并赋值 → Redis 正常工作
12.5 开关机与容器生命周期
[00:19:08]
- 关闭 WSL 窗口 → Docker 停止运行 → 宿主机也连不上
- 重新启动 Linux 虚拟机后:
sudo docker ps -a # 查看所有容器(会看到 Redis 已停止)
sudo docker start <容器ID> # 重新启动容器
重启后 Windows 客户端重新连接,又能连上了。
十三、图形界面:WSLg 与完整 Linux 桌面
[00:22:29] WSL 不仅支持命令行,也支持图形化界面。分两部分:WSLg 工具 和 远程桌面接入完整桌面。
13.1 WSLg:把单个 Linux 图形应用显示到 Windows 桌面
[00:22:42] WSLg 是 WSL 里的图形界面支持组件,可以把 Linux 图形应用直接显示到 Windows 桌面上。
⚠️ WSLg 不是一个完整的桌面系统,通常只用来把单个应用显示到 Windows 里。
示例:GIMP(类似 Photoshop 的开源免费图像编辑软件)
sudo apt install gimp
gimp
执行后,Windows 界面里就打开了这个 Linux 图形编辑软件,可以正常使用。
13.2 Kali Linux 的完整桌面:Win-KeX
[00:23:23] 视频这里换成了 Kali Linux(不用 Ubuntu):
sudo apt update # 更新 apt 索引
sudo apt install kali-win-kex # 安装 Win-KeX
kex # 启动桌面
这样就以远程连接的方式打开了 Kali Linux 的桌面 —— 一个完整可用的 Linux 操作系统桌面,可以在里面操作浏览器、各种图形软件等。
13.3 Ubuntu 的完整桌面:Windows 远程桌面
[00:23:50] 在 Ubuntu 上启动桌面需要依次执行以下命令(视频跳过了执行过程),大致思路:
- 安装桌面环境 + xrdp(远程桌面服务)
- 启动 xrdp 服务
- 最后一条命令会显示这台 Linux 虚拟机的 IP 地址,复制下来
连接方法:
- Windows 搜索栏搜索 远程桌面连接
- 填入刚才复制的 IP 地址,冒号 + 端口 3389(即
IP:3389) - 点击连接 → 连接进 Ubuntu 虚拟机的桌面
十四、网络配置:镜像模式与局域网访问
14.1 默认 NAT 模式与 localhost 转发
[00:24:15] WSL 默认采用 NAT 网络模式:Linux 子系统位于 WSL 宿主机内部的虚拟网络里,拥有独立的虚拟 IP 地址。通过 localhost 端口自动转发,宿主机可以用 localhost 访问 WSL 里启动的应用。
14.2 虚拟机访问宿主机的服务
[00:24:53] 在 Windows 宿主机上启动了一个 Python 服务(8000 端口),宿主机浏览器用 localhost:8000 可以访问。在 WSL 里怎么访问?
- Windows PowerShell 里执行:
ipconfig
- 找到自己的网卡,记下 IPv4 地址(这是宿主机在局域网里的 IP)
- 在 WSL 里使用这个 IP 地址即可访问宿主机上的服务(如
http://192.168.x.x:8000)
注意:在 NAT 模式下
localhost不行,要用宿主机的局域网 IP。
14.3 问题:局域网其他设备访问不了 WSL 的服务
[00:25:32] 宿主机能访问虚拟机、虚拟机能访问宿主机,但局域网里的其他设备(比如手机)没法访问 WSL 里的服务。想用手机调试 WSL 上开发的网页服务,现在访问不到。
解决方案:切换成镜像网络模式。
14.4 配置镜像网络模式
[00:25:45]
- 来到
C:\Users\<你的用户名>\目录 - 新建一个文件,名字叫
.wslconfig(这是 WSL 的全局配置文件) - 用记事本打开,加入两行:
[wsl2]
networkingMode=mirrored
意思是:把 WSL 的网络模式从 NAT 网络切换成镜像网络。
- 保存配置文件
- 把所有 WSL 窗口关闭,等待约 1 分钟,让 WSL 完成重启
镜像模式的原理:Windows 宿主机的网卡会直接镜像一份给 WSL 使用,让 Windows 和 WSL 处于相同的网络环境,并使用相同的局域网 IP。这样局域网里的其他设备也能轻松访问 WSL 上的服务。
💡 额外好处:让网络结构变得更简单。使用 WSL 过程中遇到奇怪的网络问题,可以试试切换成镜像模式,看能不能解决。
14.5 手机实测访问
[00:26:44]
先把坦克大战应用启动起来(WSL 里监听 3000 端口)
搜索栏搜 PowerShell → 右键「以管理员身份运行」
粘贴一串修改 WSL 防火墙设置的命令并回车,让它可以被局域网其他设备访问
常用写法(视频未完整展示命令原文,仅供参考):
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -Action Allow打开手机浏览器,输入宿主机的 IP 地址(镜像模式下也等同于 WSL 虚拟机的 IP),后面接
:3000http://192.168.x.x:3000✅ 成功访问 —— 局域网其他设备可以访问 WSL 里启动的服务了
十五、两份配置文件:.wslconfig 与 wsl.conf
[00:27:24] 这两个配置文件有本质上的不同:
.wslconfig | wsl.conf | |
|---|---|---|
| 文件性质 | Windows 文件 | Linux 文件(存放在 Linux 系统里) |
| 作用范围 | 全局通用,对所有 WSL 虚拟机生效 | 只对单个虚拟机生效 |
| 位置 | C:\Users\<用户名>\.wslconfig | Linux 内 /etc/wsl.conf |
| 主要用途 | 修改内存、内核、启动方式、网络模式等 | 修改挂载卷、systemd 使用、默认用户等 |
15.1 示例:用 wsl.conf 关闭自动挂载
[00:28:11] 在 Ubuntu 虚拟机里:
cd /etc
sudo vi wsl.conf
可以看到 systemd 是默认启用的。加入以下配置:
[automount]
enabled=false
这个配置的意思是关闭自动挂载 —— 虚拟机里不再自动挂载 C 盘和 D 盘。
🔒 安全收益:AI 操作的时候,它也无法看到 Windows 上面的文件,可以进一步提高安全性。
保存退出:
Esc → :wq! → 回车
然后关闭虚拟机,官方文档要求至少等待 8 秒,让虚拟机完全重启。
重启完成后验证:
df -h
会看到挂载卷里没有 Windows 的目录了,配置生效。
官方文档里还有关于这两个配置文件更多的功能,不过不太常用,有需求可查阅官方文档。
十六、备份、迁移与克隆
[00:29:16] 在 WSL 上做了很多工作之后,可以把整个 Linux 虚拟机做一个完整备份。
16.1 导出备份
wsl --export Ubuntu ubuntu.tar
--export= 导出- 后面接虚拟机的名字(如
Ubuntu) - 最后填压缩包的名字(如
ubuntu.tar)
导出完成后,当前目录(视频中是桌面)就多了一个 ubuntu.tar 压缩包,备份完成。
16.2 删除虚拟机
wsl --unregister Ubuntu # 视频里用的是 unregister/删除命令
wsl -l # 确认:电脑上没有 Ubuntu 这台虚拟机了
16.3 从备份包还原(导入)
wsl --import Ubuntu D:\WSL\Ubuntu ubuntu.tar
--import后面起个名字(还是叫Ubuntu)- 接下来指定安装路径(视频选了 D 盘目录)
- 最后填压缩包的地址(可以把压缩包拖拽进终端)
wsl -l # 确认 Ubuntu 被重新导入回来了
16.4 两个重要用途
- 迁移:用导入导出的方法,把电脑上的虚拟机迁移到其他的 Windows 电脑上
- 克隆:把同一个备份包导入多次,每次起不同名字,就可以把一个虚拟机克隆好几份
wsl --import Ubuntu2 D:\WSL\Ubuntu2 ubuntu.tar
wsl --import Ubuntu3 D:\WSL\Ubuntu3 ubuntu.tar
这样就把同一个虚拟机克隆成了 Ubuntu、Ubuntu2、Ubuntu3 三份。
十七、高级技巧:命令行互通
[00:30:45] 在 Windows 里甚至可以调用 Linux 命令,两条系统的命令可以混着写。
场景:在 PowerShell 里执行 Get-ChildItem,显示了当前文件夹所有内容。现在想对输出做过滤,但不知道 Windows 版的过滤怎么写,只知道 Linux 版是 grep。
解法:直接混着写
Get-ChildItem | wsl grep video
- 前半部分
Get-ChildItem是 Windows 命令 - 管道符
|之后wsl grep video是 Linux 命令 - 结果一样达成了过滤效果 ✅
用
wsl <linux命令>的形式,就能在 PowerShell 管道里直接调用任意 Linux 命令。
十八、常用命令速查表
WSL 管理(在 PowerShell / CMD 里执行)
wsl --install # 安装 WSL(默认 Ubuntu)
wsl --install --web-download # 国内加速安装
wsl --update # 升级 WSL 本体
wsl -l -o # 列出在线可安装的发行版
wsl --install kali-linux # 安装指定发行版
wsl --install kali-linux --location D:\WSL\kali # 指定安装目录
wsl --install Ubuntu --name Ubuntu2 # 安装同一发行版的新实例
wsl -l # 列出已安装的虚拟机
wsl # 启动默认虚拟机
wsl -d kali-linux # 启动指定虚拟机
wsl --set-default kali-linux # 设置默认实例
wsl --export Ubuntu ubuntu.tar # 导出备份
wsl --import Ubuntu D:\WSL\Ubuntu ubuntu.tar # 从备份导入
wsl --unregister Ubuntu # 删除虚拟机
Linux 内常用命令
exit # 退出 Linux(同时虚拟机关机)
sudo apt update # 更新 apt 索引
sudo apt install python-is-python3 # 让 python 指向 python3
node -v / npm -v # 查看 Node/npm 版本
git --version # 查看 Git 版本
nvidia-smi # 查看 GPU(显卡直通,勿装驱动)
df -h # 查看所有挂载磁盘
cd /mnt/c # 进入 Windows C 盘
explorer.exe . # 用 Windows 资源管理器打开当前目录
code . # 用 VS Code 打开当前目录
sudo vi /etc/wsl.conf # 编辑单虚拟机配置文件
sudo apt install gimp && gimp # WSLg 运行 Linux 图形应用
kex # 启动 Kali Linux 桌面(需装 kali-win-kex)
Docker(注意 WSL 里必须加 sudo)
sudo docker run -d -p 6379:6379 redis # 启动 Redis
sudo docker ps -a # 查看所有容器
sudo docker start <容器ID> # 启动已停止的容器
Coding Agent
pi # Pi(极简 coding agent),/login 配模型,/model 切模型
hermes # Hermes Agent
claude # Claude Code
codex # Codex CLI
配置文件
C:\Users\<用户名>\.wslconfig(全局,所有虚拟机)
[wsl2]
networkingMode=mirrored # 镜像网络模式,局域网可访问
/etc/wsl.conf(单个虚拟机)
[automount]
enabled=false # 关闭自动挂载 Windows 磁盘,提升安全性
(修改后需关闭所有 WSL 窗口并等待 8 秒以上让其完全重启)
附:容易踩的坑
| 坑 | 说明 |
|---|---|
| 密码不显示 | Linux 输入密码时屏幕无任何回显,实际已输入,直接回车即可 |
| 装显卡驱动 | ❌ 千万不要在 WSL 里装显卡驱动,直接用宿主机驱动 |
python 不存在 | Ubuntu 自带 python3 但没有 python,需装 python-is-python3 |
| docker 权限 | WSL 里 docker 命令前必须加 sudo |
| 项目放 Windows 目录 | 跨系统 IO 开销大,项目应放在 Linux 原生目录(如 ~/) |
忘记 wsl --update | 功能可能与教程不一致,开始前先升级 |
| 关窗口=关机 | WSL 窗口关闭后虚拟机自动关机,容器也会停 |
| 改配置不生效 | .wslconfig 改完要关掉所有窗口等 1 分钟;wsl.conf 要等 8 秒以上 |
| vLLM 启动报错 | 需要调整采样器参数并约束显存占用量 |
| 局域网访问不了 | 默认 NAT 模式,需切镜像模式 + 管理员 PowerShell 放行防火墙 |
本教程由视频字幕整理,命令行以视频所述为准;个别视频未完整展示的命令(如 Ubuntu 桌面安装命令、防火墙命令原文)已标注说明。