🌤️

Windwos11のWSLインストール時に0x80370114エラーが出る問題

2022/10/29に公開約4,900字2件のコメント

Microsoft謹製のWindows端末であるSurface Laptop 4で, 公式の説明の通りにインストールを行っているにもかかわらず, インストールに失敗しました. これはさすがにMicrosoftに文句を言ってやろうと 公式ドキュメントに改善を提案した方が良さそうだと思い, 原因を特定して解決方法を確立しました. 何度も端末のデータを全て飛ばして最初からやり直しており, 同じエラーを再現しておりますので, 少なくともSurface Laptop 4では再現性があるようです.

環境

  • デバイス名 Surface Laptop 4
  • プロセッサ 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz 3.00 GHz
  • 実装 RAM 32.0 GB (31.8 GB 使用可能)
  • システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
  • OSエディション Windows 11 Pro
  • OSバージョン 22H2
  • OS ビルド 22621.755

Surface Por 8でも同様の問題を起こるようです.

インストールの手順と失敗の再現

公式の説明ではある程度のバージョンにアップデートした状態でPowerShellでwsl --installを実行すれば一発でインストールできると書いてありますが, どうやらダメなようです.

  1. スタートメニューからターミナルを右クリックし, 管理者権限でターミナルを起動します.
  2. 管理者権限で起動できたことを確認し, wsl --installを実行します.
  3. 下記のように終了したら, PCを再起動します.
  4. 再起動後に自動でWSLが起動しますが, 0x80370114エラーが表示されます.

試した方法

端末を何度も初期化して一から試しましたが, 下記の方法では解決しませんでした.

  • インストール前にWindowsアップデートを最新版まで実行
  • インストール後にターミナルでwsl.exe --install Ubuntuなどを実行
  • インストール後にMicrosoftストアからLinuxディストリビューションをインストール
  • インストール前にMicrosoftストアからLinuxディストリビューションをインストール
  • インストール後にスタートメニュー > 「Windowsの機能の有効化」を検索 > 「Linux用Windowsサブシステム」を有効化 > OK > 自動的に再起動
  • インストール後に単に再起動
  • インストール前にWindowsアップデートを全て実行してからインストール

解決できる方法を2つ見つけました.

  • インストール後にスタートメニュー > WLSとUbuntuのアイコンを右クリック > アンインストール をして, 最初から再度やり直す
  • インストール後にスタートメニュー > 「Windowsの機能の有効化」を検索 > 「仮想マシンプラットフォーム」を有効化 > OK > 自動的に再起動

原因の特定

上記の1つ目の解決方法は一応, 再現性がありますが, 原因の特定には役立たなそうなので無視します. 2つ目の方法は正攻法のようです. まず, 上記の手順3のwsl --install

  • 仮想マシン プラットフォーム
  • Linux 用 Windows サブシステム
  • Ubuntu

が自動でインストールされるコマンドらしく, これらを手動で個別にインストールしていったところ, Linux用WindowsサブシステムとUbuntuでは解決しませんでしたが, 仮想マシンプラットフォームの有効化では解決しました. また, 0x80370102など, 他のエラーでも似たような方法が取られているため, 仮想マシンプラットフォームの有効化に失敗しているとみて間違いなさそうです.
https://softantenna.com/blog/how-to-fix-wslregisterdistribution-failed-with-error-0x80370102/
https://windowsreport.com/windows-11-wsl-error/

仮想マシンプラットフォームの有効化が必要なのは間違いなさそうですが, 下記の解説によるとWindows ハイパーバイザー プラットフォームも有効化した方が他の仮想環境やエミュレーターと干渉しないようです. 念のため, こちらも有効化しておきましょう.
https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce

推奨する解決方法

  1. スタートメニューの検索ボックスから「Windowsの機能の有効化または無効化」を検索し, クリックします.
  2. Androidアプリの開発や, 他の仮想環境を実行する可能性のある方は「Windows ハイパーバイザー プラットフォーム」を有効化します. これは後からでも有効化できるので, わからない方は触らなくても平気です.
  3. 「仮想マシン プラットフォーム」は必ず有効化し, 「OK」をクリックします.
  4. インストールされますので, 「今すぐ再起動」をクリックします.

  5. 再起動後にUbuntuを起動します. 右クリックからスタートメニューにピン止めしておくことを勧めます.

成功後のセットアップについて

  1. インストールがうまくいった場合, 再起動後に自動でWLSが起動し, ユーザー名の入力を求められます. 好きな名前を入力してください.


  2. 次にログインパスワードを設定します. 入力してもパスワードは表示されません. 表示されなくても入力はできているので, 自分を信じて入力してください. そもそも自分しか使わないのでPCの起動のパスワードと同じで問題ありません. 2回とも同じパスワードを入力する必要があります.

  3. うまくいくと緑色の文字でユーザー名@端末名が左下に表示されます. もし失敗した場合は管理者権限のPowerShellでwsl --unregister Ubuntuを実行し, Ubuntuのアイコンをクリックしてやり直してください.

パスワードの設定に失敗した場合

  1. Try again? [y/N]と聞かれますのでyを入力してEnterしてください.
  2. 再度パスワードを2回入力します.
  3. うまくいくと緑色の文字でユーザー名@端末名が左下に表示されます.

参考文献

https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce
https://softantenna.com/blog/how-to-fix-wslregisterdistribution-failed-with-error-0x80370102/
https://windowsreport.com/windows-11-wsl-error/

Discussion

SurfacePro8にて、同じエラーコードが発生したため、エラーコードをGoogle検索しこちらのページにたどりつきました。大変参考になりました。
参考までに当方の環境になります。
デバイス名 SurfacePro8
プロセッサ 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz
実装 RAM 8.00 GB (7.84 GB 使用可能)
システムの種類 64 ビット オペレーティング システム、x64 ベース プロセッサ
OSエディション Windows 11 Home
OSバージョン 22H2
OS ビルド 22621.819

他の環境でも再現したとの情報を頂きありがとうございます。記事の方にもリンクを張らせて頂きました。今後もよろしくお願いします。

ログインするとコメントできます