Docker+WSL2(Ubuntu)が動かないWsl/Service/CreateInstance/CreateVm/HCS/0x80070032が出たときに

Docker+WSL2が動かない

あさからDockerもWSL2(Windows Subsystem for Linux)もUbuntuも動かなくなってローカルで作っていたデザインとかシステムとか全滅かと思った日です。

ここから中身のデータを消さずに復旧するまでの流れを解説します。
同じ症状になったあなたの助けになれば幸いです。

無料パソコンスクール講座
WordPress・SEO・プログラミング

あなたは以下のことで 悩んでないだろうか?

「フリーランスになりたいけど稼げるか不安だ」
「クラウドソーシングや営業して稼げるか不安だ」
「転職で必要になり困っている」
「スマホはあるけどパソコンが古くて不安だ」
「広告やLINEからの集客を得たい」
「仕事でグラフや資料制作を思うように作れない」
「プログラミングを学習して副業したいけど不安だ」
「副業をはじめたが、いっこうに成果がでない」
「退職してノートパソコンだけで収入を得たい」
「何がわからないかわからない状態が続き何度も挫折した」
「在宅で稼げるようになりたい」
「副業で収入を得たい」

そんなお悩みのあなたにこそ
取得して頂きたい内容です!

このメディアを運営している制作・プログラミング相談のプロが
全て無料で相談と学習できるように
無料スクールのメルマガ講座を開設しました。

\今なら300部限定無料ダウンロード/

今すぐ無料ダウンロードする

いまなら、先着300部限定で無料プレゼント付です。

今すぐ無料ダウンロードする

Docker+WSL2(Ubuntu)が動かない主な原因

  1. WSL2の設定やバージョンの不整合
    • WindowsのバージョンやWSL2のバージョンが古い場合に発生します。
  2. Hyper-Vや仮想化関連の設定が無効
    • WSL2はHyper-Vに依存しているため、仮想化機能が無効化されているとエラーが発生します。
  3. WSL2のネットワークやシステムの不整合
    • DockerやWSL2が内部で使用する設定ファイルやネットワークが壊れている可能性があります。
  4. 更新やアップグレードによる不具合
    • Windows Update後に互換性の問題が発生する場合があります。

このへんの問題が多々あります。

まずは、動いているのかを確認します。

Dockerが動いているのかを確認

WindowsPowerShellを起動して

docker info

にてそれぞれどの様に表示されるかチェックします。

docker info
Server: 
ERROR: error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.47/info": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. 
errors pretty printing info

このエラーは、Docker Desktop for Windows が WSL2 ベースのエンジンに接続できないことを示しています。

原因としては、Docker Desktop の設定、WSL2 の構成、または仮想化機能に問題がある可能性があります。

WSL2が動いているのかを確認

DockerはWSL2上で動作するため、まずWSL2の状態を確認します。

wsl --list --verbose
wsl --list --verbose
  NAME                   STATE           VERSION
* Ubuntu                 Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

WSL2で動作するのを確認。stoppedなので動作は止まっている。
どうやらUbuntuが起動してないだけの様だが立ち上がらない。

WSL2アップデートを実行

wsl --update

これでアップデートが開始されます。

Docker内のデータに影響はありません。安心して!

WSL2のインストールを実行

wsl --install
wsl –installを行ってもUbuntu内のデータは消えないよ!

このコマンドは、WSLの基本機能と最新のLinuxカーネルをインストールするためのものであり、すでに設定済みのディストリビューションには影響を与えません。

  • このコマンドは、WSLが未インストールの場合に
    初めて適用されるフルインストール手順を開始します。
  • WSLがすでにインストールされている場合、
    必要なパッケージのアップデートや不足部分の再構成を行います。

WSL2のインストールを実行した結果エラーだった場合

PowerShellで実行したがエラーになった。そんなときは

wsl --install
Ubuntu は既にインストールされています。
Ubuntu を起動しています...
この要求はサポートされていません。
エラー コード: Wsl/Service/CreateInstance/CreateVm/HCS/0x80070032
Press any key to continue...

このエラーは、WSL2自体が正常に動作していないことを示しています。

この場合、Ubuntuのインストール状態に問題はありませんが、WSL2の構成やWindowsの仮想化機能に問題がある可能性が高いです。

仮想化プラットフォームとWSL機能を再有効化

PowerShellの管理者権限で実行します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

仮想化機能を有効化します。

PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.22621.2792

イメージのバージョン: 10.0.22631.4460

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

展開イメージのサービスと管理ツール
バージョン: 10.0.22621.2792

イメージのバージョン: 10.0.22631.4460

機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。

仮想化プラットフォームとWSL機能を再有効化したらパソコンを再起動

ご自身のパソコンを再起動します。

仮想環境じゃないよ。自分のパソコン自体の再起動。

WSLのカーネルを最新にアップデート

wsl --update
wsl --set-default-version 2

再起動後の状況を確認

wsl --list --verbose
  NAME                   STATE           VERSION
* Ubuntu                 Stopped         2
  docker-desktop         Stopped         2
  docker-desktop-data    Stopped         2

Ubuntuの起動

wsl -d Ubuntu

このコマンドでUbuntuが起動できます。コマンドを実行すると

wsl -d Ubuntu
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

wsl -d Ubuntu
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

Ubuntuが正常に起動しているので、WSL自体の問題は解決しましたね。

Dockerをコマンドから起動する場合

$ sudo service docker start

Dockerをコマンドから起動するならsudo service docker startのコマンドを入力します。

Docker Desktopならアプリアイコンをクリックするだけですね。

Docker起動してないとエラー

Docker起動してないとエラーになります。

Ubuntuサーバー内でのコマンド

$ docker info

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

Docker起動してからの表示は

$ docker info
Client:
 Version:    27.2.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
~~~って続きます

最後にUbuntuもアップデート・アップグレード

$ sudo apt update
$ sudo apt upgrade

この2つのコマンドをそれぞれ入れてアップデート、アップグレードしておきます。

Docker+WSL2(Ubuntu)が動かないWsl/Service/CreateInstance/CreateVm/HCS/0x80070032が出たときに手順まとめ

今回行ったコマンドまとめ

PowerShellで

wsl --update
wsl --install

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

wsl -d Ubuntu

Ubuntuのサーバー内で

$sudo service docker start
$sudo apt update
$sudo apt upgrade

これで無事に起動しました。

この記事を書いた人

よこやま良平

こんにちは!18年以上ITエンジニアとして活動してきた
よこやま良平です。

4歳~85歳まで、年間1,792人名以上の方に
パソコンやプログラミング講座を行ってきました。

また18冊以上の書籍を出版しており、連続で1位を獲得しました。
オンライン講座では200件以上のレビューを頂いており
評価は4.9/5.0と高評価を得ています。

その他これまでに3000以上のサービス・システム・サイトを作成。