※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Windows 11のWSL2でNVIDIA GPU/CUDAが認識されない対処法【完全ガイド】
Windows 11のWSL2(Windows Subsystem for Linux 2)で機械学習やディープラーニングを行う際、Ubuntu側でNVIDIAのGPUをそのまま利用できるのは大きな魅力です。しかし実際にnvidia-smiコマンドを実行してみると、「No devices were found」「command not found」「Failed to initialize NVML」といったエラーが表示され、CUDAが全く認識されない事例が後を絶ちません。
この記事では、2026年時点でもっともハマりやすい「Windows 11のWSL2でGPU/CUDAが認識されない」問題について、原因の切り分けと具体的な対処手順を網羅的に解説します。Windows側のWSL対応NVIDIAドライバー、WSL2カーネルの更新、CUDAツールキットのLinux版インストール、NVIDIA Container Toolkitによるコンテナ連携、対応GPUモデルの確認まで、このページだけで完結できるよう丁寧にまとめました。

この記事でわかること
- WSL2でGPUが認識されない典型的な5つの原因
- WSL対応ドライバー(Game Ready / Studio)の正しい入手方法
- WSL2カーネル更新と
wsl --updateの違い - Ubuntu側へのCUDAツールキットの入れ方(重要: Windows側にCUDAを入れない)
- Docker + NVIDIA Container Toolkitの設定
- 対応GPUモデルと非対応GPUの見分け方
WSL2のGPUサポートの基礎知識
WSL2で使われるGPU仮想化の仕組み
WSL2は従来のLinuxエミュレーションではなく、軽量なHyper-V上で本物のLinuxカーネルを動かしています。GPUの利用は、Windows側のNVIDIAドライバーが用意する仮想GPUデバイス(/dev/dxg)をLinux側のカーネルが認識することで実現します。この仕組みは「GPU Paravirtualization(GPU-PV)」と呼ばれ、ホスト側のドライバーが1つあれば、WSL側にはごく軽量なユーザーランドライブラリを入れるだけで動きます。
誤解されがちなポイント
- CUDAドライバーはLinux側に入れない: 伝統的なLinuxではCUDAドライバーも入れますが、WSL2では禁止事項です
- 入れるのはCUDAツールキットのみ: コンパイラ(nvcc)やランタイムライブラリだけを入れます
- Windows側のドライバーだけが本物: GPUに直接触るのはWindows側のドライバーです
発生する典型的なエラーメッセージ
Command 'nvidia-smi' not foundNVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driverFailed to initialize NVML: Driver/library version mismatchtorch.cuda.is_available()がFalseになるNo CUDA-capable device is detected
GPUが認識されない主な5つの原因
原因1: Windows側のNVIDIAドライバーが古い・WSL非対応版
GeForce ExperienceやGPU Boxの自動アップデートで入るドライバーは、必ずしもWSL対応版とは限りません。WSL2でGPUを使うには「WSL対応と明記されたGame Readyドライバー、またはStudioドライバー」が必要です。
原因2: WSL2カーネルが古い
WSLカーネルは独自のバージョン体系を持ち、Microsoft Storeやwsl –updateで更新します。GPU-PVに対応したカーネルは5.10.43以降、ベストは最新のLTSです。
原因3: Ubuntu側にCUDAドライバーを入れてしまった
従来の感覚でUbuntu内にnvidia-driver-xxxを入れると、WSLの仮想GPUと競合して「No devices were found」になります。
原因4: CUDAツールキットのバージョン不一致
PyTorchやTensorFlowが要求するCUDAバージョンと、導入済みのToolkitのバージョンが噛み合っていないと、ランタイムが落ちます。
原因5: そもそもGPUが非対応
古いKeplerやMaxwell世代、またはノートPCの一部のOptimus構成GPUはWSL2のGPU-PVに対応していません。

対処法1: Windows側にWSL対応NVIDIAドライバーを入れ直す
手順
- https://www.nvidia.co.jp/Download/index.aspx?lang=jp にアクセス
- 自分のGPUモデルを選ぶ
- オペレーティングシステムで「Windows 11 64-bit」を選ぶ
- ダウンロードタイプで「Game Ready Driver」または「Studio Driver」を選ぶ
- ダウンロードしてインストール。インストール時「クリーンインストール」にチェック
- Windows再起動
確認
PowerShellでnvidia-smi.exeを実行し、GPU情報が表示されればWindows側はOKです。
対処法2: WSL本体とカーネルを最新に更新
手順
wsl --update
wsl --shutdown
wsl --status
wsl --statusで「カーネルバージョン: 5.15.x」以降が表示されればOKです。古いバージョンではwsl --set-version 2でWSL2に切り替わっていることも確認してください。
対処法3: Ubuntu側のNVIDIA関連パッケージを削除
Ubuntu内に誤って入れてしまったNVIDIAドライバーを削除します。
sudo apt-get --purge remove "*nvidia*" "libnvidia*"
sudo apt-get autoremove
sudo apt-get autoclean
その後、WSLをwsl --shutdownで一度落としてから再度起動してください。
対処法4: CUDAツールキット(WSL版)をインストール
NVIDIA公式の「WSL-Ubuntu」用リポジトリを使う
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4
重要: 必ずcuda-toolkit-xx-xを指定すること。cudaパッケージだけ指定するとLinuxドライバーまで入ってしまい失敗します。
PATH設定
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
対処法5: nvidia-smiで動作確認
Ubuntu側で以下を実行します。
nvidia-smi
ここでGPU情報が表示されれば、CUDAランタイムは無事に仮想GPUを認識できています。表示されない場合は、ls /usr/lib/wsl/lib/にlibcuda.soなどがあるかを確認してください。Windows側のドライバーインストール時に自動配布されるファイルで、これが無ければドライバーインストールに失敗しています。
対処法6: Docker + NVIDIA Container Toolkitを設定
Docker Desktopでの利用
Docker Desktop for Windowsを使う場合、設定から「WSL統合」を有効にすれば、WSLのGPUもDockerコンテナに引き継がれます。
Docker Engine(WSL内)直接の場合
distribution=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
動作確認:
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
対処法7: PyTorch/TensorFlowでの確認
python3 -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
TrueとGPU名が出れば成功です。
対処法8: 対応GPUモデルを確認
NVIDIA公式では次の世代のGPUが公式サポート対象です。
- GeForce RTX 20シリーズ以降(Turing, Ampere, Ada Lovelace, Blackwell)
- Quadro RTX / A / Lシリーズ
- データセンター向けのT4, A100, H100など
- GTX 16シリーズはTuringベースなので対応
GTX 10シリーズ(Pascal)までは公式サポート外ですが、実用上動作する例も多いです。Maxwell以前は動作しないと考えて差し支えありません。

主な対処法の比較表
| 対処法 | 難易度 | 所要時間 | 効果 | 推奨度 |
|---|---|---|---|---|
| Windows側ドライバー更新 | ★☆☆ | 15分 | 非常に高い | ◎ |
| wsl –update | ★☆☆ | 3分 | 高い | ◎ |
| Ubuntu側ドライバー削除 | ★★☆ | 5分 | 状況次第で必須 | ◯ |
| CUDA Toolkit(WSL版)導入 | ★★☆ | 15分 | 必須 | ◎ |
| NVIDIA Container Toolkit | ★★★ | 20分 | Docker用途で必須 | ◯ |
| PyTorch動作確認 | ★☆☆ | 2分 | 検証目的 | ◎ |
よくある質問(FAQ)
Q1. Linux版のNVIDIAドライバーをUbuntuに入れてはいけない理由は?
WSL2ではWindows側のドライバーが仮想化レイヤー経由でGPUを提供します。Linux側にドライバーが入っていると、同じデバイスを二重に握ろうとして衝突し、「Driver/library version mismatch」で完全に動かなくなります。
Q2. nvidia-smiは動くのにPyTorchでcuda.is_available()がFalseです
PyTorchが要求するCUDAバージョンと、インストール済みのCUDA Toolkitのバージョンが合っていません。PyTorch公式サイトで対応CUDA版のwhlを取得するか、Toolkitのバージョンを合わせてください。
Q3. 会社PCでadmin権限がないのですが使えますか?
Windows側のドライバー更新とwsl --updateは管理者権限が必要です。企業管理の端末ではIT部門に依頼する必要があります。
Q4. ノートPC(Optimus構成)で動きません
内蔵Intel GPUと外付けNVIDIA GPUを動的に切り替えるOptimus環境では、Windowsの「グラフィック設定」でWSLのvmcompute.exeに対して「高パフォーマンス(NVIDIA)」を明示的に割り当てる必要があります。
Q5. Dockerで--gpus allが認識されません
Docker Desktopの「WSL統合」設定が有効になっているか、またはWSL内のDocker Engineに対してnvidia-container-toolkitがインストールされているかを確認してください。
Q6. WSLgの描画にGPUが使われますか?
はい。WSLgのGUI描画にも同じGPU-PV仕組みが使われます。GUIアプリが正常に出ていれば、GPU仮想化の土台は動いている可能性が高いです。
まとめ
WSL2でGPU/CUDAが認識されない問題の9割は、「Windows側のドライバーがWSL対応版ではない」「Ubuntu側に誤ってドライバーを入れてしまっている」「CUDA Toolkitの入れ方を間違えている」のいずれかです。まずはWindows側ドライバーを最新のGame Ready/Studioに更新し、wsl --updateを実行、Ubuntu側ではToolkitのみを入れる、この3ステップを守れば、ほぼすべてのケースでnvidia-smiがGPUを表示するようになります。
Docker連携まで構築すれば、機械学習フレームワークのバージョン違いで苦しむこともなくなります。本記事の順序どおりに進めて、快適なWSL2 + GPU環境を構築してください。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!