Build 18917でWSL 2が利用可能に
「Build 18917」で「WSL 2」が利用可能になりました。現在「Build 18917」は、「ファーストリング」で提供されています。
「Windows 10 Insider Preview」の利用方法は、以下を参照してください。
WSLとは
「WSL」は、「Windows」上でLinuxバイナリーを動作させるための仕組みです。「Windows」上で「Ubuntu」や「openSUSE」などLinux環境を構築し、「Windows」からLinuxの実行ファイルを起動することができます。
Ubuntuのインストール方法
「WSL」及び「Ubuntu」のインストール方法は、以下を参照してください。注意事項
「Microsoftストア」では3種類の「Ubuntu」を提供しています。「Ubuntu」をインストールする前に以下に目を通し、どの「Ubuntu」をインストールするのかを決めてから、「Ubuntu」のインストールを行ってください。
Ubuntu以外のLinuxディストリビューションのインストール方法
「WSL」及び「Ubuntu」以外のLinuxディストリビューションのインストール方法は、以下を参照してください。- openSUSE Leap 42をインストールするには
- SUSE Linux Enterprise Server 12をインストールするには
- Kali Linuxをインストールするには
- Debian GNU/Linuxをインストールするには
使い勝手が異なる点
「WSL 2」は「WSL 1」と同様の使い勝手を目指して開発が行われていますが、現在いくつかその点に関し異なる点があります。Linuxから頻繁にアクセスするファイルの配置場所
Linuxから頻繁にアクセスするファイルは、Linuxのルートファイルシステム内に置きましょう。つまりLinux側のファイルシステム内にファイルを配置するということです。
こうすることでファイルアクセスのパフォーマンスが向上します。
「WSL 1」ではCドライブにそのようなファイルを配置するよう案内されてきましたが、「WSL 2」ではこれは当てはまりません。
「WSL 2」でより高速なパフォーマンスを得るには、Linuxから頻繁にアクセスするファイルをLinuxのルートファイルシステム内に配置しなければなりません。
WindowsアプリからLinuxのルートファイルシステムにアクセスすることも可能です。
「bash」から「explorer.exe /」を実行すれば、ファイルエクスプローラーからLinuxのルートファイルシステムにアクセス可能です。
Linuxネットワークアプリへのアクセス
「WSL 2」はネットワークサポートの改善を行っている最中であり、「WSL 2」の初期ビルドでは動的IPアドレスによるアクセスに留意が必要です。「WSL 2」は仮想マシン内で動作するため、仮想マシン側のIPアドレスを使用してWindowsからLinuxのネットワークアプリへアクセスする必要があります。
逆にLinuxからWindowsのネットワークアプリへアクセスするには、WindowsホストのIPアドレスが必要になります。
開発チームは可能な限り早くネットワークアプリが「localhost」でアクセスできるよう、「WSL 2」の改良作業を行っています。
本件に関する詳細は、以下を参照してください。
新しいWSLコマンド
デフォルトのWSLのバージョンやディストリビューションのWSLバージョンを制御及び表示する機能がWSLコマンドに追加されました。注意
「WSL 2」を利用するには、事前に「仮想マシンプラットフォーム」をインストールしておく必要があります。管理者で「PowerShell」を起動し以下のコマンドを実行すれば、「仮想マシンプラットフォーム」をインストールできます。
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
「仮想マシンプラットフォーム」インストール後、PCの再起動が必要です。
1.ディストリビューションのWSLバージョンを変更するには
ディストリビューションのWSLバージョンを変更するには、以下のコマンドを実行します。
wsl --set-version <Distro> <Version>
Distro
「Distro」には操作対象のLinuxディストリビューション名を指定します。Linuxディストリビューション名は、以下で紹介する「インストール済みのLinuxディストリビューション一覧を表示するには」で確認可能です。
Version
「Version」には、WSLのバージョンを指定します。「WSL 1」を指定するには「1」を、「WSL 2」を指定するなら「2」を指定します。
実行例
例えば「Ubuntu」を「WSL 2」上で動作させるなら、以下のコマンドを実行します。
wsl --set-version Ubuntu 2
これで今後「Ubuntu」は「WSL 2」上で動作するようになります。
2.デフォルトのWSLバージョンを変更するには
デフォルトのWSLバージョンとは、新規にLinuxディストリビューションをインストールした時にそのLinuxディストリビューションで使用するWSLバージョンのことです。デフォルトのWSLバージョンを変更するには、以下のコマンドを実行します。
wsl --set-default-version <Version>
Version
「Version」には、WSLのバージョンを指定します。「WSL 1」を指定するには「1」を、「WSL 2」を指定するなら「2」を指定します。
実行例
例えばデフォルトのWSLバージョンを「WSL 2」にするなら、以下のコマンドを実行します。
wsl --set-default-version 2
3.インストール済みのLinuxディストリビューション及びWSLバージョンを確認するには
インストール済みのLinuxディストリビューション及びWSLバージョンを確認するには、以下のコマンドを実行します。
wsl --list --verbose
4.インストール済みのLinuxディストリビューション一覧を表示するには
インストール済みのLinuxディストリビューション一覧を表示するには、以下のコマンドを実行します。
wsl --list --quiet
5.即座にすべてのLinuxディストリビューションとWSL 2を終了するには
即座にすべてのLinuxディストリビューションと「WSL 2」を終了するには、以下のコマンドを実行します。
wsl --shutdown
6.WSLコマンドのヘルプを表示するには
WSLコマンドのヘルプを表示するには、以下のコマンドを実行します。
wsl --help
以下のようにWSLコマンドのヘルプが表示されます。
Copyright (c) Microsoft Corporation. All rights reserved.
使用法: wsl.exe [Argument] [Options...] [CommandLine]
Linux バイナリを実行するための引数:
コマンド ラインを指定しないと、wsl.exe は既定のシェルを起動します。
--exec, -e <コマンド ライン>
指定したコマンドを、既定の Linux シェルを使用しないで実行します。
--
残りのコマンド ラインをそのまま渡します。
オプション:
--distribution, -d <ディストリビューション>
指定したディストリビューションを実行します。
--user, -u <ユーザー名>
指定したユーザーとして実行します。
Windows Subsystem for Linux を管理するための引数:
--export <ディストリビューション> <ファイル名>
ディストリビューションを tar ファイルにエクスポートします。
標準出力の場合は、ファイル名を - にできます。
--import <ディストリビューション> <インストール場所> <ファイル名> [Options]
指定した tar ファイルを新しいディストリビューションとしてインポートします。
標準入力の場合は、ファイル名を - にできます。
オプション:
--version <バージョン>
新しいディストリビューションに使用するバージョンを指定します。
--list, -l [Options]
ディストリビューションを一覧表示します。
オプション:
--all
現在インストール中またはアンインストール中のものを含めて
すべてのディストリビューションを一覧表示します。
--running
現在実行中のディストリビューションのみを一覧表示します。
--quiet, -q
ディストリビューション名のみを表示します。
--verbose, -v
すべてのディストリビューションについて詳細な情報を表示します。
--set-default, -s <ディストリビューション>
ディストリビューションを既定として設定します。
--set-default-version <バージョン>
新しいディストリビューションの既定のインストール バージョンを変更します。
--set-version <ディストリビューション> <バージョン>
指定したディストリビューションのバージョンを変更します。
--shutdown
実行中のすべてのディストリビューションを終了します。
--terminate, -t <ディストリビューション>
指定したディストリビューションを終了します。
--unregister <ディストリビューション>
ディストリビューションの登録を解除します。
--help
使用法を表示します。
使用法: wsl.exe [Argument] [Options...] [CommandLine]
Linux バイナリを実行するための引数:
コマンド ラインを指定しないと、wsl.exe は既定のシェルを起動します。
--exec, -e <コマンド ライン>
指定したコマンドを、既定の Linux シェルを使用しないで実行します。
--
残りのコマンド ラインをそのまま渡します。
オプション:
--distribution, -d <ディストリビューション>
指定したディストリビューションを実行します。
--user, -u <ユーザー名>
指定したユーザーとして実行します。
Windows Subsystem for Linux を管理するための引数:
--export <ディストリビューション> <ファイル名>
ディストリビューションを tar ファイルにエクスポートします。
標準出力の場合は、ファイル名を - にできます。
--import <ディストリビューション> <インストール場所> <ファイル名> [Options]
指定した tar ファイルを新しいディストリビューションとしてインポートします。
標準入力の場合は、ファイル名を - にできます。
オプション:
--version <バージョン>
新しいディストリビューションに使用するバージョンを指定します。
--list, -l [Options]
ディストリビューションを一覧表示します。
オプション:
--all
現在インストール中またはアンインストール中のものを含めて
すべてのディストリビューションを一覧表示します。
--running
現在実行中のディストリビューションのみを一覧表示します。
--quiet, -q
ディストリビューション名のみを表示します。
--verbose, -v
すべてのディストリビューションについて詳細な情報を表示します。
--set-default, -s <ディストリビューション>
ディストリビューションを既定として設定します。
--set-default-version <バージョン>
新しいディストリビューションの既定のインストール バージョンを変更します。
--set-version <ディストリビューション> <バージョン>
指定したディストリビューションのバージョンを変更します。
--shutdown
実行中のすべてのディストリビューションを終了します。
--terminate, -t <ディストリビューション>
指定したディストリビューションを終了します。
--unregister <ディストリビューション>
ディストリビューションの登録を解除します。
--help
使用法を表示します。