Windows 安装方法 1:WSL2(推荐)
这是官方推荐的 Windows 安装方式。通过 WSL2(Windows Subsystem for Linux 2),你可以在 Windows 上运行完整的 Linux 环境,获得最佳兼容性和性能。
推荐等级说明
| 安装方式 | 推荐等级 | 隔离性 | 资源占用 | 适用场景 |
|---|---|---|---|---|
| WSL2 | ⭐⭐⭐⭐⭐ 推荐 | 良好 | 低 | 大多数用户的首选 |
| VMware 虚拟机 | ⭐⭐⭐⭐ 可选 | 优秀 | 需分配 | 需要完整 Linux 环境或快照功能 |
| 直接安装 | ⭐⭐ 不推荐 | 无 | 最低 | 仅限无敏感数据的专用设备 |
WSL1 与 WSL2 的区别(目前官方默认支持 WSL2,不需要特别注意)
| 特性 | WSL1 | WSL2 |
|---|---|---|
| 架构 | 翻译层 | 真实 Linux 内核 |
| 文件系统性能 | 较慢 | 接近原生 |
| Docker 支持 | 不支持 | 完整支持 |
| systemd 支持 | 不支持 | 支持 |
OpenClaw 需要 WSL2,因为它依赖 systemd 来管理后台服务。
前置条件
- Windows 10 版本 2004+(内部版本 19041 及更高)或 Windows 11
- 启用虚拟化功能(BIOS/UEFI 中)
- 管理员权限
遇到任何安装失败,请直接看文末的 失败指引。
步骤 1:安装 WSL2
以管理员身份打开 PowerShell,运行:
wsl --install --no-distribution这会自动:
- 启用 WSL 和虚拟机平台功能
- 下载并安装 WSL2 Linux 内核更新包
- 将 WSL 2 设置为默认版本
安装完成后,重启计算机。
重启后先确认 WSL 版本信息:
wsl --version
wsl --status判断“没问题”可以看这几点:
wsl --version:能正常输出版本号(如WSL 版本: 2.x.x.x),说明 WSL 组件已安装wsl --status:看到默认版本: 2(或Default Version: 2),说明新安装发行版会默认使用 WSL2wsl --status:看到内核版本信息(如内核版本: 5.15.x.x),说明 WSL2 内核可用
步骤 2:安装 Ubuntu
重启计算机后,查看可用的发行版列表:
wsl --list --online推荐安装 Ubuntu 24.04 LTS:
推荐使用下面的地址直接安装,官方提供的版本老,下载慢 ubuntu-25.10-wsl-amd64
wsl --install -d Ubuntu-24.04安装后立刻确认使用 WSL2
wsl --list --verbose输出应该显示 VERSION 为 2:
NAME STATE VERSION
* Ubuntu-24.04 Running 2访问 WSL 内部文件
在 Windows 资源管理器地址栏中输入以下路径并回车:
\\wsl$\之后它会像网络邻居一样固定在资源管理器左侧的"网络"里,随时可以点进去浏览 WSL 中的文件。
安装完成后,Ubuntu 会自动弹出一个终端窗口,提示你创建用户账户。
注意:用户名一定要自己改!
弹出的窗口会显示类似这样的提示:
Enter new UNIX username:这一行通常会预填一个默认用户名(你的 Windows 用户名),很多用户直接按回车就过去了。
请务必先删除预填的用户名,输入你自己想要的 UNIX 用户名(建议使用小写字母,不含空格和中文),然后按回车。
接下来输入密码(输入时不会显示字符,这是正常的),再确认一次密码即可。
如何打开 Ubuntu 终端
创建完用户后,那个弹出的窗口可以直接用。以后每次需要打开 Ubuntu 终端时:
- 在 Windows 开始菜单中搜索 Ubuntu,点击即可打开
- 或在 PowerShell 中执行:
wsl -d Ubuntu-24.04步骤 3:OpenClaw 用户与权限说明
OpenClaw 将以普通用户身份运行,不授予 sudo 权限。
WSL 默认会把 Windows 的磁盘挂载到 /mnt/ 下。根据后续安装路线的不同,隔离情况有所区别:
| 安装路线 | 能否访问 Windows | 说明 |
|---|---|---|
| Docker 安装 | 不能 | 容器天然隔离,看不到 /mnt/c/,无需额外配置 |
| Native 直接安装 | 能只读 | 非 root 用户可以读取 /mnt/c/ 下的 Windows 文件,需要额外配置 |
两种路线的安全差异
| 对比项 | Docker 路线 | Native 路线 |
|---|---|---|
| 能否访问 Windows 文件 | 不能 | 能,但只能读取 /mnt/c/ 下的文件 |
| 能否写入 Windows 文件 | 不能 | 不能(非 root 用户无写入权限) |
Windows 能否通过 \\wsl$\ 访问 WSL | 不影响(容器内隔离) | 能 |
| 隔离级别 | 完全隔离 | 部分隔离(只读) |
Docker 路线是终极安全方案——容器天然与宿主机隔离,OpenClaw 既看不到 Windows 文件,也无法影响 Windows。
Native 路线下,OpenClaw 以普通用户运行,虽然可以读取 /mnt/c/ 下的 Windows 文件,但无法写入。对于没有高度敏感数据需求的用户,这种只读隔离是可以接受的。
设置 WSL 开机自启
需要管理员权限
以下命令必须以管理员身份打开 PowerShell 执行,否则会报权限不足。
在管理员 PowerShell 中依次执行:
$WshShell = New-Object -ComObject WScript.Shell
$Startup = $WshShell.SpecialFolders("Startup")
$Shortcut = $WshShell.CreateShortcut("$Startup\WSL Startup.lnk")
$Shortcut.TargetPath = "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe"
$Shortcut.Arguments = "-WindowStyle Hidden -Command wsl --cd ~"
$Shortcut.Save()
Write-Host "已创建: $Startup\WSL Startup.lnk"注:如果需要指定 WSL 发行版或用户,请自行添加
-d <发行版名>或-u <用户名>参数。
这样每次登录 Windows 时,WSL 会在后台自动启动,不会弹出黑色命令行窗口。
杀毒软件可能误报
这种开机启动方式被很多恶意软件滥用,因此部分杀毒软件(如 Windows Defender、360 等)可能会拦截或报警。
如果遇到拦截:
- 方案 A:放行并添加到白名单/信任区
- 方案 B:不放行,每次重启 Windows 后手动执行
wsl启动
步骤 4:Ubuntu 初始设置
首次启动 Ubuntu 时已完成了用户创建。如果当时跳过了,可以在 Ubuntu 终端中手动执行:
# 查看当前用户
whoami
# 如果需要创建新用户
sudo adduser <你的用户名>
sudo usermod -aG sudo <你的用户名>步骤 5:发行版升级到最新可用版本(按需)
如果你的目标是“直接升级到 Ubuntu 官方提供的最新可升级版本”,建议在“刚装好 Ubuntu、还没开始装任何依赖”时就完成一次发行版升级。
注意:只有当 Ubuntu 官方开放升级通道时,这一步才会成功;否则会提示“没有可用的新版本”。不要为了强行升级使用 -d(开发版升级)去赌运气。
在 Ubuntu 里执行:
sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt install -y update-manager-core
sudo do-release-upgrade升级完成后,按提示重启(在 PowerShell 侧执行 wsl --shutdown 后再进入发行版也可以)。
步骤 5.5:修复中文乱码
WSL 的 Ubuntu 默认没有中文语言包和中文字体,终端和浏览器都会显示乱码。全部复制粘贴执行即可:
# 安装中文 locale 并设置默认语言
sudo apt install -y locales
sudo locale-gen zh_CN.UTF-8
sudo update-locale LANG=zh_CN.UTF-8
# 写入 bashrc
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc
# 安装中文字体(浏览器和 WSLg 下的 Firefox 需要)
sudo apt install -y fonts-wqy-zenhei fonts-wqy-microhei执行完后,在 PowerShell 中重启 WSL 让所有设置生效:
wsl --shutdown
wsl重新进入 Ubuntu 后,终端里输入 locale,确认 LANG=zh_CN.UTF-8 即为成功。
步骤 6:配置加速源(建议在发行版升级之后再做)
配置加速源,因为默认是访问国外的网络,加速源是国内大厂做的中转,会快十倍甚至更多。
source /etc/os-release
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME} main restricted universe multiverse" | sudo tee /etc/apt/sources.list > /dev/null
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME}-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list > /dev/null
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME}-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list > /dev/null
echo "deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ ${VERSION_CODENAME}-security main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list > /dev/null
npm config set registry https://registry.npmmirror.com步骤 7:启用并验证 systemd
WSL2 支持 systemd,OpenClaw 的后台服务需要它。
先检查是否已启用:
systemctl --version如果有版本输出,说明 systemd 已可用,可以跳过本步骤。
如果未启用,确保 /etc/wsl.conf 里包含:
[boot]
systemd=true用下面命令追加即可(不会覆盖已有的内容):
sudo tee -a /etc/wsl.conf > /dev/null << 'EOF'
[boot]
systemd=true
EOF保存后在 PowerShell 重启 WSL:
wsl --shutdown
wsl再次验证:
systemctl --version步骤 8:安装 龙虾(两条路线:优先 Docker)
在 WSL 场景中,WSL 特有步骤(WSL2 安装、版本确认、systemd)完成后,后续有两条分支路线:
- 路线 A(优先):走 Docker 安装,按这篇继续执行:
- 路线 B(备选):走 Linux native 直接安装(APT),按这篇继续执行:
如果你看到“需要查看 Linux native 安装 OpenClaw”的提示:这通常是因为当前处于 Linux 环境(WSL 的 Ubuntu)里;但从隔离性、可维护性角度,仍建议优先选 Docker 路线。
失败指引(折叠)
安装或运行失败时请展开
1. wsl --install --no-distribution 失败
二者关系:
- “启用或关闭 Windows 功能”里勾选“适用于 Linux 的 Windows 子系统”和“虚拟机平台”,是图形界面手动方式
wsl --install --no-distribution是命令行自动方式- 两者目标一致,通常优先用命令,失败再用手动勾选兜底
处理顺序:
- 确认在管理员 PowerShell 执行
- 进入“启用或关闭 Windows 功能”,勾选:
- 适用于 Linux 的 Windows 子系统
- 虚拟机平台
- 重启 Windows
- 再次执行:
wsl --install --no-distribution- 仍失败时,检查 BIOS/UEFI 是否启用虚拟化(Intel VT-x / AMD-V)
2. wsl --version 或 wsl --status 输出异常
- 没有版本号或提示命令不可用:通常是组件未安装完成,先回到第 1 条重做启用
默认版本不是2:执行wsl --set-default-version 2- 缺少内核版本信息:执行
wsl --update后再试wsl --status
wsl --set-default-version 2
wsl --update
wsl --status3. 发行版显示为 WSL1
wsl --set-version Ubuntu-24.04 2
wsl --set-default-version 24. WSL2 无法启动
wsl --shutdown
wsl若仍失败:
systeminfo | findstr /i "虚拟化"5. 网络访问问题
ip addr show eth0Windows 侧访问优先使用:http://localhost:18789
6. 文件访问与性能
- 从 Windows 访问 WSL2 文件:
\\wsl$\Ubuntu-24.04\home\<用户名> - 从 WSL2 访问 Windows 文件:
/mnt/c/Users/<用户名>/ - 不要在
/mnt/c/下运行 Node.js 项目,建议在~/下工作
7. 内存占用过高
可以配置 C:\Users\<用户名>\.wslconfig:
[wsl2]
memory=4GB8. 重新安装 Ubuntu
wsl --unregister Ubuntu-24.04
wsl --install -d Ubuntu-24.04