Windwos11のWSLインストール時に0x80370114エラーが出る問題
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
他の端末(コメント欄参照)でも同様の問題を起こるようです.
インストールの手順と失敗の再現
うまくいく場合のインストールの手順は上記のBookで説明しています. 公式の説明ではある程度のバージョンにアップデートした状態でPowerShellでwsl --install
を実行すれば一発でインストールできると書いてありますが, どうやらダメなようです.
- スタートメニューからターミナルを右クリックし, 管理者権限でターミナルを起動します.
-
管理者権限で起動できたことを確認し,
wsl --install
を実行します.
- 下記のように終了したら, PCを再起動します.
- 再起動後に自動で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など, 他のエラーでも似たような方法が取られているため, 仮想マシンプラットフォームの有効化に失敗しているとみて間違いなさそうです.
仮想マシンプラットフォームの有効化が必要なのは間違いなさそうですが, 下記の解説によるとWindows ハイパーバイザー プラットフォームも有効化した方が他の仮想環境やエミュレーターと干渉しないようです. 念のため, こちらも有効化しておきましょう.
推奨する解決方法
- スタートメニューの検索ボックスから「Windowsの機能の有効化または無効化」を検索し, クリックします.
-
Androidアプリの開発や, 他の仮想環境を実行する可能性のある方は「Windows ハイパーバイザー プラットフォーム」を有効化します. これは後からでも有効化できるので, わからない方は触らなくても平気です.
- 「仮想マシン プラットフォーム」は必ず有効化し, 「OK」をクリックします.
- インストールされますので, 「今すぐ再起動」をクリックします.
- 再起動後にUbuntuを起動します. 右クリックからスタートメニューにピン止めしておくことを勧めます.
成功後のセットアップについて
- インストールがうまくいった場合, 再起動後に自動でWLSが起動し, ユーザー名の入力を求められます. 好きな名前を入力してください.
- 次にログインパスワードを設定します. 入力してもパスワードは表示されません. 表示されなくても入力はできているので, 自分を信じて入力してください. そもそも自分しか使わないのでPCの起動のパスワードと同じで問題ありません. 2回とも同じパスワードを入力する必要があります.
- うまくいくと緑色の文字で
ユーザー名@端末名
が左下に表示されます. もし失敗した場合は管理者権限のPowerShellでwsl --unregister Ubuntu
を実行し, Ubuntuのアイコンをクリックしてやり直してください.
以上でWSLのインストールは完了です. おつかれさまでした.
パスワードの設定に失敗した場合
- Try again? [y/N]と聞かれますのでyを入力してEnterしてください.
- 再度パスワードを2回入力します.
- うまくいくと緑色の文字で
ユーザー名@端末名
が左下に表示されます.
参考文献
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
他の環境でも再現したとの情報を頂きありがとうございます。記事の方にもリンクを張らせて頂きました。今後もよろしくお願いします。
自分の PC でも同様のエラーが発生しました。こちらのページにあった方法(Windows ハイパーバイザー プラットフォームの有効化)で解消しました。大変助かりました><
参考までに PC の構成をお伝えします。
貴重な情報、ありがとうございました!
情報をご提供頂きありがとうございます!今後もよろしくお願いします。