Apacheを勉強するためにLinuxコマンドを使える状態にしといたほうがいいよな~と思い、初心者なりに頑張ってWSL2を導入した。使用OSはWin10の21H1なのでコマンドからWSL2をインストールできそうだ。試行錯誤しつつぐちゃぐちゃな手順で導入したらなぜか動くようになってしまった。気になるのでUbuntuを一旦アンインストールした。再度入れ直そうとしたところ以下のようなエラーが出る。
WslRegisterDistribution failed with error: 0x800701bc
例の通りエラー文で検索すると「x64マシン用WSL 2 Linuxカーネル更新プログラムパッケージをダウンロードしろ」と出る。さっき導入時にダウンロードしようとしたけどMicrosoftの記事内にリンクが見当たらなかったから飛ばしたやつだ。最初にUbuntuをインストールした時には問題なく動いたから必要ないかと思ったけど、やはり必要なのか。
再度記事を見に行った。
https://docs.microsoft.com/ja-jp/windows/wsl/install#step-4---download-the-linux-kernel-update-package
しかしどこを見てもそれらしいURLがない。
さらに調べるとこんな記事が出てきた。
https://japan.zdnet.com/article/35150847/
カーネルの更新プログラムはWindows Updateに含めるよ~という記事だ。去年のものなのですでに採用されているものなのだろう。
しかしWSL2を入れる前にWindows Updateは最新に更新したし、あらかじめシステム設定でサブシステムも仮想マシンプラットフォームも有効にしてあるし、それなのにディストリビューションをアンインストしてインストールしたらいきなりおかしくなったんですけど?!とだんだん混乱してくる。
結局さらに検索し続けることで更新プログラムパッケージのDLリンクを発見し、最終的にUbunutuを問題なくインストールできた。
https://aimek-developer.blogspot.com/2021/03/wsl2.html
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
(※注意:ダウンロードリンク)
Microsoftの記事にリンクが掲載していなかったのはなぜだろう…Windows Updateに含めたからか…と思ったのだけど、さらにカーネルアップデートをコマンド対応した話が出てきた。
https://news.mynavi.jp/article/20200620-1059833/
wsl --update
これでカーネルアップデートを最新にできるようだ。これもあってダウンロードリンクを載せなくなったということだろうか(記事にも「コマンドで全部導入できるよ」の旨が記載してある)。手動で入れてしまったので上記の更新コマンドは試していないが。
どちらにせよ導入前にWindows Updateかけたんだけど、足りてなかったってこと?という疑問は残る。わかりません。