Arch LinuxでClaude DesktopのCoworkを動かす(追記あり)
- Claude DesktopのCoworkが「仮想化が完全にセットアップされていません」と表示されて使えない問題をArch Linuxで解決した
- QEMU・OVMF・virtiofsdはインストール済みでも、CoworkはDebian系の固定パスしか探さないため検出に失敗する
- シンボリックリンクを3本張るだけで解決できる
TOC
2026-07-17 追記: 公式パッケージの更新により、この記事の手順は不要になった。むしろ手動で張ったシンボリックリンクが残っているとインストールが失敗するため、追記セクションの復旧手順を参照。

Linux向けのClaude Desktopが公開された。 今まではAUR版を使用していたけど、公式に乗り換えた。
しかし、OfficialのClaude Desktopでは、Cowork(セキュアなローカルVM上でClaudeが作業する機能)が有効化とならず、 「仮想化が完全にセットアップされていません。Coworkには QEMU が必要です。‘sudo apt install qemu-system-x86 ovmf virtiofsd’ でインストールしてから、Claude を再起動してください」 という警告が表示されて使えなかった。
QEMUはとっくにインストール済みなのに。
調べたところ原因はCoworkの検出ロジックがDebian系ディストリビューションの固定パスしか見ていないことだった。 Arch Linuxではシンボリックリンクを3本張るだけで解決できたので、その手順をまとめる。
環境
- OS: Arch Linux (kernel 7.0.14-zen1-1-zen)
- Claude Desktop: claude-desktop-official-bin 1.17377.0-1 (AUR)
- qemu-full 11.0.2-1 / edk2-ovmf 202605-1 / virtiofsd 1.13.3-1
原因: CoworkはDebianの固定パスしか探さない
Claude Desktopのapp.asar内にあるCoworkの仮想化チェックを読むと、以下の3条件をすべて満たす必要がある(1つでも欠けると冒頭の警告になる)。
| チェック対象 | Coworkが探すパス | Arch Linuxでの実際の場所 |
|---|---|---|
| QEMU本体 | PATH上のqemu-system-x86_64 | /usr/bin/qemu-system-x86_64 ✅ |
| OVMF (UEFIファームウェア) | /usr/share/OVMF/OVMF_CODE_4M.fdまたはOVMF_CODE.fd | /usr/share/edk2/x64/OVMF_CODE.4m.fd ❌ |
| virtiofsd | /usr/libexec/virtiofsdまたは/usr/bin/virtiofsd | /usr/lib/virtiofsd ❌ |
QEMU本体はPATHから探すので問題ないが、OVMFとvirtiofsdはDebian/Ubuntuが配置するパスがハードコードされている。
- Archのedk2-ovmfは4MBフラッシュイメージを
OVMF_CODE.4m.fd(ドット・小文字)という名前で/usr/share/edk2/x64/に置くのに対し、DebianはOVMF_CODE_4M.fd(アンダースコア・大文字)で/usr/share/OVMF/に置く。この命名差だけで検出に失敗する - Claude Desktopはvirtiofsdを同梱しているが、同梱版へのフォールバックが働くのはOSがUbuntu 22.xと判定されたときだけ。それ以外のディストリビューションではシステムのvirtiofsdが上記2パスに存在する必要がある
エラーメッセージがsudo apt installを案内しているのも、チェック自体がDebian前提だからである。
このほかに/dev/kvmと/dev/vhost-vsockの読み書き権限もチェックされるが、
ユーザーがkvmグループに所属していてvhost_vsockモジュールがロードされていれば通る(後述)。
解決: シンボリックリンクを3本張る
必要なパッケージがインストール済みであることを確認する。
| |
未インストールなら入れておく(qemu-fullの代わりにqemu-baseでもよい)。
| |
あとはCoworkが探すパスに向けてシンボリックリンクを張るだけ。
| |
OVMF_VARSのリンクは起動時チェックの対象外だが、CoworkはVM起動時にOVMF_CODEのパス文字列をOVMF_VARSに置換してNVRAMテンプレートとして使うため、
張っておかないと「警告は消えたのにVMが起動しない」という分かりにくい状態になる。
最後にClaude Desktopを完全に終了して再起動する(トレイ常駐も含めてquitする)。 チェック結果は起動中キャッシュされるため、再起動しないと警告が消えない。
KVM権限まわりの補足
symlinkを張っても解決しない場合は、KVMの権限を確認する。
| |
/dev/kvmが存在しない場合はBIOS/UEFIで仮想化支援機能(Intel VT-x / AMD-V)を有効にする- Permission deniedになる場合は
sudo usermod -aG kvm $USERでグループに追加して再ログインする /dev/vhost-vsockが存在しない場合はsudo modprobe vhost_vsockでモジュールをロードする
注意点
作成したシンボリックリンクはpacmanの管理外なので、edk2-ovmfやvirtiofsdのパッケージ更新でファイル配置が変わるとリンク切れして同じ警告が再発する可能性がある。 再発したらリンクを張り直せばよい。
また、Claude Desktop側のアップデートでArchのパスが正式にサポートされれば、この対処自体が不要になるはずである。
追記 (2026-07-17): 公式パッケージの更新でこの手順は不要になった
状況が2つ変わった。
- AURの公式パッケージ名が変更された。
claude-desktop-official-binは AUR から削除され、現在はclaude-desktopという名前で配布されている - 新パッケージがシンボリックリンクを同梱するようになった。
claude-desktop1.21459.1 時点で、virtiofsdバイナリの同梱に加えて、/usr/bin/virtiofsdと/usr/share/edk2/OVMF_CODE_4M.fd・/usr/share/edk2/OVMF_VARS_4M.fdのシンボリックリンクがパッケージ自体に含まれるようになった
つまりこの記事のワークアラウンドは公式に取り込まれた形で、リンクを手動で張る必要はなくなった。
手動リンクが残っていると新パッケージのインストールが失敗する
一方で、手動で張ったリンクが残ったまま新パッケージをインストールしようとすると、pacmanがパッケージ管理外のファイルとの競合を検出してエラーになる。
| |
復旧手順
手動で張ったシンボリックリンクを削除してから、旧パッケージを新パッケージへ入れ替える。
rm -f なので、張っていないリンクがあってもそのままでよい。
| |
リンクを消さずに、pacmanの --overwrite で管理下に取り込んでしまう方法もある。パッケージが提供するリンクは手動で張ったものと同じ内容なので、上書きしても実害はない。
| |
いずれの方法でも、以後はリンクがpacmanの管理下に入るため、パッケージ更新時のリンク切れを心配する必要もなくなる。
EOF