Build 18945のWSLに関する変更点
2019年7月26日にリリースされた「Build 18945」の「WSL」に関する変更点の紹介です。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 2」を利用する方法は、以下を参照してください。リリースノート
変更点の詳細は、リリースノートを参照してください。WSLの機能の改善や変更
「WSL」に関する機能の改善や変更です。1.localhost:port経由でアクセス可能に(WSL 2)
ホストから「localhost:port」経由でアクセスできるように、「WSL 2」でTCPソケットの待ち受け(LISTENING)が可能になりました。2.ネットワーク診断機能の改善(WSL 2)
「WSL 2」のネットワークの問題を診断する機能が改善されました。3.Linux kernelのアップデート(WSL 2)
「Linux kernel」が「Linux kernel 4.19.55」にアップデートされました。4.Dockerのサポート(WSL 2)
「Docker」の起動に必要な「Linux kernel」の設定オプションが有効になりました。これにより改善する問題は、以下を参照してください。
5.CPUコア数の割り当て増加(WSL 2)
仮想マシン(Lightweight Utility VM)に割り当てるCPUコア数が、ホストと同じCPUコア数になりました。かつては「Linux kernel」の「CONFIG_NR_CPUS」設定で最大8コアに制限されていました。
これにより改善する問題は、以下を参照してください。
6.スワップファイルの生成(WSL 2)
「WSL 2」の仮想マシン向けにスワップファイルを生成するようになりました。7.マウントされたボリュームの表示(WSL 2)
「sshfs」等でユーザーがマウントしたボリュームは「\\wsl$\distro」以下に表示されるようになりました。これにより改善する問題は、以下を参照してください。
8.9Pファイルシステムのパフォーマンス改善(WSL 2)
9Pファイルシステムのパフォーマンスが改善されました。10.squashfsとxt_conntrackのサポート(WSL 2)
「squashfs」と「xt_conntrack」のサポートに必要な「Linux kernel」の設定オプションが有効になりました。これにより改善する問題は、以下を参照してください。
11.ENOTSUPの対応(WSL 2)
ファイルシステムが「EA」をサポートしていない場合、「ENOTSUP」を返すようになりました。12.filesystem.umaskオプションの追加
「/etc/wsl.conf」に「filesystem.umask」オプションが追加され、デフォルトの「umask」が「0022」に変更されました。13.WSL 2の設定をカスタマイズする設定ファイルの追加
「WSL 2」の設定をカスタマイズする「%UserProfile%.wslconfig」ファイルが導入されました。設定可能な項目は以下を参照してください。
[wsl2]
kernel=<path> # An absolute Windows path to a custom Linux kernel.
memory=<size> # How much memory to assign to the WSL2 VM.
processors=<number> # How many processors to assign to the WSL2 VM.
swap=<size> # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path> # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB
kernel=<path> # An absolute Windows path to a custom Linux kernel.
memory=<size> # How much memory to assign to the WSL2 VM.
processors=<number> # How many processors to assign to the WSL2 VM.
swap=<size> # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path> # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB
設定項目 | 概要 |
---|---|
kernel | WSL 2で使用するLinux kernelの絶対パスを指定します。 |
memory | 仮想マシンに割り当てるメモリー量を指定します。 |
processors | 仮想マシンに割り当てるCPU数を指定します。 |
swap | 仮想マシンに追加するスワップファイルのサイズを指定します。 |
swapFile | スワップファイルの配置場所を絶対パスで指定します。 |
localhostForwarding | WSL 2のワイルドカードにバインドされているポートもしくはlocalhostに、ホストから接続できるようにするかどうかを指定します。 既定値は「true」です。 |
パス(<path>)の指定は、Windows上の絶対パスで指定し、パス区切り記号のバックスラッシュはエスケープしてください。
例)C:\\Users\\Ben\\kernel
サイズ(<size>)の指定は、サイズと単位を指定してください。
例)「8GB」「512MB」
WSLの不具合修正
「WSL」に関する不具合の修正です。1.インストールや変換に失敗する不具合(WSL 2)
Linuxディストリビューションのインストールや変換に失敗する問題が修正されました。また将来発生し得る問題を突き止められるようにするため診断機能が追加されました。
これにより改善する問題は、以下を参照してください。
2.ACLが際限なく設定される不具合の修正(WSL 2)
ACLが際限なく設定される不具合が修正されました。これにより改善する問題は、以下を参照してください。
3./etc/wsl.confの不具合修正(WSL 2)
「/etc/wsl.conf」の「interop.enabled」オプションに関する不具合が修正されました。これにより改善する問題は、以下を参照してください。
4.CopyFileがハングする問題の修正(WSL 2)
「\\wsl$」で「CopyFile」を実行すると「CopyFile」がハングする問題が修正されました。5.wslpathがシンボリックリンクを適切に解決しない不具合の修正
「wslpath」がシンボリックリンクを適切に解決しない不具合が修正されました。この不具合は「19h1」で発生したリグレッションです。
これにより改善する問題は、以下を参照してください。