ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

OpenClaw从零开始(篇二,在Windows11上安装Ubuntu)

OpenClaw从零开始(篇二,在Windows11上安装Ubuntu) 1. 为什么 OpenClaw 部署前要先在 Windows11 上装好 UbuntuOpenClaw 这类需要长期驻留、频繁读写文件、跑后台进程的工具直接放在 Windows 原生环境里跑经常会遇到路径分隔符、权限模型、依赖库版本这三类问题。我试过在纯 Windows 下折腾 Node 和 Python 混合依赖光是编译原生模块就能卡半天。所以更省心的路线是用 WSL2 在 Windows11 里开一个 Ubuntu 22.04把 OpenClaw 放进这个 Linux 环境里跑Windows 这边只负责文件管理和终端入口。WSL2 全称是 Windows Subsystem for Linux 2你可以把它理解成 Windows 内置的一个轻量级 Linux 运行空间。它和传统虚拟机不一样不需要你单独装 VMware 或 VirtualBox也不用划分独立磁盘分区启动速度接近原生终端。更关键的是WSL2 里的 Ubuntu 能直接访问 Windows 的磁盘比如你的 E 盘在 Ubuntu 里就是/mnt/e文件互传不用来回拷贝。这一篇的目标很明确在 Windows11 上把 WSL2 和 Ubuntu 22.04 装好并且把安装目录固定到E:\WSL2-Ubuntu方便后续 OpenClaw 部署时路径统一。整个过程分四步走启用 Windows 功能、设置 WSL2 为默认版本、下载并解压 Ubuntu 镜像到指定目录、初始化用户并验证网络。每一步我都会给出可以直接复制的 PowerShell 命令以及执行后应该看到什么结果。适合谁看手上是 Windows11、想跑 OpenClaw 但不想装双系统的人之前装过 WSL 但版本混乱、想重新整理一遍的人以及需要把 WSL 发行版放到非 C 盘、避免系统盘爆满的人。如果你还没装 OpenClaw这一篇就是前置环境准备装完 Ubuntu 再进入下一篇部署。需要提前确认两件事第一Windows11 的版本号要满足 Build 22000 以上WinR 输入winver就能看到第二你的主板 BIOS 里要开启虚拟化任务管理器 → 性能 → CPU看“虚拟化”是否为“已启用”。这两项不满足后面wsl --set-default-version 2会直接报错。另外提醒一句WSL2 的虚拟磁盘文件ext4.vhdx会随着你装东西越来越大所以从一开始就把发行版放到 E 盘这种空间充裕的分区比后期迁移省事得多。下面进入具体操作。2. TaoToken 前置准备给 OpenClaw 预留模型接入配置在装 Ubuntu 的同时建议你顺手把 TaoToken 的接入信息准备好。OpenClaw 部署完成后要调用大模型能力TaoToken 提供的是兼容 OpenAI 风格的 API 入口Base URL 固定为https://taotoken.net/api你只需要在控制台生成一个 API Key后面在 OpenClaw 的配置文件里填进去就能用。为什么要在装 Ubuntu 阶段就提这件事因为 WSL2 里的 Ubuntu 网络是 NAT 模式默认能访问外网但如果你后面在 OpenClaw 里配了本地代理变量反而会导致请求失败。所以我的做法是先在 Windows 侧把 Key 拿到记在一个文本文件里等 Ubuntu 装好、网络验证通过之后再统一写进 OpenClaw 的配置。这样排障时能分清是环境问题还是 Key 问题。具体操作路径打开 TaoToken 控制台进入 API Keys 页面点新建复制生成的 Key。这个 Key 只显示一次建议直接粘贴到你的密码管理器或者临时记事本。如果你还没决定用哪个模型可以先在模型对话页面测试一下确认 Key 能正常返回内容再去配 OpenClaw。这里要强调一个容易踩的坑WSL2 的 Ubuntu 里localhost指向的是 Ubuntu 自己不是 Windows 主机。如果你在 Ubuntu 里跑 OpenClaw它请求https://taotoken.net/api是走 Ubuntu 的网络栈和 Windows 侧的代理设置无关。所以不要在 Ubuntu 里额外配http_proxy指向 Windows 的代理端口除非你明确知道自己在做什么。实测下来直连是最稳的。如果你打算长期跑 OpenClaw 做编码或 Agent 任务可以关注一下 Coding Plan它比按量计费更适合高频调用场景。但这一步不急先把 Ubuntu 环境跑通Key 拿到手后面部署时再决定用哪种计费方式。还有一点TaoToken 的接入文档里有完整的请求示例包括 curl 和 Python 两种写法。你可以在 Ubuntu 装好后用curl直接测一下 API 连通性确认返回 200 再继续。这样能把“环境是否就绪”和“Key 是否有效”两个问题分开验证排障效率高很多。3. 可复制配置PowerShell 启用 WSL2 与 Ubuntu 安装到 E 盘这一节是全文操作最密集的部分所有命令都可以直接复制。我按顺序分成三块启用 Windows 功能、设置默认版本、下载并解压 Ubuntu 到E:\WSL2-Ubuntu。每块执行完都有验证动作不要跳步。3.1 启用 WSL 和虚拟机平台功能以管理员身份打开 PowerShell。方法是右键开始菜单选择“终端(管理员)”或“Windows PowerShell(管理员)”。然后依次执行下面两条命令dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart第一条启用 WSL 功能第二条启用虚拟机平台。执行完会提示“操作成功完成”但此时功能还没生效必须重启电脑。重启前不要急着执行后面的命令否则wsl --set-default-version 2会报“WSL 2 需要更新其内核组件”。重启之后再次以管理员身份打开 PowerShell执行wsl --set-default-version 2如果提示需要更新内核去下载wsl_update_x64.msi并双击安装。安装完再执行一次上面的命令看到“有关与 WSL 2 的主要区别的信息请访问 https://aka.ms/wsl2”就说明设置成功了。3.2 下载 Ubuntu 22.04 镜像到指定目录我选择把发行版放在E:\WSL2-Ubuntu避免占用 C 盘。先创建目录再下载镜像New-Item -Path E:\WSL2-Ubuntu -ItemType Directory -Force Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile E:\WSL2-Ubuntu\ubuntu2204.appx -UseBasicParsing如果Invoke-WebRequest下载慢或者中断可以手动下载。打开浏览器访问微软官方 WSL 手动安装页面找到 Ubuntu 22.04 LTS 的下载链接下载得到一个.AppxBundle文件把它复制到E:\WSL2-Ubuntu。3.3 解压并初始化 Ubuntu假设你拿到的是Ubuntu2204-221101.AppxBundle操作如下第一步把后缀改成.zip解压到E:\WSL2-Ubuntu得到一堆文件。第二步在里面找到Ubuntu_2204.1.7.0_x64.appx同样改名为.zip解压到E:\WSL2-Ubuntu\Ubuntu2204。解压后你会看到ubuntu.exe和install.tar.gz。第三步进入E:\WSL2-Ubuntu\Ubuntu2204双击ubuntu.exe。它会在当前目录生成ext4.vhdx虚拟磁盘然后提示你输入用户名和密码。这个账号密码自己设记牢后面sudo要用。设置完成后Ubuntu 就装在 E 盘了。如果你更喜欢命令行方式也可以在 PowerShell 里执行cd E:\WSL2-Ubuntu\Ubuntu2204 .\ubuntu.exe效果和双击一样。初始化完成后用wsl -l -v查看应该能看到 Ubuntu 的 STATE 是 RunningVERSION 是 2。3.4 wsl.conf 配置片段为了让 Ubuntu 里的默认用户和挂载行为更符合预期建议在 Ubuntu 里创建/etc/wsl.conf。先进入 Ubuntuwsl然后在 Ubuntu 终端里执行sudo tee /etc/wsl.conf /dev/null EOF [user] default你的用户名 [interop] enabledtrue appendWindowsPathtrue [automount] enabledtrue root/mnt/ optionsmetadata,umask22,fmask11 EOF把你的用户名换成你初始化时设的账号。metadata选项让 WSL 能正确记录 Linux 文件权限后面 OpenClaw 写文件不会出现权限混乱。改完后退出 Ubuntu在 PowerShell 执行wsl --shutdown再重新wsl进入配置生效。4. 验证请求wsl -l -v、uname -a 与网络连通性检查环境装完不能只看“没报错”要做几项验证确认 WSL2 版本、内核、用户权限、网络都正常。这些验证动作也是后面 OpenClaw 部署前的基线如果这里有问题部署阶段会更难排查。第一项在 PowerShell 里查看发行版列表和版本wsl -l -v正常输出类似NAME STATE VERSION * Ubuntu Running 2如果 VERSION 显示 1说明默认版本没设对回到 3.1 重新执行wsl --set-default-version 2。如果 STATE 是 Stopped执行wsl启动即可。第二项进入 Ubuntu 查看系统版本和内核lsb_release -a uname -a uname -rlsb_release -a应该显示 Ubuntu 22.04.x LTS。uname -r显示的内核版本通常带microsoft-standard-WSL2字样比如5.15.90.1-microsoft-standard-WSL2这就确认是 WSL2 环境而不是 WSL1。第三项验证管理员权限和网络sudo whoami curl -I https://taotoken.net/apisudo whoami输入密码后应返回root。curl -I如果返回HTTP/2 200或401都说明网络通返回401是因为没带 Key属于正常。如果卡住或报Could not resolve host检查 Windows 侧网络和 DNS可以在 Ubuntu 里执行cat /etc/resolv.conf看 DNS 配置。第四项验证 Windows 磁盘挂载ls /mnt/e应该能看到 E 盘的文件列表。如果看不到检查/etc/wsl.conf里的automount配置然后wsl --shutdown重启。第五项测试 API Key 是否有效。在 Ubuntu 里执行curl https://taotoken.net/api/v1/models \ -H Authorization: Bearer 你的Key如果返回模型列表 JSON说明 Key 和环境都就绪。这一步通过后你就可以放心进入 OpenClaw 部署了。5. 本篇常见错排查401、local proxy failed 与 OAuth 报错装 WSL2 和配 OpenClaw 的过程中有几类报错出现频率特别高。我把它们和真实报错信息对照着写你遇到时可以直接定位。第一类wsl --set-default-version 2报“WSL 2 需要更新其内核组件”。这不是命令写错而是内核更新包没装。去下载wsl_update_x64.msi安装或者用wsl --update命令更新。装完再执行一次即可。第二类wsl -l -v里 VERSION 显示 1。原因是设置默认版本之前就已经装了发行版旧发行版不会自动升级。执行wsl --set-version Ubuntu 2手动转换转换过程会花几分钟期间不要关终端。第三类Ubuntu 里curl https://taotoken.net/api报401 Unauthorized。这是没带 Key 的正常返回不是环境问题。带上Authorization: Bearer 你的Key再请求。如果带了 Key 还是 401检查 Key 是否复制完整、有没有多余空格。第四类报local proxy failed或Connection refused。这通常是因为你在 Ubuntu 里设了http_proxy或https_proxy环境变量指向了 Windows 侧的代理端口但 WSL2 的 NAT 网络访问不到那个端口。解决办法是清掉这些变量unset http_proxy unset https_proxy unset all_proxy然后检查~/.bashrc或~/.profile里有没有写死代理有就注释掉。TaoToken 的 API 直连即可不需要额外代理。第五类OpenClaw 启动时报reading choices或返回 JSON 解析失败。这多半是 Base URL 配错了。确认配置里写的是https://taotoken.net/api而不是带/v1或其他路径。如果你用的是某个客户端检查它的 Base URL 字段是否被自动补了后缀。第六类OAuth 相关报错比如OAuth token exchange failed。如果你在 OpenClaw 里配的是需要 OAuth 的模型接入方式但用的是 API Key 模式就会冲突。确认你的接入方式是 API Key而不是 OAuth。TaoToken 的 API Key 模式不需要走 OAuth 流程。第七类wsl --shutdown后重新进入/etc/wsl.conf配置没生效。检查文件路径和格式[user]、[interop]、[automount]这些段名不能拼错。改完必须wsl --shutdown完全关闭再启动只exit是不够的。第八类Ubuntu 里sudo apt update报 DNS 解析失败。在/etc/resolv.conf里加一行nameserver 8.8.8.8然后wsl --shutdown重启。如果还是不行检查 Windows 侧的网络是否正常。6. 环境就绪后用 TaoToken 接入 OpenClaw 的下一步Ubuntu 22.04 在 WSL2 里跑通、wsl -l -v显示 VERSION 2、uname -r带 WSL2 字样、curl能拿到模型列表这四件事都确认之后环境准备就算完成了。接下来进入 OpenClaw 部署你需要把 TaoToken 的 Base URL 和 Key 写进 OpenClaw 的配置文件。具体来说OpenClaw 的模型接入配置里Base URL 填https://taotoken.net/apiAPI Key 填你在控制台生成的那串Model ID 填你要用的模型名称。这三个字段缺一不可尤其是 Model ID写错了会报模型不存在。如果你不确定用哪个模型先去模型对话页面试一下确认能正常返回再填进配置。对于长期跑编码或 Agent 任务的场景Coding Plan 比按量计费更划算你可以在控制台里对比一下用量再决定。如果只是偶尔调用按量计费就够用。排障方面如果 OpenClaw 启动后请求失败先回到第 5 节对照报错。大部分问题集中在 Base URL 写错、Key 带空格、代理变量没清这三类。接入文档里有完整的配置示例遇到不确定的字段可以去查。最后提醒一点WSL2 的 Ubuntu 关机后不会自动释放内存如果你发现 Windows 内存占用偏高在 PowerShell 执行wsl --shutdown即可回收。这个操作不会删除你的数据下次wsl进入时一切照旧。环境搭好之后OpenClaw 的部署会顺畅很多下一篇我们直接进 OpenClaw 的安装和配置。
返回列表