Windows機のうち一台をWSL1からWSL2に移行してみた。
基本的には公式ドキュメントの通りに進めれば良かったものの、どちらかというと新規で入れる場合の手順なので、単純に1から2へ移行できればよい場合の手順を雑にまとめてみる。
手順
以下、管理者としてPowershellを起動し、そこでコマンドを入力して進めていく。
現在のバージョンの確認
wsl --list --verbose
# or
wsl -l -v
仮想マシンの機能を有効にする
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
上記コマンドを実行後、手動でPCを再起動する。別途UEFIの設定が必要な場合アリ(後述)
Linux カーネル更新プログラム パッケージを入れる
以下のリンク先でLinuxカーネル更新プログラムパッケージをDLしてインストールする。
公式: Linux カーネル更新プログラム パッケージをダウンロードする
WSLのバージョンを1から2に変更する
wsl --set-default-version ディストリ名 2
ディストリ名のところには普段つかっているディストリ名が入る。
入ってるディストリ名は
wsl -l -v
で確認できる
補足:以下のコマンドで、今後新しく入れるディストリのデフォルトのWSLバージョンを2に指定できる。
wsl --set-default-version 2
UEFI(BIOS)で仮想マシンプラットフォーム機能を有効化する
WSLのバージョンを1から2に変更する際に、UEFI(BIOS)で仮想マシンプラットフォーム機能が有効になっていない場合、以下のエラーがでる。
Windows の仮想マシン プラットフォーム機能を有効にして、BIOS で仮想化が有効になっていることを確認してください。
以下、ASUSのマザボ前提のUEFI設定手順。
- PC起動時にDelキーまたF2キーを押してUEFIを起動する。
- Advancedモードにする。
- 詳細タブ > CPU設定 > Intel (VMX) Virtualization Technology を確認、Disabled(または無効)をEnabled(または有効)に変更する。
- 終了 > 変更を保存しリセット > OK
- PCが自動で再起動するのを待つ
UEFIの設定ができたら再度wslのバージョンを1から2に変更するコマンドを実行すればおk。