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のバージョン確認
Win
+R
を押して、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が終わったら実行してインストールしましょう。
編集後記載
カーネルのダウンロードページがこちらに変更されていそうです。
また、現在ではカーネルからインストールしなくとも、管理者モードで以下を実行する形で良さそうです。
wsl --install
WSL2を使うようにする
デフォルトだとWSL1を使用するようになっています。
PowerShellで以下を実行して、デフォルトを変更します。
wsl --set-default-version 2
Linuxディストリビューションをインストール
-
Microsoft Storeを起動して、ディストリビューションを検索
Ubuntu以外に、DebianやSLESとかもあります。
Ubuntuを入れるのであれば、バージョンの書いてあるものをインストールする方がいいでしょう。無印のUbuntuだと、インストール時期によってバージョンが変わるとかなんとか。 -
「
入手
」ボタンをクリック……
って、あれれ~おかしいぞ~
どういうわけかボタンを押してもうんともすんとも言いません。
結果としてとても時間がかかったので、こちらの方に書きます。 -
起動
スタートメニューからUbuntuを起動します。 -
初回起動
初回起動時にユーザーとパスワードの設定が聞かれるはずだからそれを設定したらいいはず…… !?
あれれ~おかしいぞ~
Ubuntuのwindowsには次のような文字が……
Installing. this may take a few minutes.
WslRegisterDistribution failed with error: 0x80370102
どうやら、PC本体の仮想化が無効になっていたようです。
マシンの仮想化の有効化
上の4でユーザー名とパスワードの設定ができれば気にする必要はありません。
上のエラーの原因は、BIOSの設定をいじることで解決できます。
特にAMD製のCPUであれば、初期設定では無効化されていることが多いそうです。
MSIの場合
-
EAZY MODE
で起動されているのであれば、F12
またはADVANCED MODE
ボタンを押します。 -
OC
を選択。 -
CPU拡張設定
とか、CPU何とかSetting
みたいなのを選択。 -
SVM Mode
の設定を無効
/disable
から有効
/enable
に変更。 - 保存してwindowsを再起動
これで終わりです。OCのところにあるのはなかなかに罠でした。
他社の場合
そのうち書きます。
Ubuntuの起動
起動したら次はちゃんと行けました。