LoginSignup
8
19

More than 3 years have passed since last update.

WSL2(Windows Subsystem for Linux)導入手順

Posted at

WSL2(Windows Subsystem for Linux)導入手順

Windowsアップデート手順

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

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

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

WindowsUpdate.png

winver1903.png

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

Windows 10 のダウンロード

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

winver2004.png

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」を導入した。

MicrosoftStore_Ubuntu.png

上記のインストール完了後、Ubuntuを初めて起動すると数分待つように求められる。その後、下記のようにUbuntuのユーザ及びパスワードの設定を求められるため、設定する。

ubuntuinstall.png

ディストリビューションで使用される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

これで設定完了!

8
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
19