Window 10/11 WSL 安装配置教程

在Windows Subsystem for Linux中部署OpenClaw,享受Windows和Linux的双重视角


✅ 前置条件

系统要求

要求 最低版本 推荐版本 检查命令
Windows 10 (Build 19044+) 11 (22H2+) winver
内存 8GB 16GB+ 查看系统信息
存储 40GB 100GB+ 查看磁盘空间
网络 稳定连接 稳定连接

权限要求

✅ 管理员权限: 安装和配置WSL需要管理员权限

💻 如何检查Windows版本
  1. 按 Win + R 打开运行
  2. 输入 winver
  3. 查看Windows版本号

Windows 10: Build 19044 或更高 Windows 11: 任何版本都支持


🚀 快速开始

5分钟快速在WSL中部署OpenClaw

步骤 任务 预计时间 状态
1️⃣ 安装WSL 3分钟 ⏳ 进行中
2️⃣ 配置WSL 1分钟 ⏸️ 待开始
3️⃣ 安装OpenClaw 1分钟 ⏸️ 待开始
4️⃣ 配置API 30秒 ⏸️ 待开始
5️⃣ 启动Gateway 30秒 ⏸️ 待开始

一键安装(推荐)✨

# 以管理员身份运行PowerShell,然后执行以下命令

wsl --install

此命令将:

  • ✅ 启用WSL功能
  • ✅ 启用虚拟机平台
  • ✅ 下载并安装Ubuntu(默认Linux发行版)
  • ✅ 重启计算机
⚙️ 自定义Linux发行版
# 安装指定发行版
wsl --install -d Ubuntu-22.04

# 查看可用发行版
wsl --list --online

📦 安装WSL

方式1: 使用wsl –install(推荐)✨

适用场景: Windows 10 (Build 19044+) 或 Windows 11

步骤

  1. 打开PowerShell(管理员)

    • 右键点击开始菜单
    • 选择 “Windows PowerShell (管理员)”
    • 或按 Win + X → “Windows PowerShell (管理员)”
  2. 执行安装命令

    wsl --install
  3. 重启计算机

    • 安装完成后会提示重启
    • 保存所有工作后重启
  4. 首次启动配置

    • 重启后会自动打开Ubuntu
    • 设置用户名和密码

✅ 成功标志: 可以在Ubuntu终端中运行Linux命令


方式2: 手动安装

适用场景: 更细粒度控制,或WSL 1

WSL 1 2版本对比
WSL 2 采用了轻量级虚拟化技术和完整的 Linux 内核,在系统调用兼容性和文件 I/O 性能上全面超越 WSL 1。如果您需要运行 Docker 或进行跨系统文件开发,WSL 2 是最佳选择;若需频繁在 Windows 磁盘跨文件读写,WSL 1 更具优势。
以下是两者的核心差异对比:
核心架构对比

特性  WSL 1 WSL 2
底层架构 翻译层(将 Linux 系统调用转为 Windows API) 轻量级虚拟机(带实际的 Linux 内核)
Linux 内核 无真实内核 包含官方定制的真实 Linux 内核
系统调用兼容 部分兼容(部分复杂工具如 Docker 无法运行) 100% 兼容(支持所有原生 Linux 应用和 Docker)

性能与资源

特性 WSL 1 WSL 2
Linux 文件读写 (I/O) 较慢 极快(存储在专属虚拟磁盘中)
Windows 文件跨越访问 极快(完美访问本地 C:D: 盘) 较慢(跨网络/虚拟化协议挂载)
磁盘空间占用 占用低,与 Windows 文件系统共享 动态增长的虚拟磁盘 (.vhdx),容易占用大量空间
内存占用 随进程释放,占用极低 较大,默认会占用部分物理内存作为缓存

网络与设备

特性  WSL 1 WSL 2
本地网络集成 共享主机 IP(类似本机应用) 位于独立的虚拟网络中(需配置端口转发)
GPU/硬件支持 较差 优秀(原生支持 CUDA、GPU 硬件加速)

启用WSL功能

# 启用WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 设置WSL 2为默认
wsl --set-default-version 2

# 重启
shutdown /r /t 0

方式3: 使用Docker Desktop

适用场景: 已使用Docker Desktop,需要WSL 2

启用WSL 2

  1. 下载Docker Desktop

  2. 启用WSL 2集成

    • 打开Docker Desktop
    • Settings → General → 勾选 “Use the WSL 2 based engine”
    • Settings → Resources → WSL Integration → 勾选 “Enable integration with my default WSL distro”

✅ 成功标志: Docker Desktop中可以看到WSL发行版


验证WSL安装

# 查看WSL状态
wsl --status

# 查看已安装的发行版
wsl --list --verbose

✅ 成功输出:

默认分发:Ubuntu-22.04
默认版本:2

⚙️ WSL配置优化

内存配置

WSL2默认使用50%的物理内存,可以根据需要调整

# 创建.wslconfig文件(在用户目录下)
notepad $env:USERPROFILE\.wslconfig

添加以下内容:

[wsl2]
memory=16GB           # 限制内存为16GB
processors=4          # 限制使用4个CPU核心
swap=2GB              # 限制交换空间为2GB
swapFile=D:\\wsl-swap.vhdx  # 自定义交换文件位置

保存并重启WSL:

wsl --shutdown

性能优化

1. 禁用WSL时间同步

WSL 2默认与Windows同步时间,可以禁用以提高性能:

[wsl2]
memory=16GB
processors=4
swap=2GB
# 禁用时间同步
systemd=false

2. 优化文件系统性能

WSL 2的文件系统性能可能不如原生Linux,优化建议:

  • 尽量避免频繁访问Windows文件(WSL 2会通过9P协议访问,速度慢)
  • 将项目文件放在WSL文件系统/home/username/
  • 使用WSL 1(如果需要频繁访问Windows文件)

3. 启用systemd支持(WSL 0.67.0+)

WSL 2 (版本0.67.0+) 支持systemd,可以更好地运行服务:

[wsl2]
memory=16GB
processors=4
swap=2GB
# 启用systemd支持
systemd=true

📥 在WSL中安装OpenClaw

进入WSL

# 进入默认WSL发行版
wsl

# 或进入指定发行版
wsl -d Ubuntu-22.04

✅ 成功标志: 终端提示符变为Linux格式(如 username@computername:~$


安装Node.js

# 更新包管理器
sudo apt update
# 安装 Node.js 24(官方要求最低版本,推荐使用)
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs
# 验证安装
node --version
npm --version

✅ 成功输出:

v24.x.x
10.x.x

安装OpenClaw

# 安装OpenClaw
npm install -g openclaw@latest

# 验证安装
openclaw --version

✅ 成功输出OpenClaw CLI v2026.6.6+


⚙️ 下一步:配置API与消息平台

配置API

OpenClaw 需要配置大模型 API 才能运行。Tokens: 👉 API配置教程

配置飞书(一键安装,官方推荐)✨

最新版OpenClaw支持飞书官方一键安装脚本,无需手动创建应用和配置权限,扫码即可完成对接:

# 执行飞书官方一键安装脚本
npx -y https://sf3-cn.feishucdn.com/obj/open-platform-opendoc/8ab6e7a04c17db1becfcbda8ca35f091_1rCCFRWlRV.tgz install

执行过程中会弹出二维码,用飞书客户端扫码即可一键创建飞书机器人,自动完成所有配置。


配置API Key

# 启动配置向导
openclaw init

按照提示操作:

  1. 选择API提供商
  2. 粘贴API Key
  3. 选择默认模型
  4. 完成配置

🔌 WSL网络配置

localhost访问

WSL 2的网络是独立的,需要特殊配置才能从Windows访问

方式1: 使用localhost(WSL 2.0.9+)

WSL 2.0.9+版本支持localhost自动转发:

# 在WSL中启动Gateway
openclaw gateway start

然后在Windows浏览器访问: http://localhost:18789

✅ 优势: 无需额外配置


方式2: 使用WSL IP地址

适用于旧版本WSL:

# 在WSL中查询IP地址
ip addr show eth0

记录IP地址(如 172.20.10.5),然后在Windows浏览器访问: http://172.20.10.5:18789


防火墙配置

Windows防火墙

# 允许WSL访问(在Windows PowerShell中运行)
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

WSL防火墙(可选)

# 安装并配置UFW
sudo apt install -y ufw
sudo ufw allow 18789/tcp
sudo ufw enable

端口转发(高级)

使Windows外网可以访问WSL中的服务

# 创建端口转发规则(在Windows PowerShell中运行)
# 格式: netsh interface portproxy add v4tov4 listenport=[Windows端口] listenaddress=0.0.0.0 connectport=[WSL端口] connectaddress=[WSL IP]

netsh interface portproxy add v4tov4 listenport=18789 listenaddress=0.0.0.0 connectport=18789 connectaddress=172.20.10.5

# 查看规则
netsh interface portproxy show all

然后从外网访问: http://[Windows公网IP]:18789


🔄 Windows集成

Windows文件访问

WSL可以访问Windows文件系统,反之亦然

在WSL中访问Windows文件

Windows的C盘挂载在 /mnt/c/

# 访问Windows的C盘
cd /mnt/c/Users/YourUsername/Documents

# 访问Windows的D盘
cd /mnt/d/Projects

在Windows中访问WSL文件

WSL文件系统通过 \\wsl$\ 访问:

# 在Windows资源管理器中访问
\\wsl$\Ubuntu-22.04\home\username\.openclaw

# 在命令行中访问
cd \\wsl$\Ubuntu-22.04\home\username\.openclaw

剪贴板共享

WSL和Windows共享剪贴板:

# 安装xclip(如果需要)
sudo apt install -y xclip

# 复制到剪贴板
echo "Hello from WSL" | xclip -selection clipboard

然后在Windows中粘贴即可


任务栏集成

添加WSL快捷方式

# 创建快捷方式到桌面
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$env:USERPROFILE\Desktop\WSL Ubuntu.lnk")
$Shortcut.TargetPath = "wsl.exe"
$Shortcut.Arguments = "-d Ubuntu-22.04"
$Shortcut.Save()

Windows服务启动(高级)

配置Windows服务,开机自动启动WSL中的OpenClaw

使用Task Scheduler

  1. 打开Task Scheduler

    • 按 Win + R → 输入 taskschd.msc
  2. 创建任务

    • 右侧 “Create Task”
    • General:
      • Name: OpenClaw WSL
      • Run whether user is logged on or not
    • Triggers → New:
      • Begin the task: At startup
    • Actions → New:
      • Program/script: C:\Windows\System32\wsl.exe
      • Add arguments: -d Ubuntu-22.04 -u root -- openclaw gateway start
  3. 保存任务

✅ 成功标志: Windows重启后自动启动OpenClaw


⚠️ 常见问题

Q: WSL安装失败?

A: 按照以下步骤排查:

  1. 检查Windows版本

    winver

    确保是Windows 10 (Build 19044+) 或 Windows 11

  2. 启用虚拟化

    • 进入BIOS/UEFI
    • 启用Intel VT-x或AMD-V
  3. 启用WSL功能

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. 重启计算机


Q: 如何切换WSL版本?

A:

# 查看当前WSL版本
wsl --list --verbose

# 设置默认WSL版本
wsl --set-default-version 2

# 设置特定发行版的WSL版本
wsl --set-version Ubuntu-22.04 2

# 重启WSL
wsl --shutdown

Q: WSL网络无法连接?

A: 常见原因和解决方案:

原因 解决方案
防火墙阻止 允许WSL通过Windows防火墙
WSL未启动 运行 wsl 启动WSL
IP地址变化 重新查询WSL IP地址
代理设置 配置 http_proxy 和 https_proxy

Q: 如何卸载WSL?

A:

# 卸载指定发行版
wsl --unregister Ubuntu-22.04

# 禁用WSL功能
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart

# 重启
shutdown /r /t 0

⚠️ 警告: 此操作会删除所有WSL数据和Linux发行版


Q: WSL内存占用过高?

A: 优化.wslconfig:

[wsl2]
memory=8GB           # 限制内存
processors=4          # 限制CPU
swap=2GB              # 限制交换空间
pageReporting=false    # 禁用页面报告

然后重启WSL:wsl --shutdown

WSL 高级配置

WSL 2虚拟机配置

 

虚拟机配置文件位置

 

.wslconfig 文件位于Windows用户目录:

C:\Users\[用户名]\.wslconfig

完整配置示例

 

[wsl2]
# 内存配置
memory=16GB           # 限制内存为16GB
swap=2GB              # 限制交换空间为2GB
swapFile=D:\\wsl-swap.vhdx  # 自定义交换文件位置

# CPU配置
processors=4          # 限制使用4个CPU核心

# 内核配置
kernelCommandLine=     # 传递给Linux内核的命令行参数

# 性能优化
pageReporting=false    # 禁用页面报告
nestedVirtualization=true  # 启用嵌套虚拟化
vmIdleTimeout=60      # WSL虚拟机空闲超时(分钟)

# systemd支持
systemd=true         # 启用systemd支持

# 调试配置
debugConsole=true    # 在启动时显示WSL调试控制台

# 自动挂载配置
automount=true       # 启用自动挂载
automountRoot=/      # 自动挂载根目录
automountOptions="metadata,uid=1000,gid=1000,umask=022,fmask=111"  # 挂载选项

# 网络配置
networkingMode=mirrored  # 网络模式(mirrored/nat)
firewall=true        # 启用防火墙
dnsTunneling=true    # 启用DNS隧道
autoProxy=true       # 启用自动代理

[experimental]
# 实验性功能
autoMemoryReclaim=gradual  # 自动内存回收(slow/gradual)
sparseVhd=true      # 启用稀疏VHD

[user]
# 用户自定义配置
defaultShell=/bin/bash  # 默认shell

配置说明

 

内存相关

 

配置项 说明 推荐值
memory 限制WSL使用的内存 8GB-32GB
swap 限制交换空间 2GB-8GB
swapFile 自定义交换文件位置 D:\\wsl-swap.vhdx

CPU相关

 

配置项 说明 推荐值
processors 限制WSL使用的CPU核心数 物理核心数-2

网络相关

 

配置项 说明 推荐值
networkingMode 网络模式 mirrored(WSL 2.0.0+)
firewall 启用WSL防火墙 true
dnsTunneling 启用DNS隧道 true
autoProxy 启用自动代理 true

应用配置

 

编辑 .wslconfig 文件后,重启WSL:

# 重启WSL
wsl --shutdown

# 重新启动
wsl

📦 多WSL发行版管理

 

安装多个发行版

 

# 查看可用的发行版
wsl --list --online

# 安装多个发行版
wsl --install -d Ubuntu-22.04
wsl --install -d Debian-12
wsl --install -d OracleLinux-8

管理发行版

 

# 查看已安装的发行版
wsl --list --verbose

# 设置默认发行版
wsl --set-default Ubuntu-22.04

# 设置特定发行版的WSL版本
wsl --set-version Debian-12 1
wsl --set-version Ubuntu-22.04 2

启动特定发行版

 

# 启动默认发行版
wsl

# 启动特定发行版
wsl -d Ubuntu-22.04
wsl -d Debian-12

# 以特定用户身份启动
wsl -d Ubuntu-22.04 -u root

终止发行版

 

# 终止所有WSL实例
wsl --shutdown

# 终止特定发行版
wsl --terminate Ubuntu-22.04

导出和导入发行版

 

# 导出发行版为tar文件
wsl --export Ubuntu-22.04 ubuntu-backup.tar

# 导入tar文件为新发行版
wsl --import Ubuntu-Copy D:\WSL\Ubuntu-Copy ubuntu-backup.tar

# 指定版本号导入
wsl --import Ubuntu-Test D:\WSL\Ubuntu-Test ubuntu-backup.tar --version 2

卸载发行版

 

# 卸载发行版(保留数据)
wsl --unregister Ubuntu-22.04

# 或删除整个发行版(删除数据)
wsl --unregister Ubuntu-22.04
rm "C:\Users\[用户名]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04onWindows_..."

🎨 GUI应用支持(WSLg)

 

检查WSLg支持

 

WSLg(WSL GUI)自Windows 11和Windows 10 (Build 19044+)开始支持。

# 查看Windows版本
winver

✅ 支持版本: Windows 11 或 Windows 10 (Build 19044+)


安装GUI应用

 

在WSL中安装图形应用:

# 更新包管理器
sudo apt update

# 安装GTK应用
sudo apt install -y gedit

# 安装Qt应用
sudo apt install -y kate

# 安装浏览器
sudo apt install -y firefox

运行GUI应用

 

# 运行gedit文本编辑器
gedit

# 运行Kate编辑器
kate

# 运行Firefox浏览器
firefox

✅ 成功标志: GUI应用在Windows桌面上显示


配置显示环境

 

WSLg自动配置显示环境,但也可以手动配置:

# 查看显示环境
echo $DISPLAY
echo $WAYLAND_DISPLAY

WSLg性能优化

 

1. 禁用硬件加速(如果遇到问题)

 

# 禁用硬件加速
export LIBGL_ALWAYS_SOFTWARE=1

2. 调整DPI设置

 

编辑 /etc/wsl.conf

[boot]
systemd=true

[user]
defaultShell=/bin/bash

[interop]
appendWindowsPath=true
displayWindowsApps=true

3. 优化GPU使用

 

.wslconfig 中启用嵌套虚拟化:

[wsl2]
nestedVirtualization=true

🎮 GPU加速配置

 

检查GPU支持

 

# 在WSL中检查GPU
lspci | grep -i vga

# 检查CUDA支持
nvidia-smi

安装CUDA工具包

 

# 添加CUDA仓库
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

# 添加CUDA到PATH
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

验证CUDA安装

 

# 验证CUDA安装
nvcc --version

# 测试CUDA设备
python3 -c "import torch; print(torch.cuda.is_available())"

GPU加速应用示例

 

1. PyTorch GPU加速

 

# 安装PyTorch(CUDA版本)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 测试GPU加速
python3 -c "import torch; print('CUDA available:', torch.cuda.is_available())"

2. TensorFlow GPU加速

 

# 安装TensorFlow(GPU版本)
pip3 install tensorflow[and-cuda]

# 测试GPU加速
python3 -c "import tensorflow as tf; print('GPU available:', tf.config.list_physical_devices('GPU'))"

⚙️ systemd支持

 

启用systemd

 

WSL 0.67.0+版本支持systemd。

1. 检查WSL版本

 

# 查看WSL版本
wsl --version

确保版本 ≥ 0.67.0


2. 启用systemd

 

编辑 .wslconfig 文件:

[wsl2]
systemd=true

保存后重启WSL:

wsl --shutdown

验证systemd

 

# 在WSL中检查systemd
systemctl --user

# 查看systemd服务状态
systemctl --user status

# 列出所有用户服务
systemctl --user list-units

使用systemd服务

 

1. 创建systemd服务

 

创建服务文件 /etc/systemd/system/openclaw.service

[Unit]
Description=OpenClaw Gateway
After=network.target

[Service]
Type=simple
User=ubuntu
ExecStart=/home/ubuntu/.local/bin/openclaw gateway start
Restart=on-failure
RestartSec=10
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

2. 启用并启动服务

 

# 重载systemd配置
sudo systemctl daemon-reload

# 启用服务(开机自启)
sudo systemctl enable openclaw

# 启动服务
sudo systemctl start openclaw

# 查看服务状态
sudo systemctl status openclaw

3. 查看服务日志

 

# 查看服务日志
sudo journalctl -u openclaw -f

⚡ 性能优化技巧

 

1. 禁用时间同步(提升性能)

 

[wsl2]
systemd=false  # 禁用systemd时间同步

2. 启用自动内存回收

 

[experimental]
autoMemoryReclaim=gradual  # gradual或slow

3. 使用稀疏VHD

 

[experimental]
sparseVhd=true  # 启用稀疏虚拟硬盘

4. 优化文件系统

 

[automount]
automountOptions="metadata,uid=1000,gid=1000,umask=022,fmask=111"

5. 使用WSL 1(如果需要频繁访问Windows文件)

 

# 设置发行版使用WSL 1
wsl --set-version Ubuntu-22.04 1

⚠️ 注意: WSL 1不支持Docker


6. 禁用不必要的服务

 

# 禁用snapd(如果不使用snap)
sudo systemctl disable snapd

# 禁用计时器服务
sudo systemctl disable apt-daily.timer
sudo systemctl disable apt-daily-upgrade.timer

🔀 WSL 1和WSL 2混合使用

 

使用场景

 

  • WSL 1: 频繁访问Windows文件,需要快速文件IO
  • WSL 2: 需要Docker支持,更好的系统调用兼容性

设置不同发行版使用不同版本

 

# 设置Ubuntu使用WSL 2(推荐)
wsl --set-version Ubuntu-22.04 2

# 设置Debian使用WSL 1(频繁访问Windows文件)
wsl --set-version Debian-12 1

查看每个发行版的WSL版本

 

# 查看详细信息
wsl --list --verbose

🌐 高级网络配置

 

镜像网络模式(WSL 2.0.0+)

 

镜像网络模式使WSL网络与Windows网络镜像一致:

[wsl2]
networkingMode=mirrored

优势:

  • ✅ WSL IP地址固定
  • ✅ 可以使用IPv6
  • ✅ localhost自动转发
  • ✅ 防火墙规则自动同步

DNS隧道

 

启用DNS隧道,使用Windows DNS解析:

[wsl2]
dnsTunneling=true

自动代理

 

启用自动代理,使用Windows代理设置:

[wsl2]
autoProxy=true

自定义网络配置

 

编辑 /etc/wsl.conf

[network]
generateResolvConf = false  # 禁用自动生成resolv.conf

[boot]
systemd = true

手动配置 /etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

WSL 故障排除

 

🚀 安装问题

 

Q: WSL无法安装?

 

A: 按照以下步骤排查:

步骤1: 检查Windows版本

 

# 查看Windows版本
winver

要求:

  • Windows 10: Build 19044 或更高
  • Windows 11: 任何版本

❌ 如果版本过低,更新Windows或升级到Windows 11


步骤2: 启用虚拟化

 

进入BIOS/UEFI:

  1. 重启电脑
  2. 进入BIOS/UEFI(通常按F2、Delete或F12)
  3. 找到虚拟化选项(Intel VT-x或AMD-V)
  4. 启用虚拟化

验证虚拟化已启用:

# 查看虚拟化状态
systeminfo

✅ 成功输出Hyper-V Requirements: Virtualization Enabled In Firmware: Yes


步骤3: 启用WSL功能

 

# 启用WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

# 重启
shutdown /r /t 0

✅ 成功标志: 可以使用 wsl 命令


Q: 虚拟化未启用?

 

A: 按照以下步骤启用:

检查虚拟化支持

 

# 使用PowerShell
Get-ComputerInfo -Property "HyperV*"

检查输出:

HyperVisor Present                 : False
HyperV Requirement VMM Monitor Present: Yes
HyperV Requirement Virtualization Enabled: Yes

如果 “Virtualization Enabled” 为 No,需要在BIOS中启用


启用虚拟化

 

BIOS/UEFI设置:

BIOS类型 虚拟化选项位置
Award BIOS CPU Configuration → Intel Virtualization Technology
AMI BIOS Advanced → CPU Configuration → Intel VT-x
Phoenix BIOS System Configuration → CPU Features → Intel Virtualization Technology
UEFI Advanced Settings → CPU Configuration → Intel Virtualization Technology

Q: WSL安装卡住或失败?

 

A: 常见原因和解决方案:

原因 解决方案
网络连接问题 检查网络,使用代理
磁盘空间不足 清理C盘,至少40GB可用空间
Windows更新冲突 等待Windows更新完成
杀毒软件干扰 暂时禁用杀毒软件

强制重装WSL

 

# 卸载WSL
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart

# 重启
shutdown /r /t 0

# 重启后重新安装
wsl --install

🌐 网络问题

 

Q: WSL无法连接外网?

 

A: 按照以下步骤排查:

步骤1: 检查WSL网络状态

 

# 在WSL中检查网络
ip addr show eth0

# 测试DNS连接
ping 8.8.8.8 -c 4

# 测试HTTP连接
curl -I https://www.google.com

步骤2: 重置WSL网络

 

# 重启WSL(重置网络)
wsl --shutdown

# 重新启动
wsl

步骤3: 配置DNS

 

编辑 /etc/resolv.conf

# 编辑DNS配置
sudo nano /etc/resolv.conf

添加以下内容:

nameserver 8.8.8.8
nameserver 8.8.4.4

步骤4: 配置代理(如果使用代理)

 

# 在 ~/.bashrc 中添加
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export no_proxy="localhost,127.0.0.1"

# 重新加载配置
source ~/.bashrc

Q: localhost无法访问WSL中的服务?

 

A: 解决方案:

方式1: 升级WSL到2.0.9+(推荐)

 

WSL 2.0.9+版本支持localhost自动转发:

# 更新WSL
wsl --update

然后直接访问: http://localhost:18789


方式2: 使用WSL IP地址

 

# 在WSL中查询IP地址
ip addr show eth0 | grep "inet " | awk '{print $2}' | cut -d/ -f1

然后在Windows浏览器访问: http://[WSL IP]:18789


方式3: 配置端口转发

 

# 查看WSL IP地址(在WSL中)
ip addr show eth0

# 在Windows PowerShell中配置端口转发
# 格式: listenport=[Windows端口] connectaddress=[WSL IP] connectport=[WSL端口]
netsh interface portproxy add v4tov4 listenport=18789 listenaddress=0.0.0.0 connectport=18789 connectaddress=172.20.10.5

# 查看规则
netsh interface portproxy show all

Q: WSL IP地址频繁变化?

 

A: 解决方案:

方式1: 使用localhost(WSL 2.0.9+)

 

升级到WSL 2.0.9+,自动转发localhost,无需关心IP地址


方式2: 使用端口转发

 

即使IP地址变化,端口转发会自动更新(需要重启WSL时重新配置)


方式3: 使用域名解析(高级)

 

配置Windows hosts文件,将域名指向WSL IP地址:

# 编辑hosts文件(需要管理员权限)
notepad C:\Windows\System32\drivers\etc\hosts

添加:

172.20.10.5    wsl.local

⚡ 性能问题

 

Q: WSL内存占用过高?

 

A: 优化内存配置:

配置.wslconfig

 

编辑 C:\Users\[用户名]\.wslconfig

[wsl2]
memory=8GB           # 限制内存
processors=4          # 限制CPU核心
swap=2GB              # 限制交换空间
pageReporting=false    # 禁用页面报告

保存后重启WSL:

wsl --shutdown

查看当前内存使用

 

# 在WSL中查看内存使用
free -h

# 查看进程内存使用
ps aux --sort=-%mem | head

Q: WSL磁盘占用过高?

 

A: 清理WSL磁盘空间:

查看磁盘使用

 

# 查看磁盘使用
df -h

# 查看目录大小
du -sh /home/* | sort -hr

清理包管理器缓存

 

# 清理apt缓存
sudo apt clean
sudo apt autoremove

# 清理npm缓存
npm cache clean --force

压缩WSL虚拟磁盘(Windows PowerShell)

 

# 压缩虚拟磁盘文件
optimize-vhd -Path "C:\Users\[用户名]\AppData\Local\Docker\wsl\data\ext4.vhdx" -Mode Full

Q: 访问Windows文件很慢?

 

A: 优化文件系统性能:

避免频繁访问Windows文件

 

❌ 不推荐: 在WSL中频繁访问 /mnt/c/ ✅ 推荐: 将项目文件放在WSL文件系统 /home/username/


使用WSL 1(如果需要频繁访问Windows文件)

 

WSL 1使用Windows文件系统,访问Windows文件更快:

# 设置特定发行版使用WSL 1
wsl --set-version Ubuntu-22.04 1

⚠️ 注意: WSL 1不支持Docker


🔒 权限问题

 

Q: WSL权限不足?

 

A: 常见权限问题和解决方案:

文件权限错误

 

# 错误: Permission denied
sudo npm install -g openclaw@latest

修复文件权限

 

# 修复home目录权限
sudo chown -R $USER:$USER ~/

# 修复特定目录权限
sudo chown -R $USER:$USER ~/.openclaw

添加用户到sudo组

 

# 添加当前用户到sudo组
sudo usermod -aG sudo $USER

# 重新登录
exit
wsl

Q: Windows无法访问WSL文件?

 

A: 检查WSL服务和权限:

检查WSL服务

 

# 查看WSL服务状态
Get-Service LxssManager

# 如果服务未运行,启动服务
Start-Service LxssManager

使用正确的路径

 

\\wsl$\Ubuntu-22.04\home\username\.openclaw

⚠️ 注意: 使用实际发行版名称(如Ubuntu-22.04)


🔧 兼容性问题

 

Q: 如何启用systemd支持?

 

A: WSL 0.67.0+支持systemd:

检查WSL版本

 

# 查看WSL版本
wsl --version

确保版本 ≥ 0.67.0


启用systemd

 

编辑 .wslconfig 文件:

[wsl2]
memory=16GB
systemd=true  #w启用systemd支持

保存后重启WSL:

wsl --shutdown

验证systemd

 

# 在WSL中检查systemd
systemctl --user

# 测试systemd服务
systemctl --user status

✅ 成功输出: systemd可以正常使用


Q: 如何切换WSL版本?

 

A:

# 查看当前WSL版本
wsl --list --verbose

# 设置默认WSL版本
wsl --set-default-version 2

# 设置特定发行版的WSL版本
wsl --set-version Ubuntu-22.04 2

# 重启WSL
wsl --shutdown

Q: WSL 1和WSL 2的区别?

 

A:

特性 WSL 1 WSL 2
文件系统 Windows文件系统 真实Linux内核
性能 访问Windows文件快 访问Windows文件慢
Docker ❌ 不支持 ✅ 支持
系统调用兼容性 部分兼容 完全兼容
内存占用 高(默认50%)
网络性能 共享Windows网络 独立虚拟网络

推荐: WSL 2(性能更好,功能更全)


🗑️ 卸载和重装

 

Q: 如何卸载特定发行版?

 

A:

# 查看已安装的发行版
wsl --list --verbose

# 卸载指定发行版
wsl --unregister Ubuntu-22.04

# 重新安装
wsl --install -d Ubuntu-22.04

⚠️ 警告: 此操作会删除发行版中的所有数据


Q: 如何完全卸载WSL?

 

A:

卸载所有发行版

 

# 查看已安装的发行版
wsl --list

# 逐个卸载
wsl --unregister Ubuntu-22.04
wsl --unregister Ubuntu-20.04
# ...

禁用WSL功能

 

# 禁用WSL
dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart

# 禁用虚拟机平台
dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart

# 重启
shutdown /r /t 0

⚠️ 警告: 此操作会删除所有WSL数据和配置


Q: 如何重置WSL到初始状态?

 

A:

# 重置指定发行版(保留数据)
wsl --terminate Ubuntu-22.04

# 或完全重置(删除数据)
wsl --unregister Ubuntu-22.04
wsl --install -d Ubuntu-22.04

📞 获取帮助

 

Q: 如何查看WSL日志?

 

A:

Windows事件日志

 

# 打开事件查看器
eventvwr

# 导航到: Windows Logs → Application
# 筛选: LxssManager (WSL)

WSL诊断信息

 

# 查看WSL详细状态
wsl --status --verbose

# 导出诊断信息
wsl --version > wsl-info.txt
wsl --list --verbose >> wsl-info.txt
wsl --status >> wsl-info.txt

Q: 如何获取帮助?

 

A:

官方资源

 

资源 链接
WSL官方文档 https://docs.microsoft.com/en-us/windows/wsl/
WSL问题报告 https://github.com/microsoft/WSL/issues
OpenClaw文档 https://docs.openclaw.ai
OpenClaw社区 https://discord.com/invite/clawd
资源 链接
WSL官方文档 https://docs.microsoft.com/en-us/windows/wsl/
WSL发行版列表 https://docs.microsoft.com/en-us/windows/wsl/install
OpenClaw文档 https://docs.openclaw.ai
Docker Desktop WSL2 https://docs.docker.com/desktop/wsl/