於win WSL2中安裝openclaw

作者:

分類:

我的精簡流程:

安裝windows

Windows PowerShell(管理员)

wsl –list –online

wsl –install (一键安装命令, 安装默认的Ubuntu Linux发行版)

Enter new UNIX username:

New password:

Retype new password: (然後 必须重启电脑)

Windows PowerShell(管理员)

更新软件包索引

$ sudo apt update

升級已安裝的软件包

$ sudo apt upgrade -y

创建新文件
C:\Users\<您的用户名>\.wslconfig 
C:\Users\Administrator\.wslconfig 

內文:

[wsl2]
# 启用镜像网络模式 – 这是最重要的配置
networkingMode=mirrored
# 启用 DNS 隧道,防止 VPN 环境下域名解析失效
dnsTunneling=true
# 强制 WSL 使用 Windows 的 HTTP 代理设置
autoProxy=true
# 启用集成防火墙支持
firewall=true

[experimental]
# 自动回收闲置内存,优化性能
autoMemoryReclaim=gradual
# 支持主机回环地址访问
hostAddressLoopback=true

================================================

以下全文引用 …

Work-Fisher免费知识分享地址:

https://ask.feishu.cn/shared-space/7596230517146520766

OpenClaw AI Assistant Framework框架地址:

https://github.com/Work-Fisher/openclaw-ai-assistant-framework

全网最细 OpenClaw 教学:完整部署+飞书连接+白嫖LLM+无限进化框架,看完彻底学会!!!

OpenClaw详细部署流程

Windows 全场景 WSL2 + OpenClaw 运行环境 完整安装教案》

前置硬件/软件要求

  1. 系统:Windows 10 2004版本以上(内部版本19041+)/ Windows 11 全版本
  2. 硬件:CPU支持虚拟化(VT-x/AMD-V),内存≥8GB,目标磁盘剩余空间≥20GB
  3. 网络:能正常访问外网(或国内镜像源)

学习目标

学完本课程,你将掌握:

  1. Windows下WSL2的一键安装与验证
  2. WSL2自定义非系统盘安装的完整流程
  3. 适配OpenClaw的WSL环境优化配置
  4. WSL常见问题的排查与解决

第一章 课前必做:环境前置检查(100%避免安装失败)

所有安装方式都必须先完成这一步,提前规避90%的新手报错。

1.1 检查Windows系统版本a

  1. 按下键盘 Win + R,弹出运行窗口,输入 winver 回车
  2. 在弹出的窗口中核对版本要求:
  3. Windows 10:需显示「版本 2004 及以上」,内部版本号≥19041
  4. Windows 11:任意版本均符合要求
  5. 若版本不达标:打开「设置 → Windows 更新 → 检查更新」,升级到最新稳定版后再继续。

1.2 确认CPU虚拟化已开启

  1. 按下 Ctrl + Shift + Esc 打开任务管理器
  2. 切换到「性能」选项卡,点击「CPU」
  3. 在右下角查看「虚拟化:已启用」
  4. 若显示「未启用」:重启电脑,进入BIOS开启CPU虚拟化(VT-x/AMD-V),可搜索「你的电脑型号 开启虚拟化」获取对应教程。

1.3 准备管理员权限终端

后续所有操作必须以管理员身份运行终端,操作步骤:

  1. 按下 Win + X,在弹出的菜单中选择「Windows 终端(管理员)」(Windows 10 选择「Windows PowerShell(管理员)」)
  2. 弹出用户账户控制提示,点击「是」,进入管理员终端窗口,后续所有命令均在此窗口执行。

第二章 模块A:新手零门槛 一键安装WSL2(系统盘C盘)

适用场景:C盘剩余空间≥20GB,想最快速度完成安装,上手OpenClaw 全程仅需4步,5分钟完成安装

2.1 执行一键安装命令

在管理员终端中,直接输入以下命令,回车执行:

PowerShell
wsl –install

命令核心作用(视频必讲)

这是微软官方的一键安装指令,会自动完成所有操作,无需手动干预:

✅ 启用「适用于Linux的Windows子系统」核心组件

✅ 启用「虚拟机平台」虚拟化组件

✅ 下载并安装WSL2最新Linux内核

✅ 下载并安装默认的Ubuntu Linux发行版

✅ 自动设置WSL2为默认版本

初始化完成后,按提示创建UNIX用户账户:

Bash
# 1. 输入自定义用户名(纯英文小写,无空格/中文,比如openclaw)
Enter new UNIX username: openclaw
# 2. 输入自定义密码(输入时无字符回显,正常输入即可,务必牢记!)
New password:
# 3. 再次输入密码确认
Retype new password:

2.2 重启电脑使组件生效

命令执行完成后,必须重启电脑,否则系统组件不会生效,重启后再进行后续操作。

2.3 Ubuntua安装及系统初始化设置

  1. 按下 Win + X,在弹出的菜单中选择「Windows 终端(管理员)」(Windows 10 选择「Windows PowerShell(管理员)」)
  2. 输入
PowerShell
wsl –list –online
PowerShell
wsl –install Ubuntu

2.4 验证安装是否成功

在管理员终端中,输入以下命令回车执行:

PowerShell
wsl –list –verbose

成功标准(必须同时满足)

  1. STATE 列显示 Running
  2. VERSION 列显示 2(必须为2,不可为1)
  3. 发行版名称显示 Ubuntu 或对应版本名

完成验证后,可直接跳转到第四章,进行OpenClaw专属环境配置。

2.5 系统更新与软件源配置

常规使用

PowerShell
# 更新软件包索引
sudo apt update

# 升级已安装的软件包
sudo apt upgrade -y

# 安装常用工具
sudo apt install -y curl wget git

如果需要配置国内镜像源(如清华大学 TUNA 镜像或阿里云镜像),然后执行系统更新:

PowerShell
# 临时使用阿里云镜像(不修改 sources.list)
sudo apt update -o Dir::Etc::sourcelist=”/etc/apt/sources.list.d/aliyun.list” \
    -o Dir::Etc::sourceparts=”-” \
    -o APT::Get::List-Cleanup=”0″

第三章 模块B:自定义盘符安装 WSL2(非系统盘D/E/F盘)

适用场景:C盘空间不足,想把WSL安装到其他盘,全程10步,15分钟完成 核心说明:微软官方 wsl –install 命令无直接指定安装路径的参数,无法一键装到其他盘,因此采用「装核心组件→导出发行版→导入到目标盘」的官方标准方案,安全无风险,不会丢失数据。

3.1 安装WSL核心组件(必须先做)

在管理员终端中,依次执行以下命令,先安装WSL核心组件,不自动安装发行版:

PowerShell
# 启用WSL核心组件
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 安装WSL2内核更新包
wsl –update
# 设置WSL2为默认版本
wsl –set-default-version 2

执行完成后,必须重启电脑,使组件生效。

3.2 安装Ubuntu发行版到临时目录

重启电脑后,再次打开管理员终端,执行以下命令,安装OpenClaw官方推荐的Ubuntu 22.04 LTS稳定版:

PowerShell
wsl –install -d Ubuntu-22.04

3.3 终止发行版,避免自动初始化

安装完成后,绝对不要打开Ubuntu应用(避免自动初始化占用C盘),直接在终端执行以下命令,终止发行版运行:

PowerShell
wsl –terminate Ubuntu-22.04

3.4 在目标盘创建安装目录

  1. 打开文件资源管理器,在目标盘(如D盘)创建专属目录,示例:
  2. 导出文件临时目录:D:\WSL\backup
  3. 最终安装目录:D:\WSL\Ubuntu2204
  4. ❗ 关键避坑:目录路径绝对不要有中文、空格、特殊字符,否则会导致导入失败。

3.5 导出发行版到临时文件

在管理员终端中,执行导出命令,把安装的Ubuntu发行版打包成tar文件,放到目标盘临时目录:

PowerShell
# 命令格式:wsl –export 发行版名称 导出文件完整路径
wsl –export Ubuntu-22.04 D:\WSL\backup\ubuntu2204.tar
等待导出完成,根据磁盘速度约1-3分钟,无报错即为成功。

3.6 注销C盘的默认发行版

导出完成后,执行以下命令,删除C盘安装的默认发行版,释放C盘空间:

PowerShell
# 命令格式:wsl –unregister 发行版名称
wsl –unregister Ubuntu-22.04
执行后,C盘的发行版文件会被完全删除,后续用导出的tar文件导入到目标盘。

3.7 导入发行版到目标盘

执行导入命令,把tar文件导入到目标安装目录,强制使用WSL2版本:

PowerShell
# 命令格式:wsl –import 自定义发行版名称 目标安装目录 导出tar文件路径 –version 2
wsl –import Ubuntu-22.04 D:\WSL\Ubuntu2204 D:\WSL\backup\ubuntu2204.tar –version 2

参数解释(视频必讲)

  • Ubuntu-22.04:自定义的发行版名称,后续启动用这个名字
  • D:\WSL\Ubuntu2204:目标安装目录,WSL所有文件都会存放在这里
  • –version 2:强制使用WSL2版本,必须添加该参数

3.8 设置默认登录用户(关键!避免默认root登录)

导入完成后默认会以root管理员身份登录,不符合日常使用规范,需设置普通用户为默认登录用户:

  1. 先进入导入的Ubuntu系统:
PowerShell
wsl -d Ubuntu-22.04
  • 进入系统后,依次执行以下命令,替换命令中的 openclaw 为你自定义的用户名:
Bash
# 1. 创建用户,自动创建家目录,设置默认shell为bash
useradd -m -s /bin/bash openclaw
# 2. 给用户设置密码(输入时无回显,务必牢记)
passwd openclaw
# 3. 给用户赋予sudo管理员权限
usermod -aG sudo openclaw
# 4. 配置WSL默认登录用户为刚创建的用户
echo -e “[user]\ndefault = openclaw” >> /etc/wsl.conf
  • 执行完成后,输入 exit 退出WSL系统,回到Windows终端。

3.9 重启WSL使配置生效

在管理员终端执行以下命令,终止并重启发行版:

PowerShell
# 终止发行版
wsl –terminate Ubuntu-22.04
# 重新进入系统,验证默认用户
wsl -d Ubuntu-22.04

成功标准

进入系统后,命令行前缀显示你创建的用户名,而非root,示例:

Plain Text
openclaw@你的电脑名:~$

3.10 验证安装路径与版本

在Windows管理员终端,执行以下命令验证安装结果:

PowerShell
wsl –list –verbose

成功标准(必须同时满足)

  1. STATE 列显示 Running
  2. VERSION 列显示 2a
  3. LOCATION 列显示你设置的目标盘路径(如D:\WSL\Ubuntu2204)
  4. 打开目标盘目录,能看到WSL系统文件,说明安装路径正确

第四章 【核心必做】OpenClaw专属WSL环境优化配置

WSL 网络架构详解与配置

配置.wslconfig 文件

镜像模式属于全局配置,需在 Windows 用户目录下创建或修改 .wslconfig 文件。

步骤 1:打开文件资源管理器,导航到以下路径:

PowerShell
C:\Users\<您的用户名>\

步骤 2:如果文件不存在,创建名为 .wslconfig 的新文件(注意前面的点号)。

            也可以直接下载放入

步骤 3:使用记事本打开文件,添加以下配置:

[.wslconfig]

PowerShell
[wsl2]
# 启用镜像网络模式 – 这是最重要的配置
networkingMode=mirrored
# 启用 DNS 隧道,防止 VPN 环境下域名解析失效
dnsTunneling=true
# 强制 WSL 使用 Windows 的 HTTP 代理设置
autoProxy=true
# 启用集成防火墙支持
firewall=true

[experimental]
# 自动回收闲置内存,优化性能
autoMemoryReclaim=gradual
# 支持主机回环地址访问
hostAddressLoopback=true

步骤 4:保存文件。

步骤 5:在 Windows 终端中执行以下命令以应用配置:

PowerShell
wsl –shutdown

步骤 6:等待约 8 秒钟以确保虚拟机彻底关闭,然后重新启动 Ubuntu。

验证配置:

进入 WSL 后,执行以下命令验证网络模式:

PowerShell
# 查看网络接口
ip addr show

# 查看路由表
ip route show

# 测试与局域网的连通性
ping 192.168.1.1

防火墙与安全策略调整

在镜像模式下,WSL2 应用将直接暴露在 Windows 防火墙规则中。为了确保 OpenClaw 的网络端口能够被正确访问,需要配置 Windows 防火墙规则。

步骤 1:以管理员身份打开 PowerShell

在开始菜单中搜索 “PowerShell”,右键选择”以管理员身份运行”。

步骤 2:配置防火墙规则

在镜像模式下,WSL2 应用将直接暴露在 Windows 防火墙规则中。以下提供两种配置方法:

方法一:标准防火墙命令(推荐用于 WSL2

对于 WSL2 镜像网络模式,推荐使用标准的 Windows 防火墙命令:

PowerShell
# 创建入站防火墙规则,允许 OpenClaw 服务端口
New-NetFirewallRule -DisplayName “OpenClaw-Service” -Direction Inbound -Action Allow -Protocol TCP -LocalPort 18789

# 验证规则是否创建成功
Get-NetFirewallRule -DisplayName “OpenClaw-Service” | Format-Table

4.1 基础环境配置(免密设置)

为了在后续安装脚本运行中避免频繁输入密码,建议为当前用户开启 sudo 免密权限:

PowerShell
sudo visudo

在文件末尾添加以下内容(将 workfisher 替换为你的实际用户名):

PowerShell
workfisher ALL=(ALL) NOPASSWD: ALL

保存并退出(Ctrl+O → Enter → Ctrl+X)。

4.2 安装基础工具

PowerShell
sudo apt install -y curl wget git

4.3 安装 OpenClaw 官方脚本

PowerShell
curl -fsSL https://molt.bot/install.sh | bash

4.4 如果出现npm没有安装到全局环境

执行这段代码

PowerShell
# 如果是 bash(默认)
echo ‘export PATH=”/home/workfisher/.npm-global/bin:$PATH”‘ >> ~/.bashrc
source ~/.bashrc

# 验证
which openclaw
openclaw –version
PowerShell
openclaw setup

4.5 LLM模型选择

1.GLM 新用户可以白嫖 并且设置方便

https://open.bigmodel.cn/activity/trial-card/FRTMYUEKJL

2.阿里百炼 7.9可以白嫖首月CODE

https://bailian.console.aliyun.com/cn-beijing/?tab=model#/efm/coding_plan

3.硅基流动也可以白嫖很多新手卷

https://cloud.siliconflow.cn/i/zrH6CauM

阿里百炼openclaw部署办法

JSON
{
  “models”: {
    “mode”: “merge”,
    “providers”: {
      “bailian”: {
        “baseUrl”: “https://coding.dashscope.aliyuncs.com/v1”,
        “apiKey”: “这里填阿里云coding plan的apikey”,
        “api”: “openai-completions”,
        “models”: [
          {
            “id”: “qwen3.5-plus”,
            “name”: “qwen3.5-plus”,
            “reasoning”: false,
            “input”: [
              “text”
            ],
            “cost”: {
              “input”: 0,
              “output”: 0,
              “cacheRead”: 0,
              “cacheWrite”: 0
            },
            “contextWindow”: 262144,
            “maxTokens”: 65536
          }
        ]
      }
    }
  },
  “agents”: {
    “defaults”: {
      “model”: {
        “primary”: “bailian/qwen3.5-plus”
      },
      “models”: {
        “bailian/qwen3.5-plus”: {
          “alias”: “qwen3.5-plus”
        }
      },
      “maxConcurrent”: 4,
      “subagents”: {
        “maxConcurrent”: 8
      }
    }
  }
}

输入代码:重新启动

PowerShell
openclaw gateway restart

4.5 运行初始化向导

PowerShell
openclaw config

4.6 验证安装

PowerShell
which openclaw
openclaw –version
openclaw gateway statusopenclaw config

openclaw拓展链接

https://chromewebstore.google.com/detail/openclaw-browser-relay/nglingapjinhecnfejdcpihlpneeadjp

报错请看

如果启动gateway报错:需要启用 systemd 才能在 WSL 里正常运行。

1.输入代码

PowerShell
sudo tee /etc/wsl.conf << ‘EOF’
[boot]
systemd=true
EOF

2.在 Windows PowerShell 里执行 wsl –shutdown

PowerShell
wsl –shutdown

3.重启 WSL 后,再启动 OpenClaw:

如果启动OPENCLAW 出现下面的代码

PowerShell
Gateway service disabled.
Start with: openclaw gateway install
Start with: openclaw gateway
Start with: systemctl –user start openclaw-gateway.service

1.输入

PowerShell
openclaw gateway install
systemctl –user start openclaw-gateway.service

2.检查状态

PowerShell
openclaw gateway status

第五章 【新手高频问题 避坑指南】

问题1:执行wsl –install报错,提示需要更新内核

解决方案:手动下载安装微软官方WSL2内核更新包,地址:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package,安装后重新执行命令。

问题2wsl –list –verbose 显示VERSION1,不是2

解决方案:

  1. 确认CPU虚拟化已开启
  2. 执行 wsl –set-default-version 2
  3. 执行 wsl –set-version 你的发行版名称 2,等待转换完成

问题3:忘记Ubuntu用户密码

解决方案:

  1. 在Windows终端执行 wsl -d 发行版名称 -u root,以root身份进入系统
  2. 执行 passwd 你的用户名,重新设置密码
  3. 执行 exit 退出,用新密码登录即可

问题4:镜像模式不生效,IP还是172开头

解决方案:

  1. 确认.wslconfig文件放在正确的用户目录下,文件名正确(.wslconfig,不是wslconfig.txt)
  2. 执行 wsl –shutdown 完全关闭WSL,等待10秒后再启动
  3. 执行 wsl –update 更新WSL到最新版本

问题5:导入发行版报错,提示路径无效

解决方案:检查目标路径是否有中文、空格、特殊字符,换成纯英文路径,比如D:\WSL\Ubuntu2204,不要使用带空格/中文的路径。

第六章 【飞书连接】

WSL中 输入下面这串代码开始飞书的设置

PowerShell
openclaw config

飞书开发后台:https://open.feishu.cn/?lang=zh-CN

接下来跟着视频详细操作

JSON
{
  “scopes”: {
    “tenant”: [
      “base:app:copy”,
      “base:app:create”,
      “base:app:read”,
      “base:app:update”,
      “base:collaborator:create”,
      “base:collaborator:delete”,
      “base:collaborator:read”,
      “base:dashboard:copy”,
      “base:dashboard:read”,
      “base:field:create”,
      “base:field:delete”,
      “base:field:read”,
      “base:field:update”,
      “base:form:read”,
      “base:form:update”,
      “base:record:create”,
      “base:record:delete”,
      “base:record:read”,
      “base:record:retrieve”,
      “base:record:update”,
      “base:role:create”,
      “base:role:delete”,
      “base:role:read”,
      “base:role:update”,
      “base:table:create”,
      “base:table:delete”,
      “base:table:read”,
      “base:table:update”,
      “base:view:read”,
      “base:view:write_only”,
      “bitable:app”,
      “bitable:app:readonly”,
      “board:whiteboard:node:create”,
      “board:whiteboard:node:delete”,
      “board:whiteboard:node:read”,
      “board:whiteboard:node:update”,
      “contact:contact.base:readonly”,
      “contact:user.base:readonly”,
      “contact:user.employee_id:readonly”,
      “contact:user.employee_number:read”,
      “contact:user.id:readonly”,
      “docs:doc”,
      “docs:doc:readonly”,
      “docs:document.comment:create”,
      “docs:document.comment:read”,
      “docs:document.comment:update”,
      “docs:document.comment:write_only”,
      “docs:document.content:read”,
      “docs:document.media:download”,
      “docs:document.media:upload”,
      “docs:document.subscription”,
      “docs:document.subscription:read”,
      “docs:document:copy”,
      “docs:document:export”,
      “docs:document:import”,
      “docs:event.document_deleted:read”,
      “docs:event.document_edited:read”,
      “docs:event.document_opened:read”,
      “docs:event:subscribe”,
      “docs:permission.member”,
      “docs:permission.member:auth”,
      “docs:permission.member:create”,
      “docs:permission.member:delete”,
      “docs:permission.member:readonly”,
      “docs:permission.member:retrieve”,
      “docs:permission.member:transfer”,
      “docs:permission.member:update”,
      “docs:permission.setting”,
      “docs:permission.setting:read”,
      “docs:permission.setting:readonly”,
      “docs:permission.setting:write_only”,
      “docx:document”,
      “docx:document.block:convert”,
      “docx:document:create”,
      “docx:document:readonly”,
      “drive:drive”,
      “drive:drive.metadata:readonly”,
      “drive:drive.search:readonly”,
      “drive:drive:readonly”,
      “drive:drive:version”,
      “drive:drive:version:readonly”,
      “drive:export:readonly”,
      “drive:file”,
      “drive:file.like:readonly”,
      “drive:file.meta.sec_label.read_only”,
      “drive:file:download”,
      “drive:file:readonly”,
      “drive:file:upload”,
      “drive:file:view_record:readonly”,
      “event:ip_list”,
      “im:app_feed_card:write”,
      “im:biz_entity_tag_relation:read”,
      “im:biz_entity_tag_relation:write”,
      “im:chat”,
      “im:chat.access_event.bot_p2p_chat:read”,
      “im:chat.announcement:read”,
      “im:chat.announcement:write_only”,
      “im:chat.chat_pins:read”,
      “im:chat.chat_pins:write_only”,
      “im:chat.collab_plugins:read”,
      “im:chat.collab_plugins:write_only”,
      “im:chat.managers:write_only”,
      “im:chat.members:bot_access”,
      “im:chat.members:read”,
      “im:chat.members:write_only”,
      “im:chat.menu_tree:read”,
      “im:chat.menu_tree:write_only”,
      “im:chat.moderation:read”,
      “im:chat.tabs:read”,
      “im:chat.tabs:write_only”,
      “im:chat.top_notice:write_only”,
      “im:chat.widgets:read”,
      “im:chat.widgets:write_only”,
      “im:chat:create”,
      “im:chat:delete”,
      “im:chat:moderation:write_only”,
      “im:chat:operate_as_owner”,
      “im:chat:read”,
      “im:chat:readonly”,
      “im:chat:update”,
      “im:datasync.feed_card.time_sensitive:write”,
      “im:message”,
      “im:message.group_at_msg:readonly”,
      “im:message.group_msg”,
      “im:message.p2p_msg:readonly”,
      “im:message.pins:read”,
      “im:message.pins:write_only”,
      “im:message.reactions:read”,
      “im:message.reactions:write_only”,
      “im:message.urgent”,
      “im:message.urgent.status:write”,
      “im:message.urgent:phone”,
      “im:message.urgent:sms”,
      “im:message:readonly”,
      “im:message:recall”,
      “im:message:send_as_bot”,
      “im:message:send_multi_depts”,
      “im:message:send_multi_users”,
      “im:message:send_sys_msg”,
      “im:message:update”,
      “im:resource”,
      “im:tag:read”,
      “im:tag:write”,
      “im:url_preview.update”,
      “im:user_agent:read”,
      “sheets:spreadsheet”,
      “sheets:spreadsheet.meta:read”,
      “sheets:spreadsheet.meta:write_only”,
      “sheets:spreadsheet:create”,
      “sheets:spreadsheet:read”,
      “sheets:spreadsheet:readonly”,
      “sheets:spreadsheet:write_only”,
      “space:document.event:read”,
      “space:document:delete”,
      “space:document:move”,
      “space:document:retrieve”,
      “space:document:shortcut”,
      “space:folder:create”,
      “wiki:member:create”,
      “wiki:member:retrieve”,
      “wiki:member:update”,
      “wiki:node:copy”,
      “wiki:node:create”,
      “wiki:node:move”,
      “wiki:node:read”,
      “wiki:node:retrieve”,
      “wiki:node:update”,
      “wiki:setting:read”,
      “wiki:setting:write_only”,
      “wiki:space:read”,
      “wiki:space:retrieve”,
      “wiki:space:write_only”,
      “wiki:wiki”,
      “wiki:wiki:readonly”
    ]
  }
}

如果需要审批通过

WSL中输入:

Bash
openclaw pairing approve feishu EFSX8S7D
(这个替换成飞书当中的英文)

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *