WSL2(Windows Subsystem for Linux)導入手順
Windowsアップデート手順
公式ページよると、下記のバージョン以降である必要があるみたい。
WSL 2 は、Windows 10、バージョン 2004、ビルド 19041 以上でのみ使用できます。 Windows のバージョンを更新しなければならない場合があります。
とりあえず、自身のWindowバージョンを確認してみた。
Windows Update画面上では「最新の状態です」と表示されているが、何故かバージョンが足りていない。下記ページからWindowsのバージョン更新を実施した。
バージョン更新が完了すると、下記のように表示される。
WSL2(Windows Subsystem for Linux)導入手順
公式手順ページ を参考に、以下導入を進めた。
"Linux用Windowsサブシステム"オプション機能を有効化
Windows 上に Linux ディストリビューションをインストールする前に、"Linux 用 Windows サブシステム" オプション機能を有効にする必要があります。管理者として PowerShell を開き、以下を実行します。
PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
展開イメージのサービスと管理ツール
バージョン: 10.0.18362.900
イメージのバージョン: 10.0.18362.1016
機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
"仮想マシンプラットフォーム"のオプションコンポーネントを有効化
WSL 2 をインストールする前に、"仮想マシン プラットフォーム" オプション機能を有効にする必要があります。管理者として PowerShell を開き、以下を実行します。
PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
展開イメージのサービスと管理ツール
バージョン: 10.0.18362.900
イメージのバージョン: 10.0.18362.1016
機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
お使いのマシンを再起動して WSL のインストールを完了し、WSL 2 に更新します。
WSL2を既定のバージョンとして設定する
管理者として PowerShell を開いて次のコマンドを実行し、新しい Linux ディストリビューションをインストールする際の既定のバージョンとして WSL 2 を設定します。
PS C:\WINDOWS\system32> wsl --set-default-version 2
エラー: 0x1bc
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
「0x1bc」エラーが出力された。公式に以下の記述があったため、別件のエラーだと思ったがカーネルの更新を試してみた。カーネル更新ダウンロードリンク
このメッセージは、コマンド WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel を実行した後に表示されることがあります。 リンク (https://aka.ms/wsl2kernel) に従って、WSL 2 で使用する Linux カーネルをコンピューターにインストールするためのドキュメントのこのページから MSI をインストールしてください。 カーネルをインストールしたら、コマンドを再度実行すると、メッセージが表示されることなく正常に完了します。
カーネル更新後、再度実行したところエラーは出力されなくなった。
PS C:\WINDOWS\system32> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
Linuxディストリビューションをインストールする
Microsoft Store を開き、希望する Linux ディストリビューションを選択します。
今回は「Ubuntu 20.04 LTS」を導入した。
上記のインストール完了後、Ubuntuを初めて起動すると数分待つように求められる。その後、下記のようにUbuntuのユーザ及びパスワードの設定を求められるため、設定する。
ディストリビューションで使用されるWSLのバージョンを設定する
インストールしたUbuntuに割り当てられているWSLバージョンを確認したところ、バージョン1が割り当てられている。
PS C:\WINDOWS\system32> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 1
バージョン2を割り当てるためには、以下のコマンドで設定する。
PS C:\WINDOWS\system32> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
仮想ディスク システムの制限により、要求された操作を完了できませんでした。仮想ハード ディスク ファイルの圧縮と暗号化が解 除されている必要があります。また、仮想ハード ディスク ファイルをスパースに設定することはできません。
「仮想ディスク システムの制限により、要求された操作を完了できませんでした。」とエラーが表示された。ファイルの圧縮と暗号化を解除すると良いとのことなので、以下を実施した。
URLバーから%localappdata%\Packagesに移動すると、「CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc」のようなフォルダ名で、Ubuntuのディストリビューション実体が見つけれる。プロパティ>詳細設定>内容を圧縮してディスク領域を節約するのチェックを外す。
上記を実施した後、再度実行してみた。
PS C:\WINDOWS\system32> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。
設定が完了したようなので、改めてUbuntuに割り当てられているWSLバージョンを確認すると、バージョンが2へ更新されている。
PS C:\WINDOWS\system32> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 2
これで設定完了!