故あって、開発環境をMacからWindowsへシフトして、早速WSL2からUbuntuを立ち上げようとしたところ、表題にある2つのエラーが出ちゃいました。
こういうところWindowsってめんどくさい
今後、また同じエラーが出たら面倒なので、備忘録がてら対応履歴を残しておきます。
環境
Windows10 Pro
Ubuntu 20.04.5 LTS
「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」は有効化済み
PowerShell上から下記コマンドで、WSL2を既定バージョンに設定済み
wsl --set-default-version 2
原因
なんてことはなく原因は下記の2つでした。
- CPUの仮想化機能が有効化になっていなかった
- 規定のLinux カーネル更新プログラム パッケージを更新していなかった
まずは「0x80370102」エラー
Ubuntu 20.04.5 LTS をインストールして、立ち上げたところ下記のようなエラーが出ました。
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 ??????????????????????????????????????
Press any key to continue...
「?」はひとつでいいだろ、びっくりするなあ。
単にBIOS側でCPUの仮想化機能が有効化になっていなかっただけでした。
再起動後、BIOSを立ち上げて、「System Configuration」>「Virtualization Technology」>「Enabled」で仮想化機能を有効化。
これで無事にUbuntuを立ち上げられると思いきや……
今度は「0x800701bc」エラー
Installing, this may take a few minutes… WslRegisterDistribution failed with
error: 0x800701bc Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????
一難去ってまた一難。だから「?」を並べるな、怖いだろ。
わかりやすいことに、エラーメッセージの中にURLがあります。そこを見ろということですね。
というわけでアクセスした先で、「手順 4 - Linux カーネル更新プログラム パッケージをダウンロードする」とありますので、それに従います。
以上の手順で解決し、無事にUbuntuを起動することができました。
反省
過去にWSL1の導入をやったことがありましたが、その時と同じようなノリであまり手順を再確認しなかったことでハマりました。
それに加えて何はともあれ、まずは公式ドキュメントを読むべきでしたね。