WSL2に移行してみました!

みなさんこんにちは
いかがお過ごしでしょうか?
今回は久しぶりにWindows10のビルドを確認したらビルドが上がっていたので
以前OSのビルドバージョンが足りずにできなかった
WSL2への移行をしてみました。

WSL2に移行するために必要なこと

さて、前述したようにWSL2に移行するためには
Windows10のバージョンとビルドが以下であることが必要です。

  • Windows10 バージョン 1903
  • ビルド 18362 以上

バージョン確認は以下の方法で行います。
まずは、「Windowsキー」+「R」を入力しましょう。
すると、ファイル名を指定して実行のウィンドウが開くので
以下の図のようにwinverと入力してOKボタンを押してください。

winver入力状態

OKボタンを押すと以下の画面が表示されるので
赤枠の部分を確認して必要な要件を満たしていればWSL2に移行できます。
要件を満たしていない場合は、要件を満たしてからWSL2へ移行してください。

管理人PCのバージョン確認画面

WSL2への移行手順

さて、WSL2への移行のための要件を満たしているか確認したところで
いよいよ移行作業に取り掛かっていきます。
WSL2への移行にあたっては以下のステップで行っていきます。

  • 仮想マシン機能を有効にする ※要再起動
  • Linux カーネルを更新する
  • WSL 2 を既定バージョンとして設定する
  • WSL1からWSL2に切り替える

仮想マシン機能を有効にする【設定済ならスキップしてOK】

まずは、仮想マシン機能を有効にしましょう。
管理人は以前Windows10に更新した際にOFFにしてしまったので
有効化が必要でした。すでに有効化している場合は、本見出しの設定は不要です。
PowerShellを管理者権限で起動して、以下のコマンドを入力します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
コマンド実行結果

これで仮想マシン機能が有効になったので再起動をおこなってから
次のステップに移りましょう。

Linux カーネルを更新する

次のステップはWSLで利用しているLinuxカーネルを更新します。
以下のリンクをクリックして更新用プログラムをダウンロードします。
Linuxカーネル更新用プログラム
※ここではx64マシン用のプログラムをダウンロードしています。
ARMマシンの方はこちらをダウンロードしてください。

ダウンロードしたファイルを実行してLinuxカーネルを更新してください。
更新が完了したら次のステップに進みましょう。

WSL 2 を既定バージョンとして設定する

次のステップはWSLの起動するバージョンをWSL2に変更します。
このステップを実施することによって、今後インストールされる
ディストリビューションはすべてWSL2で起動するようになります。
PowerShellを起動して以下のコマンドを実行します。

wsl --set-default-version 2

これでデフォルトで起動するWSLがWSL2となりました。
次がいよいよ最後のステップです。

WSL1からWSL2に切り替える

さていよいよ最後のステップです。
このステップでWSL1からWSL2への切り替えを行っていきます。
まずはPowerShellで以下のコマンドを実行して現在インストールされている
LinuxがWSL1とWSL2どちらで動いているか確認しましょう。

wsl --list --verbose
WSLバージョン確認結果

今回はUbuntuをWSL2にしたいのでPowerShellで以下のコマンドを実行します。
Ubuntuの部分は変更したいディストリビューションに合わせて
変更してください。

 wsl --set-version Ubuntu 2
WSL変換完了時の画面

変更が完了したら以下のコマンドを実行して
バージョンが更新されているか確認します。

wsl --list --verbose
バージョン確認結果

VERSIONの部分が2に変更されていれば成功です。

最後に

前々からWSL2に変更したいと思っていましたが
ビルドが足りず泣く泣くしていませんでしたがこのタイミングでようやく
WSL2にできました。
パフォーマンスの向上や、システムコールの100%互換等
今から楽しみなことが盛りだくさんです。
みなさんもWSL2に移行してWindowsでLinux開発環境を楽しみましょう。
それではまた次の記事で

参考文献

今回移行するにあたって参考にした情報

Translate »