$ ssh clawdbot.space --loading...
$ ssh clawdbot.space --loading...
WSL2でWindows上にOpenClawをネイティブ実行 — デュアルブート不要でフルLinux性能。
WSL2はWindows上で本物のLinuxカーネルをネイティブに近い性能で提供します。仮想マシンもデュアルブートも不要で、WindowsでOpenClawを実行する推奨方法です。このガイドで約30分でゼロから完全に動作するOpenClawインスタンスを構築できます。
wsl --install
wsl --set-default-version 2
wsl --update
インストール後PCを再起動。初回起動時にUbuntuがユーザー名とパスワードの作成を求めます。
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs
node --version && npm --version
npx openclaw@latest
openclaw status
openclaw config set gateway.bind 127.0.0.1
OpenClawデータは~/openclawに保存。/mnt/c/には置かない。WSL経由のWindowsファイルシステムは5-10倍遅い。
Windowsホームディレクトリに.wslconfigを作成しメモリ制限を設定。デフォルトは低すぎる場合あり。
/etc/wsl.confに[boot] systemd=trueを追加。サービス管理とcronジョブに必要。
タブ、テーマ、Unicode対応。cmd.exeよりはるかに優秀。
[wsl2] memory=4GB processors=2 swap=2GB localhostForwarding=true
WSL2のlocalhost転送は自動で動作。Windowsからhttp://localhost:18789にアクセス。
WSL2内でTailscaleを使用して安全なリモートアクセス。またはWindowsファイアウォールでポート転送。
ボットはWSL2から直接動作 — アウトバウンドインターネットアクセスは自動。
Windowsはこの選択が最も重要なプラットフォームです。3つの方法は「ログインしていないときにどう振る舞うか」が異なるためです。それは多くの人が実際に気にする性質でありながら、最初に確認されることは稀です。
| 方法 | ログイン前も動作 | トレードオフ |
|---|---|---|
| ネイティブPowerShellインストール | 可能(タスクスケジューラ) | 最も単純。Windowsのパス仕様やツールの差異が、Linux前提のスキルで問題になることがあります。 |
| WSL2 | lingerと起動タスクが必要 | Linux互換性が最も高い実行環境。後述の追加設定なしではシェルを閉じた時点で停止します。 |
| Windows Hubデスクトップアプリ | 対象外(デスクトップアプリ) | 対話的な利用には十分ですが、常時稼働のエージェントには向きません。 |
Linuxユーザーランドが特に必要でなければネイティブPowerShellを選んでください。Linux向けの手順に従う、POSIXパスを前提としたツールを動かす、サーバーと同じ構成にしたい場合はWSL2です。WSL2の難所はインストールではなく永続化です。
WSL内でOpenClawをサービスとして動かすには2つの条件が必要です。systemdが有効であること(古い環境では既定ではありません)、そしてシェルを閉じてもディストロが生き残ることです。
wsl --install # or pin a distro: wsl --install -d Ubuntu-24.04
長く使うマシンではディストロを明示指定する価値があります。既定は時期によって変わり、Ubuntu前提の手順は他のディストロでは挙動が異なります。
sudo tee /etc/wsl.conf >/dev/null <<'EOF' [boot] systemd=true EOF
これがないと `gateway install` に登録先のサービスマネージャがありません。「インストールは成功したのに何も残らない」で最も多い原因です。
wsl --shutdown
wsl.confを編集してもディストロを再起動するまで効きません。Windows側からの `wsl --shutdown` が確実です。
curl -fsSL https://openclaw.ai/install.sh | bash openclaw gateway status
ここから先はLinuxの手順がそのまま使えます。そもそもWSL2を選ぶ理由がこれです。
この部分がWSL固有であり、「一晩でゲートウェイが消えた」という報告で欠けているのは通常ここです。2つの仕組みが同時に必要です。lingerはログインセッションなしでユーザーサービスを動かし続け、起動タスクはディストロ自体を生かし続けます。
sudo apt-get install -y dbus-x11 sudo loginctl enable-linger "$(whoami)" openclaw gateway install
`enable-linger` は、ログインしていない状態でもユーザーサービスを動かし続けるためのものです。これがないと、セッション終了と同時にsystemdがサービスを片付けます。
# In an ADMINISTRATOR PowerShell on the Windows side: schtasks /create /tn "WSL Boot" ^ /tr "wsl.exe -d Ubuntu --exec dbus-launch true" ^ /sc onstart /ru "$env:USERNAME"
管理者権限のPowerShellで実行する必要があります。誰かがログインする前、起動時にディストロを立ち上げるため、コールドスタート後もゲートウェイに到達できます。
# On WSL 2.6.1.0 and newer use `dbus-launch true`, not `/bin/true`. # /bin/true exits immediately and WSL treats the distro as idle, # then terminates it — taking the gateway with it.
WSL 2.6.1.0以降で実際に踏む罠です。`/bin/true` は即座に終了するためWSLはディストロをアイドルとみなして終了させます。起動タスクは動いているように見えるのに、ゲートウェイは消えたままになります。