WSL2(Windows Subsystem for Linux)導入手順


WSL2(Windows Subsystem for Linux)導入手順

Windowsアップデート手順

公式ページよると、下記のバージョン以降である必要があるみたい。

WSL 2 は、Windows 10、バージョン 2004、ビルド 19041 以上でのみ使用できます。 Windows のバージョンを更新しなければならない場合があります。

とりあえず、自身のWindowバージョンを確認してみた。

Windows Update画面上では「最新の状態です」と表示されているが、何故かバージョンが足りていない。下記ページからWindowsのバージョン更新を実施した。

Windows 10 のダウンロード

バージョン更新が完了すると、下記のように表示される。

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

これで設定完了!