Windows10のWSLをWSL2に変換する手順

公開日:2019/12/27 更新日:2019/12/27
Windows10のWSLをWSL2に変換する手順のサムネイル

はじめに

Windows上でLinux環境を使用できるWSL(Windows Subsystems for Linux)の新しいバージョンであるWSL2が2019年6月からWindows10のプレビュー版で使用可能になっています。プレビュー版は正式版前のバージョンであり、使用するにはWindows Insider Programに登録する必要がありますが、登録自体は簡単です。この記事では、WSL1をWSL2に変換する手順をまとめます。 なお、Windows Insider Programに登録してWindows10のプレビュー版をインストールする手順は以下にまとめているので興味のある方は見てみてください。

www.virment.com

MicrosoftはWindows Insider Programを用意しており、登録することでWindowsの最新ビルド版を使用することができます。この記事では、Windows Insider Programに登録して最新のビルド版をインストールする手順をまとめます。

前提と環境

  • OS : Windows10 Pro 64bit
  • ビルド番号 : 19013(WSL2のインストールには、18917以降が必須です。)
  • WSL1はインストール済とします。

以降の手順は、マイクロソフトの公式ドキュメントに従った内容になります。

docs.microsoft.com

WSL 2 のインストール手順

WSLのバージョンを確認する

まず、念の為にWSLがインストールされていることを確認するために、PowerShellを開いて以下のようにwslコマンドを実行してWSLのバージョンを表示してみます。

PS C:\Users\albion> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         1

上記のように「VERSION」が「1」になっており、これはWSL1になります。

事前準備

事前準備として、「"仮想マシンプラットフォーム"のオプションコンポーネント」なるものを有効化する必要があります。以下のコマンド2つを実行すれば完了です。なお、管理者権限で開いたPowerShellで実行する必要があります。

> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

上記の1コマンドを実行すると、以下のように青いバーが表示されて少しだけ待機します。

execute-enable-wsl.png

最終的に以下のように表示されて完了します。

>  Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Path          :
Online        : True
RestartNeeded : False

2つ目のコマンドについても1つ目と同様に青いバーが表示されます。少し待機すると以下のように表示されて再起動が必要になりますので、再起動します。

PS C:\Users\albion> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
この操作を完了するために、今すぐコンピューターを再起動しますか?
[Y] Yes  [N] No  [?] Help (default is "Y"):

再起動したら事前準備は完了です。

WSL1をWSL2に変換する

WSL2への変換は簡単です。公式ドキュメントにあるように、以下のコマンドを実行します。以下のコマンド自体は管理者権限なしで実行可能です。

PS C:\Users\albion> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

変換が完了すると、「変換が完了しました。」と表示されます。

PS C:\Users\albion> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

変換時に遭遇した症状

私の環境では、WSL1からWSL2への変換が終わるまでに2時間以上かかりました。。。上記コマンドを実行してから2時間経過した時点で出かけて放置したため、正確に何時間かかったかはわかりませんが、数分で終わるものではなかったです。もちろん各自の環境によると思います。また、タスクマネージャーを見るとvmmemというプロセスのメモリ消費量が時間経過とどんどん増加し、私が確認した時点でメモリを10GB以上使っていました。放置したらWindows10が落ちそうだなーと思いながら出かけましたが、戻ったら以下のように表示されて変換が完了していました。

なお、何時間経過しても変換できない場合もあるようです。この問題については、Github上でも多くの人が遭遇しているようで、以下で議論されています。執筆時点ではっきりと修復はされていないようです。

github.com

WSL 2 consumes massive amounts of RAM and doesn't return it

また、前述した変換のためのコマンドを実行した時に以下のようにメッセージが表示される場合は、前節の事前準備を実行してから再度実行してみてください。

PS C:\Users\albion> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
Windows の仮想マシン プラットフォーム機能を有効にして、BIOS で仮想化が有効になっていることを確認してください。
詳細については、https://aka.ms/wsl2-install を参照してください

まとめ

WSL1をWSL2に変換する手順をまとめました。もしかしたら変換がうまくいかない場合もあるかもしれませんが、その場合はまずWindowsの更新プログラムを適用してから再度トライしてみるといいかもしれません。

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。