自作PCにwsl2で開発環境を整える~wsl導入編~


Abstract

自作PCにwsl2を突っ込んで開発環境を整えようとした私。
良さげな記事も見つけ、導入に着手するが……


以下のような内容を用意しています。

  • WSL2の導入
  • Ubuntuの入手
    • Microsoft Storeが、動かない(別記事へ移動)
  • Ubuntuの起動
    • error: 0x80370102
  • マシンの仮想化の有効化

そうだ、PC作ろう

と思い至り、自作PCとやらに手を出してみました。
なんとなく動いたのでそこにwslを導入して開発環境を整えようと思い至り始めたのですが、どうもうまくいかないことも多かったので備忘録をば……

マシンスペック

CPU  AMD Ryzen 9 3900X 12-Core Processor
メモリ  16GB
ディスク  1TB(SSD)+3TB(HDD)
GPU  NVIDIA GeForce GTX 1070
BIOS  MSI(バージョンは忘れた)

WSL2の導入

Windowsのバージョン確認

WinRを押して、winverと打てばwindowsのバージョンを確認することができるので、まずは自分のwindows10がwsl2に対応したバージョンなのかを確認します。

対応バージョン

  • Windows 10 version 2004
  • Windows 10 version 1903 and 1909

"Windows Subsystem for Linux"の有効化

PowerShellを管理者として開き、以下を実行します。

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

"Virtual Machine Platform"の有効化

次に以下を実行します。指示に従って、Yを押してPCを再起動しましょう。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all

WSL2のカーネルのインストール

WSLの公式ドキュメントから、WSL2用のLinuxカーネルをDLしてきます。
x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージみたいに書かれたリンクをクリックすれば大丈夫です。

DLが終わったら実行してインストールしましょう。

WSL2を使うようにする

デフォルトだとWSL1を使用するようになっています。
PowerShellで以下を実行して、デフォルトを変更します。

wsl --set-default-version 2

Linuxディストリビューションをインストール

  1. Microsoft Storeを起動して、ディストリビューションを検索
    Ubuntu以外に、DebianやSLESとかもあります。
    Ubuntuを入れるのであれば、バージョンの書いてあるものをインストールする方がいいでしょう。無印のUbuntuだと、インストール時期によってバージョンが変わるとかなんとか。

  2. 入手」ボタンをクリック……
    って、あれれ~おかしいぞ~
    どういうわけかボタンを押してもうんともすんとも言いません。
    結果としてとても時間がかかったので、こちらの方に書きます。

  3. 起動
    スタートメニューからUbuntuを起動します。

  4. 初回起動
    初回起動時にユーザーとパスワードの設定が聞かれるはずだからそれを設定したらいいはず…… !?
    あれれ~おかしいぞ~
    Ubuntuのwindowsには次のような文字が……

Installing. this may take a few minutes.
WslRegisterDistribution failed with error: 0x80370102

どうやら、PC本体の仮想化が無効になっていたようです。

マシンの仮想化の有効化

上の4でユーザー名とパスワードの設定ができれば気にする必要はありません。
上のエラーの原因は、BIOSの設定をいじることで解決できます。
特にAMD製のCPUであれば、初期設定では無効化されていることが多いそうです。

MSIの場合

  1. EAZY MODEで起動されているのであれば、F12またはADVANCED MODEボタンを押します。
  2. OCを選択。
  3. CPU拡張設定とか、CPU何とかSettingみたいなのを選択。
  4. SVM Modeの設定を無効/disableから有効/enableに変更。
  5. 保存してwindowsを再起動

これで終わりです。OCのところにあるのはなかなかに罠でした。

他社の場合

そのうち書きます。

Ubuntuの起動

起動したら次はちゃんと行けました。

次回予告

次回:WSL2のセッティング

参考

【WSL2】wsl2のインストールで0x80370102 エラーが出たときの対処方法【HP】