WSL 2:ローカルホスト、カスタムカーネルなどに接続する
Windows 10ビルド18917のリリースに伴い、MicrosoftはLinux2用のWindowsサブシステムであるInsiderにWSL2を導入しました。 これは、完全なシステムコール互換性を可能にするWindowsを備えた実際のLinuxカーネルを出荷します。 LinuxカーネルがWindowsに同梱されるのはこれが初めてです。 Windows 10ビルド18945は、WSL2機能にさらにクールな改善を追加します。
WSL 2は、Windows Subsystem forLinuxがWindows上でELF64Linuxバイナリを実行できるようにするアーキテクチャの新しいバージョンです。 この新しいアーキテクチャは、これらのLinuxバイナリがWindowsおよびコンピュータと相互作用する方法を変更します ハードウェアですが、WSL 1(現在広く利用可能なもの)と同じユーザーエクスペリエンスを提供します バージョン)。
使用する ローカルホスト
WindowsからLinuxアプリケーションに接続するには
WSL 2で最初にリリースされたビルドでは、リモートIPアドレスを介してネットワークアプリケーションにアクセスする必要がありました。 これは修正する優先順位リストの上位にあると述べたので、 Linuxネットワークアプリにアクセスする機能を提供することで、このプロセスをすでに開始しています 窓付き ローカルホスト
.
将来的には、LinuxからWindowsネットワークアプリケーションにアクセスできるようにする必要があります。 ローカルホスト
同様に。 ウェブ開発者がブラウザでウェブサイトにアクセスするなど、最も一般的なネットワークのユースケースとして、WindowsのLinuxアプリを優先しました。 この分野でのさらなる改善にご期待ください!
WSLグローバル構成
Insider Build 17093以降、次のことが可能になりました。 を使用してWSLディストリビューションを構成する wsl.conf
. これらのオプションは、Windowsドライブの自動マウントの有効化または無効化、マウント位置の変更、相互運用機能の無効化など、個々のディストリビューションを構成するのに最適です。 ただし、すべてのディストリビューションに適用する必要があるいくつかの可能なオプションがあります。 これは、WSL2のために最近特に重要になっています。 すべてのWSL2ディストリビューションは同じ仮想マシン(VM)で実行されるため、このVMの構成オプションはすべてすべてのWSL2ディストリビューションにグローバルに適用されます。 この新しいアップデートでは、WSLのグローバル構成オプションの使用を開始する機能が追加されました。 これらのオプションは、WSLエクスペリエンスをさらにカスタマイズしたいパワーユーザーを対象としています。
開始するには、という新しいファイルを作成します .wslconfig
ユーザーフォルダ内( C:\ Users \
どこ Windowsのログイン名です)。 NS .wslconfig
ファイルはモデル化されています INIファイル、.gitconfigと同じです。
いくつかの初期構成オプションを追加しました。このビルドで追加されたものの完全なリストを見つけることができます ここ. 最もエキサイティングなのは、カスタムカーネルを指定することです。
WSL2でカスタムカーネルを使用する
私たち LinuxカーネルにWSL2を提供し、Windowsに同梱されています. ただし、特定のカーネルモジュールを使用するなど、特定のカーネルがWSL2ディストリビューションに電力を供給したい場合があります。 これで、 カーネル
のオプション .wslconfig
マシン上のカーネルへのパスを指定するファイル。そのカーネルは、起動時にWSL 2VMにロードされます。 オプションが指定されていない場合は、WSL2の一部としてWindowsに付属しているLinuxカーネルの使用に戻ります。
その他の変更
- [WSL2] localhost:portを使用して、ホストからWSL2のリスニングtcpソケットにアクセスできるようにします。
- [WSL2]インストール/変換の失敗の修正と将来の問題を追跡するための追加の診断[GH4105]
- [WSL2] WSL2ネットワークの問題の診断可能性を改善します
- [WSL2]カーネルバージョンを4.19.55に更新
- [WSL2] dockerに必要な構成オプションでカーネルを更新します[GH4165]
- [WSL2]軽量ユーティリティVMに割り当てられるCPUの数をホストと同じになるように増やします(以前はカーネル構成のCONFIG_NR_CPUSによって8に制限されていました)[GH 4137]
- [WSL2] WSL2軽量VMのスワップファイルを作成します
- [WSL2] \\ wsl $ \ distro(sshfsなど)を介してユーザーマウントを表示できるようにする[GH 4172]
- [WSL2] 9pファイルシステムのパフォーマンスを改善
- [WSL2] vhdACLが無制限に拡張されないようにします[GH4126]
- [WSL2] squashfsとxt_conntrackをサポートするようにカーネル構成を更新します[GH4107、4123]
- [WSL2] interop.enabled / etc / wsl.confオプションの修正[GH4140]
- [WSL2]ファイルシステムがEAをサポートしていない場合はENOTSUPを返します
- [WSL2] CopyFileが\\ wsl $でハングする問題を修正
- デフォルトのumaskを0022に切り替え、filesystem.umask設定を/etc/wsl.confに追加します
- シンボリックリンクを適切に解決するようにwslpathを修正しました。これは、19h1でリグレッションが発生しました[GH 4078]
- WSL2設定を微調整するための%UserProfile%.wslconfigファイルを導入します
[wsl2] kernel = #カスタムLinuxカーネルへの絶対Windowsパス。 メモリ= #WSL2VMに割り当てるメモリの量。 プロセッサ= #WSL2VMに割り当てるプロセッサの数。 swap = #WSL2VMに追加するスワップスペースの量。 スワップファイルがない場合は0。 swapFile = #スワップvhdへの絶対Windowsパス。 localhostForwarding = #WSL2 VMのワイルドカードまたはlocalhostにバインドされたポートが、ホストからlocalhost:port(デフォルトはtrue)を介して接続可能かどうかを指定するブール値。 # エントリは、C:\\ Users \\ Ben \\ kernelのように、円記号がエスケープされた絶対Windowsパスである必要があります。 # エントリは、サイズの後に単位を続ける必要があります(例:8GBまたは512MB)
WSL2について詳しく知ることができます ここ.
インストールに興味がある場合は、こちらを参照してください 公式文書.
ソース: マイクロソフト