Windows Subsystem for Linux のリリース ノート
[アーティクル] 2023/03/21
15 人の共同作成者
フィードバック
この記事の内容
ビルド 21364
ビルド 21354
ビルド 21286
ビルド 20226
ビルド 20211
ビルド 20190
ビルド 20175
ビルド 20150
ビルド 19640
ビルド 19555
ビルド 19041
ビルド 19028
ビルド 19018
ビルド 19013
ビルド 19002
ビルド 18995
ビルド 18990
ビルド 18980
ビルド 18975
ビルド 18970
ビルド 18945
ビルド 18917
ビルド 18890
ビルド 18342
ビルド 18334
ビルド 18305
ビルド 18277
ビルド 18272
ビルド 18267
ビルド 17763 (1809)
ビルド 18252 (前へスキップ)
ビルド 17738 (Fast)
ビルド 17728 (Fast)
ビルド 18204 (前へスキップ)
ビルド 17723 (Fast)
ビルド 17713
ビルド 17704
ビルド 17692
ビルド 17686
ビルド 17677
ビルド 17666
ビルド 17655 (前へスキップ)
ビルド 17639 (前へスキップ)
ビルド 17133 (Fast)
ビルド 17128 (Fast)
ビルド 17627 (前へスキップ)
ビルド 17618 (前へスキップ)
ビルド 17110
ビルド 17107
ビルド 17101
ビルド 17093
ビルド 17083
ビルド 17074
ビルド 17063
ビルド 17046
ビルド 17040
ビルド 17035
ビルド 17025
ビルド 17017
Fall Creators Update
ビルド 16288
ビルド 16278
ビルド 16275
ビルド 16273
ビルド 16257
ビルド 16251
ビルド 16241
ビルド 16237
ビルド 16232
ビルド 16226
ビルド 16215
ビルド 16199
ビルド 16193
ビルド 16184
ビルド 16179
ビルド 16176
ビルド 16170
ビルド 15046 から Windows 10 Creators Update まで
ビルド 15042
ビルド 15031
ビルド 15025
ビルド 15019
ビルド 15014
ビルド 15007
ビルド 15002
ビルド 14986
ビルド 14971
ビルド 14965
ビルド 14959
ビルド 14955
ビルド 14951
ビルド 14946
ビルド 14942
ビルド 14936
ビルド 14931
ビルド 14926
ビルド 14915
ビルド 14905
ビルド 14901
ビルド 14388 から Windows 10 Anniversary Update まで
ビルド 14376
ビルド 14371
ビルド 14366
ビルド 14361
ビルド 14352
ビルド 14342
ビルド 14332
ビルド 14328
さらに 104 個を表示
ビルド 21364 の一般的な Windows 情報については、Windows ブログ を参照してください。
GUI アプリが入手可能になりました。 詳細については、このブログ投稿 を参照してください。
\\wsl.localhost\ を使用してファイルにアクセスするときのエラーが解決されます。
LxssManager サービスで発生する可能性のあるデッドロックが修正されます。
ビルド 21354 の一般的な Windows 情報については、Windows ブログ を参照してください。
\wsl プレフィックスが \wsl.localhost に切り替えられ、"wsl" という名前のネットワーク上にマシンがある場合に問題が発生しないようにします。 \wsl$ は引き続き機能します。
wow プロセスの Linux クイック アクセス アイコンが有効になります。
wslapi RegisterDistribution を介して常にバージョン 2 が渡されていた問題が更新されます。
/usr/lib/wsl/lib ディレクトリの fmask が 222 に変更され、ファイルが実行可能としてマークされます [GH 3847]
仮想マシン プラットフォームが有効になっていない場合の wsl サービスのクラッシュが修正されます。
ビルド 21286 の一般的な Windows 情報については、Windows ブログ を参照してください。
コマンドの現在の作業ディレクトリを設定する wsl.exe --cd コマンドが導入されます。
NTSTATUS から Linux エラー コードへのマッピングが改善されます。 [GH 6063]
wsl.exe --mount のエラー報告が改善されます。
/etc/wsl.conf にスタートアップ コマンドを有効にするオプションを追加しました:
[boot]
command=<string>
ビルド 20226 の一般的な Windows 情報については、Windows ブログ を参照してください。
LxssManager サービスのクラッシュを修正します。 [GH 5902]
ビルド 20211 の一般的な Windows 情報については、Windows ブログ を参照してください。
物理ディスクや仮想ディスクをマウントするための wsl.exe --mount
を導入します。 詳細については、「Windows および WSL 2 で Linux ファイルシステムにアクセスする 」を参照してください。
VM がアイドル状態であるかどうかを確認する際の LxssManager サービスのクラッシュを修正します。 [GH 5768]
圧縮された VHD ファイルのサポート。 [GH 4103]
c:\windows\system32\lxss\lib にインストールされている Linux ユーザー モード ライブラリが、OS アップグレードの際に保持されるようにします。 [GH 5848]
wsl --install --list-distributions
を使用して、インストールできる利用可能なディストリビューションを一覧表示する機能が追加されました。
WSL インスタンスは、ユーザーがログオフすると終了されるようになりました。
ビルド 20190 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL1 インスタンスが起動できなくなるバグを修正します。 [GH 5633]
Windows プロセスの出力をリダイレクトする際のハングを修正します。 [GH 5648]
VM アイドル タイムアウトを制御するための %userprofile%\.wslconfig オプションを追加します (wsl2.vmIdleTimeout=<time_in_ms>)。
WSL からアプリの実行エイリアスを起動する操作をサポートします。
WSL2 カーネルとディストリビューションをインストールするためのサポートが wsl.exe --install に追加されました。
ビルド 20175 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL2 VM の既定のメモリ割り当てを、ホスト メモリの 50% または 8 GB のどちらか少ない方になるように調整します [GH 4166]。
URI 解析をサポートするために、\\wsl$ プレフィックスを \\wsl に変更します。 従来の \\wsl$ パスも引き続きサポートされます。
amd64 で、入れ子になった WSL2 の仮想化を既定で有効にします。 これは、%userprofile%\.wslconfig で無効にできます ([wsl2] nestedVirtualization=false)。
wsl.exe --update で、Microsoft Update の開始を要求します。
DrvFs で読み取り専用ファイルの名前変更をサポートします。
エラー メッセージが常に適切なコードページで出力されるようにします。
ビルド 20150 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL2 GPU コンピューティングの場合、詳しくは、Windows ブログ を参照してください。
WSL を簡単に設定できるように wsl.exe --install コマンド ライン オプションを導入します。
WSL2 カーネルへの更新を管理するための wsl.exe --update コマンド ライン オプションを導入します。
WSL2 を既定値として設定します。
WSL2 vm の正常なシャットダウン タイムアウトを増やします。
デバイス メモリをマッピングするときの virtio-9p 競合状態を修正します。
UAC が無効になっている場合は、昇格された 9p サーバーを実行しないでください。
ビルド 19640 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] virtio-9p (drvfs) の安定性が向上しました。
ビルド 19555 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] インストールおよび変換の操作によって使用されるメモリの量を制限するには、メモリ cgroup を使用します [GH 4669]
機能の検出機能を向上させるため、Linux 用 Windows サブシステムのオプションのコンポーネントが有効になっていない場合 wsl.exe を使用します
WSL のオプションのコンポーネントがインストールされていない場合、wsl.exe を変更してヘルプ テキストを出力します
インスタンス作成時の競合状態を修正します
すべてのコマンド ライン機能を含む wslclient.dll を作成します
LxssManagerUser サービスの停止中にクラッシュしないようにします
distroName パラメーターが NULL の場合に wslapi.dll ファスト フェールを修正します
ビルド 19041 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] プロセスを起動する前にシグナル マスクをクリアします
[WSL2] Linux カーネルを 4.19.84 に更新します
symlink が非相対である場合に /etc/resolv.conf symlink の作成を処理します
ビルド 19028 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] Linux カーネルを 4.19.81 に更新します
[WSL2] /dev/net/tun to 0666 の既定のアクセス許可を変更します [GH 4629]
[WSL2] Linux VM に割り当てられた既定のメモリ容量を、ホスト メモリの80% に調整します
[WSL2] タイムアウトがある要求を処理するように相互運用サーバーを修正し、不適切な呼び出し元がサーバーを切断できないようにします
ビルド 19018 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] 9p マウントの既定値として cache=mmap を使用して dotnet アプリを修正します
[WSL2] localhost リレーの修正プログラム [GH 4340]
[WSL2] ディストリビューション間で状態を共有するためにクロスディストリビューション共有の tmpfs マウントを導入
\\wsl$ の永続ネットワーク ドライブを復元する修正
ビルド 19013 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] WSL ユーティリティ VM のメモリ パフォーマンスを向上します。 使用されなくなったメモリは解放されてホストに戻されます。
[WSL2] カーネル バージョンを 4.19.79 に更新します。 (CONFIG_HIGH_RES_TIMERS、CONFIG_TASK_XACCT、CONFIG_TASK_IO_ACCOUNTING、CONFIG_SCHED_HRTICK、CONFIG_BRIDGE_VLAN_FILTERING を追加)。
[WSL2] stdin が閉じていないパイプ ハンドルであるケースに対処するために入力リレーを修正します [GH 4424]
\\wsl$ 大文字と小文字を区別しないかどうかの確認を行います。
[wsl2]
pageReporting = <bool> # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).
ビルド 19002 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 18995 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] 操作が中断された後に DrvFs マウントの動作が停止する問題を修正します (例: ctrl-c) [GH 4377]
[WSL2] hvsocket メッセージが非常に多い場合の処理を修正します [GH 4105]
[WSL2] stdin がファイルの場合の相互運用に関する問題を修正します [GH 4475]
[WSL2] 予期しないネットワークの状態が検出されたときにサービスがクラッシュする問題を修正します [GH 4474]
[WSL2] 現在のプロセスに環境変数がない場合は、相互運用サーバーからディストリビューションの名前を照会します
[WSL2] stdin がファイルの場合の相互運用に関する問題を修正します
[WSL2] Linux カーネル バージョンを 4.19.72 に更新します
[WSL2] .wslconfig を使用して追加のカーネル コマンド ライン パラメーターを指定する機能を追加します
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments
ビルド 18990 の一般的な Windows 情報については、Windows ブログ を参照してください。
\\wsl$ のディレクトリの一覧のパフォーマンスを向上します
[WSL2] 追加のブート エントロピーを挿入します [GH 4416]
[WSL2] su または sudo を使用する場合の Windows の相互運用を修正します [GH 4465]
ビルド 18980 の一般的な Windows 情報については、Windows ブログ を参照してください。
FILE_READ_DATA を拒否するシンボリック リンクの読み取りを修正します。 これには、"C:\Document and Settings" など、下位互換性のために Windows が作成するすべてのシンボリック リンクや、ユーザー プロファイル ディレクトリ内の一連のシンボリック リンクが含まれます
予期しないファイル システム状態を致命的ではないものとします [GH 4334、4305]
[WSL2] CPU/ファームウェアで仮想化がサポートされている場合に、arm64 のサポートを追加します
[WSL2] 特権のないユーザーがカーネル ログを表示することを許可します
[WSL2] stdout/stderr のソケットが閉じられているときの出力リレーを修正します [GH 4375]
[WSL2] バッテリーおよび AC アダプターのパススルーをサポートします
[WSL2] Linux カーネルを 4.19.67 に更新します
/Etc/wsl.conf に既定のユーザー名を設定する機能を追加します。
[user]
default=<string>
ビルド 18975 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] 複数の localhost の信頼性に関する問題を修正しました [GH 4340]
ビルド 18970 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] システムがスリープ状態から再開するときにホスト時刻と時刻を同期します [GH 4245]
[WSL2] 可能な場合、Windows ボリュームに NT シンボリック リンクを作成します。
[WSL2] UTS、IPC、PID、および Mount の各名前空間にディストリビューションを作成します。
[WSL2] サーバーが localhost に直接バインドするときの localhost ポート リレーを修正します [GH 4353]
[WSL2] 出力がリダイレクトされるときの相互運用を修正します [GH 4337]
[WSL2] 絶対 NT シンボリック リンクの変換をサポートします。
[WSL2] カーネルを 4.19.59 に更新します
[WSL2] eth0 のサブネット マスクを正しく設定します。
[WSL2] 終了イベントが通知されたときにコンソール ワーカー ループから抜け出すようにロジックを変更します。
[WSL2] ディストリビューションが実行されていないときに、ディストリビューション VHD を取り出します。
[WSL2] 空の値を正しく処理するように構成の解析ライブラリを修正します。
[WSL2] クロス ディストリビューション マウントを作成することにより、Docker Desktop をサポートします。 /etc/wsl.conf ファイルに次の行を追加することにより、ディストリビューションはこの動作をオプトインできます。
[automount]
crossDistro = true
ビルド 18945 の一般的な Windows 情報については、Windows ブログ を参照してください。
[WSL2] localhost:port を使用して、WSL2 のリスニング tcp ソケットにホストからアクセスできるようにします
[WSL2] インストール/変換エラーの修正と、今後の問題を追跡するための追加の診断 [GH 4105]
[WSL2] WSL2 ネットワーク問題の診断能力を向上させます
[WSL2] カーネル バージョンを 4.19.55 に更新します
[WSL2] Docker に必要な構成オプションを使用してカーネルを更新します [GH 4165]
[WSL2] ライトウェイト ユーティリティ VM に割り当てられる CPU の数を、ホストと同じになるように増やします (以前は、カーネル構成の CONFIG_NR_CPUS によって 8 個に制限されていました) [GH 4137]
[WSL2] WSL2 ライトウェイト VM 用のスワップ ファイルを作成します
[WSL2] \\wsl$\distro (たとえば、sshfs) を使用してユーザー マウントを表示できるようにします [GH 4172]
[WSL2] 9p ファイルシステムのパフォーマンスを改善します
[WSL2] VHD ACL が無制限に拡張されないようにします [GH 4126]
[WSL2] SquashFS と xt_conntrack をサポートするようにカーネル構成を更新します [GH 4107、4123]
[WSL2] /etc/wsl.conf の interop.enabled オプションの修正 [GH 4140]
[WSL2] ファイルシステムで EA がサポートされていない場合、ENOTSUP を返します
[WSL2] \\wsl$ での CopyFile のハングを修正します
既定の umask を 0022 に切り替えて、filesystem.umask 設定を /etc/wsl.conf に追加します
シンボリック リンクを正しく解決するように wslpath を修正します。これは、19h1 での不具合でした [GH 4078]
WSL2 設定を調整するために %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
ビルド 18917 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL 2 が利用可能になりました。 詳細については、ブログ を参照してください。
シンボリック リンクを使用した Windows プロセスの起動が正常に機能しなかった不具合を修正します [GH 3999]
wsl.exe --list --verbose、wsl.exe --list --quiet、および wsl.exe --import --version の各オプションを wsl.exe に追加します
wsl.exe --shutdown オプションを追加します
Plan 9:書き込みを成功させるためにディレクトリを開くことを許可します
ビルド 18890 の一般的な Windows 情報については、Windows ブログ を参照してください。
ノンブロッキング ソケット リーク [GH 2913]
ターミナルへの EOF 入力が後続の読み取りをブロックする可能性があります [GH 3421]
wsl.conf を参照するように resolv.conf ヘッダーを更新します [GH 3928 で説明]
epoll の delete コードでのデッドロック [GH 3922]
--import および – export の引数のスペースを処理します [GH 3932]
mmap を使用したファイルの拡張が正しく機能しません [GH 3939]
ARM64 の \\wsl$ アクセスが正しく機能していない問題の修正
wsl.exe 用のより適切な既定アイコンを追加します
ビルド 18342 の一般的な Windows 情報については、Windows ブログ を参照してください。
ユーザーが Windows から WSL ディストリビューションの Linux ファイルにアクセスできるようにする機能を追加しました。 これらのファイルには、コマンド ラインを使用してアクセスできます。また、ファイル エクスプローラーや VSCode などの Windows アプリもこれらのファイルと対話できます。 \\wsl$\<distro_name> に移動してファイルにアクセスするか、\\wsl$ に移動して実行中のディストリビューションの一覧を表示します。
CPU 情報タグを追加し、Cpus_allowed[_list] の値を修正します [GH 2234]
リーダー以外のスレッドからの exec をサポートします [GH 3800]
構成の更新エラーを致命的でないものとして処理します [GH 3785]
オフセットを正しく処理するように binfmt を更新します [GH 3768]
Plan 9 のネットワーク ドライブのマッピングを有効にします [GH 3854]
バインド マウントのための Windows -> Linux および Linux -> Windows のパスの変換をサポートします
読み取り専用で開かれたファイルにマッピング用の読み取り専用セクションを作成します
ビルド 18334 の一般的な Windows 情報については、Windows ブログ を参照してください。
Windows タイム ゾーンが Linux タイム ゾーンにマップされる方法を再設計します [GH 3747]
メモリ リークを修正し、新しい文字列変換関数を追加します [GH 3746]
スレッドがない threadgroup での SIGCONT は no-op です [GH 3741]
/proc/self/fd にソケットと epoll のファイル記述子を正しく表示します
ビルド 18305 の一般的な Windows 情報については、Windows ブログ を参照してください。
プライマリ スレッドが終了すると、pthread はファイルへのアクセスを失います [GH 3589]
必要な場合を除き、TIOCSCTTY では "force" パラメーターが無視されます [GH 3652]
wsl.exe コマンド ラインの機能強化と、インポート/エクスポートの機能の追加。
Usage: wsl.exe [Argument] [Options...] [CommandLine]
Arguments to run Linux binaries:
If no command line is provided, wsl.exe launches the default shell.
--exec, -e <CommandLine>
Execute the specified command without using the default Linux shell.
--
Pass the remaining command line as is.
Options:
--distribution, -d <DistributionName>
Run the specified distribution.
--user, -u <UserName>
Run as the specified user.
Arguments to manage Windows Subsystem for Linux:
--export <DistributionName> <FileName>
Exports the distribution to a tar file.
The filename can be - for standard output.
--import <DistributionName> <InstallLocation> <FileName>
Imports the specified tar file as a new distribution.
The filename can be - for standard input.
--list, -l [Options]
Lists distributions.
Options:
--all
List all distributions, including distributions that are currently
being installed or uninstalled.
--running
List only distributions that are currently running.
-setdefault, -s <DistributionName>
Sets the distribution as the default.
--terminate, -t <DistributionName>
Terminates the distribution.
--unregister <DistributionName>
Unregisters the distribution.
--upgrade <DistributionName>
Upgrades the distribution to the WslFs file system format.
--help
Display usage information.
ビルド 18277 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 18272 で発生した「そのようなインターフェイスはサポートされていません」というエラーを修正します [GH 3645]
umount システム コールの MNT_FORCE フラグを無視します [GH 3605]
公式の CreatePseudoConsole API を使用するように WSL の相互運用を切り替えます
FUTEX_WAIT の再起動時にタイムアウト値を保持しません
ビルド18272の一般的な Windows 情報については、Windows ブログ を参照してください。
警告: このビルドには、WSL を操作不能にする問題があります。 ディストリビューションを起動しようとすると、「そのようなインターフェイスはサポートされていません」というエラーが表示されます。 この問題は修正されており、次週の Insider Fast ビルドに組み込まれます。 このビルドをインストールした場合は、[設定] -> [更新とセキュリティ] -> [回復] を選択し、「前のバージョンの Windows 10 に戻す」を使用することで、前の Windows ビルドにロールバックできます。
ビルド 18267 の一般的な Windows 情報については、Windows ブログ を参照してください。
ゾンビ プロセスが回収されず、無期限に存在し続ける問題を修正します。
エラー メッセージが最大長を超えると、WslRegisterDistribution がハングします [GH 3592]
DrvFs で読み取り専用ファイルに対して fsync を正常に実行できるようにします [GH 3556]
内部にシンボリック リンクを作成する前に /bin ディレクトリと /sbin ディレクトリが存在することを確認します [GH 3584]
WSL インスタンスに対するインスタンス終了タイムアウト メカニズムを追加しました。 タイムアウトは現在 15 秒に設定されています。つまり、最後の WSL プロセスが終了してから 15 秒後にインスタンスが終了します。 ディストリビューションをすぐに終了するには、次を使用します。
wslconfig.exe /terminate <DistributionName>
ビルド 17763 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 18252 の一般的な Windows 情報については、Windows ブログ を参照してください。
init と bsdtar のバイナリを lxssmanager dll から別のツール フォルダーに移動します
CLONE_FILES を使用しているときのファイル記述子の終了に関する競合を修正します
DrvFs パスを変換するときに /proc/pid/mountinfo の省略可能なフィールドを処理します
S_IFREG のメタデータのサポートなしに DrvFs mknod を正常に実行できるようにします
DrvFs に作成される読み取り専用ファイルには readonly 属性セットが必要です [GH 3411]
DrvFs のマウントを処理する /sbin/mount.drvfs ヘルパーを追加します
DrvFs で POSIX rename を使用します。
ボリューム GUID がないボリュームでのパスの変換を許可します。
ビルド 17738 の一般的な Windows 情報については、Windows ブログ を参照してください。
Setpriority システム コールのアクセス許可チェックが厳しすぎて、同じスレッドの優先順位を変更できません [GH 1838]
clock_gettime(CLOCK_BOOTTIME) に対して負値が返されないように、バイアスのかかっていない割り込み時間が起動時間に使用されていることを確認します [GH 3434]
WSL binfmt インタープリターでシンボリック リンクを処理します [GH 3424]
threadgroup リーダー ファイル記述子のクリーンアップの処理が改善されました。
ビルド 17728 の一般的な Windows 情報については、Windows ブログ を参照してください。
オーバーフローを回避するために、KeQueryPerformanceCounter ではなく KeQueryInterruptTimePrecise を使用するように WSL を切り替えます [GH 3252]
Ptrace のアタッチにより、システム コールから無効な戻り値が返される場合があります [GH 1731]
AF_UNIX に関連した複数の問題を修正します [GH 3371]
現在の作業ディレクトリが 5 文字未満の場合に WSL の相互運用が失敗する原因となる問題を修正します [GH 3379]
ビルド 18204 の一般的な Windows 情報については、Windows ブログ を参照してください。
エッジ トリガーされた epoll イベントをパイプ ファイルシステムが誤ってクリアします [GH 3276]
NTFS シンボリック リンクによって起動された Win32 実行可能ファイルはシンボリック リンク名を考慮しません [GH 2909]
ビルド 17723 の一般的な Windows 情報については、Windows ブログ を参照してください。
存在しないポートへのループバック接続の失敗による 1 秒間の遅延を回避します [GH 3286]
/proc/sys/fs/file-max スタブ ファイルを追加します [GH 2893]
より正確な IPV6 スコープ情報。
PR_SET_PTRACER のサポート [GH 3053]
エッジ トリガーされた epoll イベントをパイプ ファイルシステムが誤ってクリアします [GH 3276]
NTFS シンボリック リンクによって起動された Win32 実行可能ファイルはシンボリック リンク名を考慮しません [GH 2909]
ビルド 17713 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 17704 の一般的な Windows 情報については、Windows ブログ を参照してください。
wsl -u または --user オプションを追加します [GH 1203]
高速スタートアップが有効になっているときの WSL の起動問題を修正します [GH 2576]
UNIX ソケットは切断されたピア資格情報を保持する必要があります [GH 3183]
ノンブロッキング UNIX ソケットが EAGAIN で無限に失敗します [GH 3191]
case=off が、drvfs マウントの新しい既定の種類です [GH 2937、3212、3328]
実行中のディストリビューションを停止するための wslconfig /terminate を追加します。
ビルド 17692 の一般的な Windows 情報については、Windows ブログ を参照してください。
スペースを含むパスを正しく処理しない WSL シェル コンテキスト メニュー エントリの問題を修正します。
ディレクトリごとの大文字と小文字の区別を拡張属性として公開します
ARM64: キャッシュのメンテナンス操作をエミュレートします。 dotnet の問題 を解決します。
DrvFs: エスケープされた文字に対応するプライベート範囲内の文字のみをエスケープ解除します。
ビルド 17686 の一般的な Windows 情報については、Windows ブログ を参照してください。
ELF パーサー インタープリターの長さの検証での Off-by-one エラーを修正します [GH 3154]
過去の時刻が設定された WSL 絶対タイマーは起動しません [GH 3091]
新しく作成された再解析ポイントが、親ディレクトリにそのように表示されるようにします。
DrvFs に大文字と小文字を区別するディレクトリをアトミックに作成します。
ビルド 17677 の一般的な Windows 情報については、Windows ブログ を参照してください。
ファイルが存在していてもマルチスレッドの操作で ENOENT が返される場合がある追加の問題を修正しました。 [GH 2712]
UMCI が有効になっているときの WSL の起動エラーを修正しました。 [GH 3020]
ビルド 17666 の一般的な Windows 情報については、Windows ブログ を参照してください。
警告:一部の AMD チップセットに WSL の実行を妨げる問題があります [GH 3134]。 修正は準備できており、間もなく Insider ビルド ブランチで公開されます。
WSL を起動するエクスプローラーのコンテキスト メニューを追加します [GH 437、603、1836]。 使用するには、エクスプローラー ウィンドウで Shift キーを押しながら右クリックします。
UNIX ソケットのノンブロッキング動作を修正します [GH 2822、3100]
GH 2026 で報告されているように、ハングしている NETLINK コマンドを修正します。
マウント伝達フラグのサポートを追加します [GH 2911]。
truncate で INotify イベントが発生しない問題を修正します [GH 2978]。
シェルを使用せずに 1 つのバイナリを呼び出す wsl.exe の --exec オプションを追加します。
特定のディストリビューションを選択する wsl.exe の --distribution オプションを追加します。
ビルド 17655 の一般的な Windows 情報については、Windows ブログ を参照してください。
dmesg の制限付きサポート。 アプリケーションは、dmesg にログを記録できるようになりました。 WSL ドライバーは、限られた情報を dmesg に記録します。 将来的には、ドライバーからのその他の情報や診断情報を伝達するように拡張できます。
注: 現在、dmesg は /dev/kmsg
デバイス インターフェイスを介してサポートされています。 syslog
システム コール インターフェイスはまだサポートされていません。 そのため、一部の dmesg
コマンド ラインのオプション (-S
、-C
など) は機能しません。
ファイルが存在している場合でもマルチスレッドの操作で ENOENT が返される場合がある問題を修正しました。 [GH 2712]
ビルド 17639 の一般的な Windows 情報については、Windows ブログ を参照してください。
ネイティブに一致するように、シリアル デバイスの既定の gid とモードを変更します [GH 3042]
DrvFs で拡張属性がサポートされるようになりました。
注: DrvFs では、拡張属性の名前にいくつかの制限があります。 特に、一部の文字 ("/"、":"、"*" など) は使用できません。また、拡張属性名は DrvFs では大文字と小文字が区別されません
ビルド 17133 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL でのハングの修正。 [GH 3039、3034]
ビルド 17128 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 17627 の一般的な Windows 情報については、Windows ブログ を参照してください。
futex の pi 対応操作のサポートを追加します。 [GH 1006]
優先順位は現在サポートされている WSL 機能ではないため、制限がありますが、標準の使用はブロック解除する必要がある点に留意してください。
WSL プロセスに対する Windows ファイアウォールのサポート。 [GH 1852]
たとえば、WSL python プロセスが任意のポートでリッスンできるようにするには、次の管理者特権の Windows コマンドを使用します: netsh.exe advfirewall firewall add rule name=wsl_python dir=in action=allow program="C:\users\<username>\appdata\local\packages\canonicalgrouplimited.ubuntuonwindows_79rhkp1fndgsc\localstate\rootfs\usr\bin\python2.7" enable=yes
ファイアウォール規則を追加する方法の詳細については、リンク を参照してください。
WSL を使用するときにユーザーの既定のシェルを考慮します。 [GH 2372]
すべてのネットワーク インターフェイスをイーサネットとして報告します。 [GH 2996]
破損した /etc/passwd ファイルの処理が改善。 [GH 3001]
テストを実行中。
ビルド 17618 の一般的な Windows 情報については、Windows ブログ を参照してください。
NT 相互運用のために pseudoconsole 機能を導入します [GH 988、1366、1433、1542、2370、2406]。
レガシ インストール メカニズム (lxrun.exe) は非推奨となりました。 ディストリビューションをインストールするためのサポートされているメカニズムは、Microsoft Store 経由です。
テストを実行中。
ビルド 17110 の一般的な Windows 情報については、Windows ブログ を参照してください。
/init を Windows から終了することを許可します [GH 2928]。
DrvFs では、ディレクトリごとの大文字小文字の区別が既定で使用されるようになりました ("case = dir" マウント オプションと同等)。
"case=force" (以前の動作) を使用するには、レジストリ キーを設定する必要があります。 "case=force" を使用する必要がある場合は、次のコマンドを実行して有効にします: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
以前のバージョンの Windows に含まれている WSL で作成された既存のディレクトリがあり、大文字と小文字を区別する必要がある場合は、次の fsutil.exe を使用して大文字と小文字を区別するように指定します: fsutil.exe file setcasesensitiveinfo <path>
enable
uname システム コールから NULL の終了文字列が返されます。
テストを実行中。
ビルド 17107 の一般的な Windows 情報については、Windows ブログ を参照してください。
マスター pty エンドポイントで TCSETSF と TCSETSW をサポートします [GH 2552]。
相互運用プロセスを同時に開始すると、EINVAL が発生します [GH 2813]。
/proc/pid/status に適切なトレース状態を表示するように PTRACE_ATTACH を修正します。
CLEARTID フラグと SETTID フラグの両方を指定して複製された、有効期間の短いプロセスが、TID アドレスをクリアせずに終了する場合がある競合を修正します。
17093 より前のビルドから移行するときに、Linux ファイルシステムのディレクトリをアップグレードする際にメッセージを表示します。 17093 のファイルシステムの変更について詳しくは、17093 のリリース ノートを参照してください。
テストを実行中。
ビルド 17101 の一般的な Windows 情報については、Windows ブログ を参照してください。
signalfd のサポート。 [GH 129]
無効な NTFS 文字を含むファイル名を、プライベート Unicode 文字としてエンコードすることによってサポートします。 [GH 1514]
書き込みがサポートされていない場合、自動マウントは読み取り専用にフォールバックします。 [GH 2603]
Unicode サロゲート ペア (絵文字など) の貼り付けを許可します。 [GH 2765]
/proc および /sys 内の疑似ファイルは、select、poll、epoll などから、読み書き可能を返します。[GH 2838]
レジストリが改ざんされているか破損している場合にサービスが無限ループに入る原因となる問題を修正します。
iproute2 の新しい (アップストリーム 4.14) バージョンで機能するように netlink メッセージを修正します。
テストを実行中。
ビルド 17093 の一般的な Windows 情報については、Windows ブログ を参照してください。
このビルドにアップグレードした後に初めて WSL を開始するときに、Linux ファイルシステムのディレクトリをアップグレードする作業を実行する必要があります。 この処理には数分かかる場合があるため、WSL の開始に時間がかかっているように見えることがあります。 これは、ストアからインストールされた各ディストリビューションにつき 1 回のみ発生します。
DrvFs での大文字と小文字の区別のサポートを改善しました。
DrvFs では、ディレクトリごとの大文字小文字の区別がサポートされるようになりました。 これは、ディレクトリに設定できる新しいフラグで、これらのディレクトリ内のすべての操作を大文字と小文字を区別して扱う必要があることを示します。これにより、Windows アプリケーションでも、大文字と小文字のみが異なるファイルを正しく開くことが可能になります。
DrvFs には、ディレクトリごとに大文字と小文字の区別を制御する新しいマウント オプションがあります
case=force: すべてのディレクトリは、大文字小文字を区別して処理されます (ドライブのルートを除く)。 WSL で作成された新しいディレクトリは、大文字と小文字が区別されます。 これは、新しいディレクトリに大文字小文字を区別するようにマークを付けることを除き、従来の動作です。
case=dir: ディレクトリごとの大文字小文字の区別フラグを持つディレクトリのみが、大文字と小文字を区別して扱われます。他のディレクトリでは、大文字と小文字は区別されません。 WSL で作成された新しいディレクトリは、大文字と小文字が区別されます。
case=off: ディレクトリごとの大文字小文字の区別フラグを持つディレクトリのみが、大文字と小文字を区別して扱われます。他のディレクトリでは、大文字と小文字は区別されません。 WSL で作成された新しいディレクトリは、大文字と小文字を区別しないようにマークが付けられます。
注: 以前のリリースの WSL によって作成されたディレクトリにはこのフラグが設定されていないため、"case=dir" オプションを使用しても、大文字と小文字を区別して処理されません。 既存のディレクトリにこのフラグを設定する方法は、近日公開予定です。
これらのオプションを使用したマウントの例 (既存のドライブの場合、別のオプションを使用してマウントする前にマウントを解除する必要があります): sudo mount -t drvfs C: /mnt/c -o case=dir
現時点では、case=force がまだ既定のオプションです。 これは将来、case=dir に変更されます。
DrvFs をマウントするときに Windows パスでスラッシュを使用できるようになりました。例: sudo mount -t drvfs //server/share /mnt/share
WSL は、インスタンスの開始時に /etc/fstab ファイルを処理するようになりました [GH 2636]。
これは、DrvFs ドライブを自動的にマウントする前に行われます。fstab によって既にマウントされているドライブは自動的には再マウントされないため、特定のドライブのマウント ポイントを変更することができます。
この動作は、wsl.conf を使用して無効にすることができます。
/proc 内の mount、mountinfo、および mountstats の各ファイルは、円記号やスペースなどの特殊文字を正しくエスケープ処理します [GH 2799]
WSL シンボリック リンクなどの DrvFs で作成された特殊ファイル、またはメタデータが有効になっている場合の FIFO やソケットを、Windows からコピーおよび移動できるようになりました。
WSL は、wsl.conf を使用してさらに構成可能です
サブシステムを起動するたびに適用される WSL の特定の機能を自動的に構成するための方法を追加しました。 これには自動マウント オプションとネットワーク構成が含まれます。 詳細については、次のブログ投稿を参照してください: https://aka.ms/wslconf
AF_UNIX により、WSL 上の Linux プロセスと Windows ネイティブ プロセス間のソケット接続が可能になります
WSL と Windows のアプリケーションは、UNIX ソケット経由で相互に通信できるようになりました。 Windows でサービスを実行し、それを Windows と WSL の両方のアプリで使用できるようにする場合を考えてみましょう。 これは、UNIX ソケットを使用することで可能になりました。 詳細については、次のブログ投稿をお読みください: https://aka.ms/afunixinterop
MAP_NORESERVE で mmap() をサポートします [GH 121、2784]
CLONE_PTRACE と CLONE_UNTRACED をサポートします [GH 121、2781]
複製で SIGCHLD 以外の終了シグナルを処理します [GH 121、2781]
/proc/sys/fs/inotify/max_user_instances および /proc/sys/fs/inotify/max_user_watches をスタブします [GH 1705]
ゼロ以外のオフセットの読み込みヘッダーを含む ELF バイナリの読み込みエラー [GH 1884]
イメージを読み込むときにページの末尾バイトをゼロ設定します。
execve が警告なしにプロセスを終了するケースを削減します
テストを実行中。
ビルド 17083 の一般的な Windows 情報については、Windows ブログ を参照してください。
epoll に関連したバグチェックを修正しました [GH 2798、2801、2857]
ASLR をオフにする際のハングを修正しました [GH 1185, 2870]
mmap 操作がアトミックに見えるようにします [GH 2732]
テストを実行中。
ビルド 17074 の一般的な Windows 情報については、Windows ブログ を参照してください。
DrvFs メタデータのストレージ形式を修正しました [GH 2777] 重要: このビルドより前に作成された DrvFs メタデータは、正しく表示されないか、まったく表示されません。 影響を受けるファイルを修正するには、chmod と chown を使用してメタデータを再適用します。
複数のシグナルと再開可能なシステム コールの問題を修正しました。
テストを実行中。
ビルド 17063 の一般的な Windows 情報については、Windows ブログ を参照してください。
DrvFs で追加の Linux メタデータがサポートされます。 これにより、chmod/chown を使用してファイルの所有者とモードを設定できるほか、FIFO、UNIX ソケット、デバイス ファイルなどの特殊ファイルを作成することも可能になります。 現時点では、これはまだ試験段階のため、既定では無効になっています。
注: DrvFs で使用されるメタデータ形式のバグを修正しました。 メタデータは実験のためにこのビルドでは機能しますが、今後のビルドでは、このビルドで作成されたメタデータは正しく読み取られません。 変更したファイルの所有者を手動で更新する必要がある場合があり、カスタム デバイス ID を持つデバイスは再作成しなければなりません。
有効にするには、メタデータ オプションを使用して DrvFs をマウントします (既存のマウントで有効にするには、最初にマウントを解除する必要があります)。
mount -t drvfs C: /mnt/c -o metadata
Linux のアクセス許可は、追加のメタデータとしてファイルに追加されます。Windows のアクセス許可には影響はありません。 Windows エディターを使用してファイルを編集すると、メタデータが削除されることがありますので注意してください。 この場合、そのファイルは既定のアクセス許可に戻ります。
メタデータなしでファイルを制御するためのマウント オプションを DrvFs に追加しました。
uid: 全ファイルの所有者に使用されるユーザー ID。
gid: 全ファイルの所有者に使用されるグループ ID。
umask: 全ファイルとディレクトリに対して除外するアクセス許可の 8 進数のマスク。
fmask: すべての標準ファイルに対して除外するアクセス許可の 8 進数のマスク。
dmask: 全ディレクトリに対して除外するアクセス許可の 8 進数のマスク。
たとえば、次のように入力します。
mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
メタデータ オプションと組み合わせて、メタデータのないファイルに対する既定のアクセス許可を指定します。
WSL と Win32 の間で環境変数がどのように流れるかを構成するために、新しい環境変数 WSLENV
を導入しました。
たとえば、次のように入力します。
WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
WSLENV
は、Win32 から WSL プロセスを起動するとき、または WSL から Win32 プロセスを起動するときに含めることができる環境変数のコロン区切りリストです。 各変数の末尾にはスラッシュを付け、その後に、変換方法を指定するフラグを指定できます。
p:この値は、WSL パスと Win32 パスの間で変換されるパスです。
l:この値は、パスのリストです。 WSL では、コロンで区切られたリストです。 Win32 では、セミコロンで区切られたリストです。
u:この値は、Win32 から WSL を呼び出すときにのみ含める必要があります
w:この値は、WSL から Win32 を呼び出すときにのみ含める必要があります
.bashrc またはユーザーのカスタム Windows 環境で WSLENV
を設定できます。
drvfs マウントは、tar、cp -p からのタイムスタンプを正しく保持します (GH 1939)
drvfs シンボリック リンクは正しいサイズを報告します (GH 2641)
非常に大きい IO サイズに対して読み取り/書き込みが機能します (GH 2653)
waitpid はプロセス グループ ID で機能します (GH 2534)
大きな予約領域での mmap のパフォーマンスが大幅に改善しました。ghc のパフォーマンスが改善します (GH 1671)
READ_IMPLIES_EXEC のパーソナリティ サポート。maxima および clisp を修正します (GH 1185)
mprotect で PROT_GROWSDOWN がサポートされます。clisp を修正します (GH 1128)
オーバーコミット モードでのページ フォールトの修正。sbcl の修正 (GH 1128)
clone でより多くのフラグの組み合わせがサポートされます
epoll ファイルの select/epoll をサポートします (以前は操作なし)。
未実装のシステム コールの ptrace を通知します。
resolv.conf ネームサーバーを生成しているときに実行されていないインターフェイスを無視します [GH 2694]
物理アドレスのないネットワーク インターフェイスを列挙します。 [GH 2685]
その他のバグ修正と機能強化。
Windows コマンド ライン ツールチェーンに、bsdtar (tar) と curl が含まれます。
これらの 2 つの新しいツールの追加に関する詳細と、それを使った Windows での開発者エクスペリエンスの形成については、こちらのブログ を参照してください。
AF_UNIX
は、Windows Insider SDK (17061+) で利用可能です。
AF_UNIX
の詳細と、Windows 上で開発者がそれをどのように使用できるかについては、こちらのブログ をお読みください。
テストを実行中。
ビルド 17046 の一般的な Windows 情報については、Windows ブログ を参照してください。
テストを実行中。
ビルド 17040 の一般的な Windows 情報については、Windows ブログ を参照してください。
テストを実行中。
ビルド 17035 の一般的な Windows 情報については、Windows ブログ を参照してください。
DrvFs 上のファイルにアクセスすると、時々 EINVAL で失敗することがあります。 [GH 2448]
VT モードで行を挿入または削除するときに一部の色が失われます。
テストを実行中。
ビルド 17025 の一般的な Windows 情報については、Windows ブログ を参照してください。
新しいフォアグラウンド プロセス グループで初期プロセスを開始します [GH 1653、2510]。
SIGHUP 配信の修正 [GH 2496]。
指定されていない場合、既定の仮想ブリッジ名を生成します [GH 2497]。
/proc/sys/kernel/random/boot_id を実装します [GH 2518]。
追加の相互運用 stdout/stderr パイプの修正。
syncfs システム コールをスタブします。
サード パーティ コンソールの入力 VT 変換を修正します [GH 111]
テストを実行中。
ビルド 17017 の一般的な Windows 情報については、Windows ブログ を参照してください。
空の ELF プログラム ヘッダーを無視します [GH 330]。
LxssManager が非対話型ユーザーに対して WSL インスタンスを作成することを許可します (ssh およびスケジュールされたタスクのサポート) [GH 777、1602]。
WSL->Win32->WSL ("開始") シナリオをサポートします [GH 1228]。
相互運用によって起動されたコンソール アプリの終了に対する制限付きサポート [GH 1614]。
devpts のマウント オプションをサポートします [GH 1948]。
Ptrace が子のスタートアップをブロックします [GH 2333].
EPOLLET で一部のイベントが欠落します [GH 2462].
PTRACE_GETSIGINFO でより多くのデータが返されます。
lseek を指定した Getdents により、誤った結果が生成されます。
これ以上データがないパイプで入力を待機することによる、いくつかの Win32 相互運用アプリのハングを修正します。
tty/pty ファイルに対する O_ASYNC サポート。
その他の機能強化とバグ修正
このリリースでは、コンソールに関連する変更はありません。
テストを実行中。
ビルド 16288 の一般的な Windows 情報については、Windows ブログ を参照してください。
ソケット ファイル記述子の uid、gid、およびモードを正しく初期化して報告します [GH 2490]
その他の機能強化とバグ修正
このリリースでは、コンソールに関連する変更はありません。
16273 以降変更はありません
ビルド 162738 の一般的な Windows 情報については、Windows ブログ を参照してください。
LX MM 状態を解除するときに、ファイルによってサポートされているセクションのマップされたビューを明示的にマップ解除します [GH 2415]
その他の機能強化とバグ修正
このリリースでは、コンソールに関連する変更はありません。
16273 以降変更はありません
ビルド 162735 の一般的な Windows 情報については、Windows ブログ を参照してください。
このリリースでは、WSL に関連する変更はありません。
このリリースでは、コンソールに関連する変更はありません。
16273 以降変更はありません
ビルド 16273 の一般的な Windows 情報については、Windows ブログ を参照してください。
DrvFs がディレクトリに対して間違ったファイルの種類を報告することがあった問題を修正しました [GH 2392]
uevent を使用するプログラムのブロックを解除するために NETLINK_KOBJECT_UEVENT ソケットの作成を許可します [GH 1121、2293、2242、2295、2235、648、637]
ノンブロッキング接続のサポートを追加します [GH 903、1391、1584、1585、1829、2290、2314]
CLONE_FS clone システム コール フラグを実装します [GH 2242]
NT 相互運用でタブや引用符が正しく処理されないことに関する問題を修正します [GH 1625、2164]
WSL インスタンスを再起動しようとしたときにアクセスが拒否されるエラーを解決します [GH 651、2095]
futex の FUTEX_REQUEUE 操作と FUTEX_CMP_REQUEUE 操作を実装します [GH 2242]
さまざまな SysFs ファイルのアクセス許可を修正します [GH 2214]
セットアップ中の Haskell スタックのハングを修正します [GH 2290]
binfmt_misc の 'C'、'O'、および 'P' のフラグを実装します [GH 2103]
/proc/sys/kernel /shmmax /shmmni & /threads-max を追加します [GH 1753]
ioprio_set システム コールの部分的サポートを追加します [GH 498]
SO_REUSEPORT をスタブし、netlink ソケットに対する SO_PASSCRED のサポートを追加します [GH 69]
ディストリビューションが現在インストールまたはアンインストールされている場合は、RegisterDistribution から異なるエラー コードを返します。
wslconfig.exe によって部分的にインストールされた WSL ディストリビューションの登録解除を許可します
udp::msg_peek からの python ソケット テストのハングを修正します
その他の機能強化とバグ修正
このリリースでは、コンソールに関連する変更はありません。
テストの合計:1904
スキップされたテストの合計:209
失敗の合計:229
ビルド 16257 の一般的な Windows 情報については、Windows ブログ を参照してください。
prlimit64 システム コールを実装します
ulimit -n (setrlimit RLIMIT_NOFILE) に対するサポートを追加します [GH 1688]
TCP ソケットに対して MSG_MORE をスタブします [GH 2351]
無効な AT_EXECFN 補助ベクトルの動作を修正します [GH 2133]
console/tty のコピー/貼り付けの動作を修正し、改善された完全バッファー処理を追加します [GH 2204、2131]
set-user-ID プログラムと set-group-ID プログラムの補助ベクトルに AT_SECURE を設定します [GH 2031]
疑似ターミナル マスター エンドポイントが TIOCPGRP を処理しません [GH 1063]
LxFs でのディレクトリの巻き戻しについて lseek を修正します [GH 2310]
高い使用率の後に /dev/ptmx がロックします [GH 1882]
その他の機能強化とバグ修正
16251 以降変更はありません
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
prlimit64
ビルド 16257 で、WSL には、/mnt/c/...
を介して Windows ファイル/フォルダーを列挙するときに問題があります。
この問題は修正済みであり、2017 年 8 月 14 日から始まる週の間に Insiders ビルドでリリースされます。
ビルド 16251 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL のオプション コンポーネントからベータ タグを削除します。詳細については、ブログ投稿 を参照してください。
exec で set-user-ID と set-group-ID のバイナリに対して保存されている set uid と gid を正しく初期化します [GH 962、1415、2072]
ptrace PTRACE_O_TRACEEXIT に対するサポートを追加しました [GH 555]
ptrace PTRACE_GETFPREGS と PTRACE_GETREGSET (NT_FPREGSET を使用) に対するサポートを追加しました [GH 555]
無視されたシグナルでの停止について ptrace を修正しました
その他の機能強化とバグ修正
このリリースでは、コンソールに関連する変更はありません。
合格したテストの数: 768 不合格のテストの数: 244 スキップされたテストの数: 96
ビルド 16241 の一般的な Windows 情報については、Windows ブログ を参照してください。
このリリースでは、WSL に関連する変更はありません。
こちら で最初に報告された、交差行の DEC に対して誤った文字が出力されることの修正
コード ページ 65001 (utf8) に出力テキストが表示されないことの修正
ある色の RGB 値に対して行われた変更を、選択の変更時にパレットの他の部分に転送しないでください。 これにより、コンソール プロパティ シートがずっと使いやすくなります。
Ctrl+S が正しく機能していないように見えます
Un-Bold/-Dim が ANSI エスケープ コードにまったく存在しません [GH 2174]
コンソールで Vim の色のテーマが正しくサポートされていません [GH 1706]
特定の文字を貼り付けられません [GH 2149]
編集/コマンド ライン上に存在するときに、bash ウィンドウのサイズ変更で、サイズ変更のリフローの操作が正しく行われません [GH ConEmu 1123]
Ctrl-L を押しても画面はダーティな状態のままです [GH 1978]
HDPI に VT を表示する際のコンソール レンダリングのバグ [GH 1907]
Unicode 文字 U+30FB で日本語の文字が正しく表示されません [GH 2146]
その他の機能強化とバグ修正
ビルド 16237 の一般的な Windows 情報については、Windows ブログ を参照してください。
LxFs で EA がないファイルには既定の属性を使用します (root、root、0000)
拡張属性を使用するディストリビューションのサポートを追加しました
getdents と getdents64 によって返されるエントリのパディングを修正します
shmctl SHM_STAT システム コールのアクセス許可チェックを修正します [GH 2068]
tty の正しくない初期 epoll 状態を修正しました [GH 2231]
DrvFs readdir ですべてのエントリが返されない問題を修正します [GH 2077]
ファイルのリンクが解除されているときの LxFs readdir を修正します [GH 2077]
リンクが解除されている drvfs ファイルを procfs を介して再オープンできるようにします
WSL の機能を無効にするためのグローバル レジストリ キー オーバーライドを追加しました (相互運用/ドライブのマウント)
DrvFs (および LxFs) の "stat" での間違ったブロック カウントを修正します [GH 1894]
その他の機能強化とバグ修正
ビルド 16232 の一般的な Windows 情報については、Windows ブログ を参照してください。
このリリースでは、WSL に関連する変更はありません。
ビルド 16226 の一般的な Windows 情報については、Windows ブログ を参照してください。
xattr に関連したシステム コールのサポート (getxattr、setxattr、listxattr、removexattr)。
security.capablity xattr のサポート。
特定のファイルシステムとフィルター (MS 以外の SMB サーバーを含む) との互換性を改善しました。 [GH #1952]
OneDrive プレースホルダー、GVFS プレースホルダー、および Compact OS 圧縮ファイルのサポートを強化しました。
その他の機能強化とバグ修正
ビルド 16215 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL で開発者モードが不要になりました。
drvfs でディレクトリ ジャンクションをサポートします。
WSL ディストリビューション appx パッケージのアンインストールを処理します。
プライベート マッピングと共有マッピングを表示するように procfs を更新します。
部分的にインストールまたはアンインストールされたディストリビューションをクリーンアップする wslconfig.exe の機能を追加します。
TCP ソケットに対する IP_MTU_DISCOVER のサポートを追加しました。 [GH 1639、2115、2205]
AF_INADDR へのルート用のプロトコル ファミリを推測します。
シリアル デバイスの機能強化 [GH 1929]。
ビルド 16199 の一般的な Windows 情報については、Windows ブログ を参照してください。
これらのリリースでは、WSL に関連する変更はありません。
ビルド 16193 の一般的な Windows 情報については、Windows ブログ を参照してください。
SIGCONT の送信と threadgroup の終了との間の競合状態 [GH 1973]
FILE_DEVICE_CONSOLE ではなく FILE_DEVICE_NAMED_PIPE を報告するように tty デバイスと pty デバイスを変更します [GH 1840]
IP_OPTIONS の SSH 修正
DrvFs のマウントを init デーモンに移動しました [GH 1862、1968、1767、1933]
後続の NT シンボリック リンクに対するサポートを DrvFs に追加しました。
ビルド 16184 の一般的な Windows 情報については、Windows ブログ を参照してください。
apt パッケージのメンテナンス タスク (lxrun.exe/update) を削除しました
Node.js の Windows プロセスから出力が表示されない問題を修正しました [GH 1840]
lxcore での配置要件を緩和します [GH 1794]
複数のシステム コールで AT_EMPTY_PATH フラグの処理を修正しました。
開いているハンドルがある DrvFs ファイルを削除するとファイルで未定義の動作が示される問題を修正しました [GH 544、966、1357、1535、1615]
/etc/hosts は、Windows hosts ファイルからエントリを継承するようになりました (%windir%\system32\drivers\etc\hosts) [GH 1495]
ビルド 16179 の一般的な Windows 情報については、Windows ブログ を参照してください。
ビルド 16176 の一般的な Windows 情報については、Windows ブログ を参照してください。
シリアル サポートを有効にしました
IP ソケット オプション IP_OPTIONS を追加しました [GH 1116]
(nginx/PHP-FPM にファイルをアップロード中に) pwritev 関数を実装しました [GH 1506]
IP ソケット オプション IP_MULTICAST_IF および IPV6_MULTICAST_IF を追加しました [GH 990]
ソケット オプション IP_MULTICAST_LOOP および IPV6_MULTICAST_LOOP に対するサポート [GH 1678]
apps node、traceroute、dig、nslookup、host に対する IP(V6)_MTU ソケット オプションを追加しました
IP ソケット オプション IPV6_UNICAST_HOPS を追加しました
ファイルシステムの機能強化
UNC パスのマウントを許可します
drvfs で CDFS のサポートを有効にします
drvfs でネットワーク ファイル システムのアクセス許可を正しく処理します
drvfs へのリモート ドライブのサポートを追加します
drvfs で FAT のサポートを有効にします
その他の修正と機能強化
15042 以降変更はありません
ビルド 16170 の一般的な Windows 情報については、Windows ブログ を参照してください。
WSL のテストに関する取り組みを説明する新しいブログ投稿 をリリースしました。
ソケット オプション IP_ADD_MEMBERSHIP および IPV6_ADD_MEMBERSHIP をサポートします [GH 1678]
PTRACE_OLDSETOPTIONS のサポートを追加します。 [GH 1692]
その他の修正と機能強化
15042 以降変更はありません
ビルド 15046 から Windows 10 Creators Update まで
Windows 10 の Creators Update への組み込みが予定されている WSL の修正または機能はこれ以上ありません。 WSL のリリース ノートは、次回の主要な Windows Update をターゲットとする追加に向けて、今後数週間のうちに再開されます。 ビルド 15046 の一般的な Windows 情報および今後の Insider リリースについては、Windows ブログ を参照してください。
ビルド 15042 の一般的な Windows 情報については、Windows ブログ を参照してください。
".." で終わるパスを削除する際のデッドロックの修正
FIONBIO が成功時に 0 を返さないという問題を修正しました [GH 1683]
inet データグラム ソケットの長さゼロの読み取りの問題を修正しました
drvfs inode 参照での競合状態が原因で発生する可能性があるデッドロックを修正します [GH 1675]
UNIX ソケット補助データに対する拡張サポート、SCM_CREDENTIALS および SCM_RIGHTS [GH 514、613、1326]
その他の修正と機能強化
合格したテストの数: 737 不合格の数 (失敗した、スキップしたなど): 255
ビルド 15031 の一般的な Windows 情報については、Windows ブログ を参照してください。
time(2) が散発的に不適切な動作をするバグを修正しました。
*SIGPROCMASK システム コールによってシグナル マスクが破損する問題を修正しました。
WSL プロセス作成通知で完全な長さのコマンド ラインが返されるようになりました。 [GH 1632]
WSL は、GDB のハングについて ptrace を介してスレッドの終了を報告するようになりました。 [GH 1196]
tmux の IO が大量に行われた後に ptys がハングするバグを修正しました。 [GH 1358]
複数のシステム コール (futex、semtimedop、ppoll、sigtimedwait、itimer、timer_create) でタイムアウトの検証を修正しました
eventfd EFD_SEMAPHORE のサポートを追加しました [GH 452]
その他の修正と機能強化
合格したテストの数: 737 不合格の数 (失敗した、スキップしたなど): 255
ビルド 15025 の一般的な Windows 情報については、Windows ブログ を参照してください。
grep 2.27 を破損したバグの修正 [GH 1578]
eventfd2 システム コールに対して EFD_SEMAPHORE フラグを実装しました [GH 452]
/proc/[pid]/net/ipv6_route を実装しました [GH 1608]
Unix ストリーム ソケットに対するシグナル駆動型 IO のサポート [GH 393、68]
F_GETPIPE_SZ および F_SETPIPE_SZ をサポートします [GH 1012]
recvmmsg() システム コールを実装します [GH 1531]
epoll_wait() が待機していなかったというバグを修正しました [GH 1609]
/proc/version_signature を実装
Tee システム コールは、両方のファイル記述子が同じパイプを参照している場合にエラーを返すようになりました
UNIX ソケットに対する SO_PEERCRED の正しい動作を実装しました
tkill システム コールの無効なパラメーター処理を修正しました
drvfs のパフォーマンスを向上させる変更
Ruby の IO ブロックに対する軽微な修正
inet ソケットの MSG_DONTWAIT フラグに対して recvmsg() が EINVAL を返すという問題を修正しました [GH 1296]
その他の修正と機能強化
合格したテストの数: 732 不合格の数 (失敗した、スキップしたなど): 255
ビルド 15019 の一般的な Windows 情報については、Windows ブログ を参照してください。
htop などのツールに対して procfs で CPU 使用量が誤って報告されるバグを修正しました (GH 823、945、971)
既存のファイルに対して O_TRUNC を使用して open () を呼び出すと、inotify は IN_OPEN の前に IN_MODIFY を生成するようになりました
Postgress を有効にするための UNIX ソケット getsockopt SO_ERROR に対する修正 [GH 61、1354]
GO 言語に対して /proc/sys/net/core/somaxconn を実装します
Apt-get パッケージ更新のバックグラウンド タスクは、非表示で実行されるようになりました
ipv6 localhost のスコープをクリアします (Spring-Framework(Java) エラー)。
その他の修正と機能強化
合格したテストの数: 714 不合格の数 (失敗した、スキップしたなど): 249
ビルド 15014 の一般的な Windows 情報については、Windows ブログ を参照してください。
Ctrl+C は意図したとおりに動作するようになりました
htop と ps auxw は正しいリソース使用量を表示するようになりました (GH #516)
NT 例外からシグナルへの基本的な変換。 (GH #513)
fallocate は、領域が不足しているときに、EINVAL ではなく ENOSPC で失敗するようになりました (GH #1571)
/proc/sys/kernel/sem を追加します。
semop システム コールと semtimedop システム コールを実装しました
IP_RECVTOS および IPV6_RECVTCLASS ソケット オプションでの nslookup エラーを修正しました (GH 69)
ソケット オプション IP_RECVTTL および IPV6_RECVHOPLIMIT に対するサポート
その他の修正と機能強化
合格したテストの数: 709 不合格の数 (失敗した、スキップしたなど): 255
システム コールの合計: 384 実装の合計: 235 スタブの合計: 22 未実装の合計: 127
ビルド 15007 の一般的な Windows 情報については、Windows ブログ を参照してください。
実行中の WSL が CPU コアの 100% を消費するという問題を修正しました
ソケット オプション IP_PKTINFO、IPV6_RECVPKTINFO がサポートされるようになりました。 (GH #851、987)
lxcore でネットワーク インターフェイスの物理アドレスが 16 バイトに切り捨てられます (GH #1452、1414、1343、468、308)
その他の修正と機能強化
合格したテストの数: 709 不合格の数 (失敗した、スキップしたなど): 255
ビルド 15002 の一般的な Windows 情報については、Windows ブログ を参照してください。
2 つの既知の問題:
すべての bash セッションは、同じアクセス許可レベルで作成することが必要になりました。 別のレベルでセッションを開始しようとすると、ブロックされます。 つまり、管理コンソールと非管理コンソールを同時に実行することはできません。 (GH #626)
次の NETLINK_ROUTE メッセージを実装しました (Windows 管理者が必要)
RTM_NEWADDR (ip addr add
をサポート)
RTM_NEWROUTE (ip route add
をサポート)
RTM_DELADDR (ip addr del
をサポート)
RTM_DELROUTE (ip route del
をサポート)
更新するパッケージについてのスケジュールされたタスク チェックは、従量課金接続では実行されなくなります (GH #1371)
次のようにパイプがスタックするエラーを修正しました。bash -c "ls -alR /" | bash -c "cat" (GH #1214)
TCP_KEEPCNT ソケット オプションを実装しました (GH #843)
IP_MTU_DISCOVER INET ソケット オプションを実装しました (GH #720、717、170、69)
NT パス参照を使用して init から NT バイナリを実行する従来の機能を削除しました。 (GH #1325)
グループ/その他の読み取りアクセスを許可するように /dev/kmsg のモードを修正します (0644) (GH #1321)
/proc/sys/kernel/random/uuid を実装しました (GH #1092)
プロセスの開始時刻が 2432 年と表示されていたエラーを修正しました (GH #974)
既定の TERM 環境変数を xterm-256color に切り替えました (GH #1446)
プロセスのフォーク中のプロセス コミットの計算方法を変更しました。 (GH #1286)
/proc/sys/vm/overcommit_memory を実装しました。 (GH #1286)
/proc/net/route ファイルを実装しました (GH #69)
ショートカット名が誤ってローカライズされるエラーを修正しました (GH #696)
プログラム ヘッダーが PATH_MAX 以下でなければならないことを誤って検証をしている elf 解析ロジックを修正しました。 (GH #1048)
procfs、sysfs、cgroupfs、および binfmtfs に対する statfs コールバックを実装しました (GH #1378)
閉じない AptPackageIndexUpdate ウィンドウを修正しました (GH #1184、さらに GH #1193 でも説明)
ASLR パーソナリティ ADDR_NO_RANDOMIZE のサポートを追加しました。 (GH #1148、1128)
AV 中の適切な gdb スタック トレースのために PTRACE_GETSIGINFO、SIGSEGV を改善しました (GH #875)
patchelf バイナリに対する Elf の解析は失敗しなくなりました。 (GH #471)
/etc/resolv.conf に伝搬される VPN DNS (GH #416、1350)
より信頼性の高いデータ転送のための TCP クローズに対する機能強化。 (GH #610、616、1025、1335)
開いているファイルの数が多すぎるときに適切なエラー コードが返されるようになりました (EMFILE)。 (GH #1126、2090)
Windows の監査ログは、プロセス作成の監査でイメージ名を報告するようになりました。
bash ウィンドウ内から bash.exe を起動すると、正常に失敗するようになりました
相互運用が LxFs の作業ディレクトリにアクセスできないときのエラー メッセージを追加しました (例: notepad.exe .bashrc)
Windows のパスが WSL で切り捨てられていた問題を修正しました
その他の修正と機能強化
合格したテストの数: 690 不合格の数 (失敗した、スキップしたなど): 274
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
shmctl
shmget
shmdt
shmat
ビルド 14986 の一般的な Windows 情報については、Windows ブログ を参照してください。
Netlink および Pty の IOCTL でのバグチェックを修正しました
カーネルのバージョンは、Xenial との一貫性のために 4.4.0-43 を報告するようになりました
入力が 'nul:' に向けられたときに Bash.exe が起動するようになりました (GH #1259)
スレッド ID が procfs で正しく報告されるようになりました (GH #967)
IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR のフラグが inotify_add_watch() でサポートされるようになりました (GH #1280)
timer_create システム コールおよび関連するシステム コールを実装します。 これにより GHC サポートが有効になります (GH #307)
Ping で 0.000 ミリ秒の時間が返される問題を修正しました (GH #1296)
開いているファイルの数が多すぎるときに適切なエラー コードを返します。
インターフェイスのハードウェア アドレスが 32 バイトの場合 (Teredo インターフェイスなど) に、Netlink のネットワーク インターフェイス データの要求が EINVAL で失敗する WSL の問題を修正しました
Linux の "ip" ユーティリティには、WSL が 32 バイトのハードウェア アドレスを報告した場合にクラッシュするバグが含まれていることに留意してください。 これは、WSL ではなく、"ip" のバグです。 "ip" ユーティリティは、ハードウェア アドレスの出力に使用される文字列バッファーの長さをハードコーディングしますが、そのバッファーは 32 バイトのハードウェア アドレスを出力するには小さすぎます。
その他の修正と機能強化
合格したテストの数: 669 不合格の数 (失敗した、スキップしたなど): 258
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
timer_create
timer_delete
timer_gettime
timer_settime
ビルド 14971 の一般的な Windows 情報については、Windows ブログ を参照してください。
Microsoft の制御を超える状況により、Windows Subsystem for Linux のこのビルドには更新はありません。 定期的にスケジュールされた更新は、次のリリースから再開されます。
14965 から変更されていません 合格したテストの数: 664 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14965 の一般的な Windows 情報については、Windows ブログ を参照してください。
Netlink ソケット NETLINK_ROUTE プロトコルの RTM_GETLINK と RTM_GETADDR に対するサポート (GH #468)
ネットワークの列挙に対して ifconfig コマンドと ip コマンドを有効にします
/sbin は、既定でユーザーのパスに含まれるようになりました
NT ユーザー パスが既定で WSL パスに追加されるようになりました (つまり、Linux パスに System32 を追加せずに notepad.exe を入力できるようになりました)
/proc/sys/kernel/cap_last_cap のサポートを追加しました
現在の作業ディレクトリに ANSI 以外の文字が含まれている場合、WSL から NT バイナリを起動できるようになりました (GH #1254)
切断された UNIX ストリーム ソケットでのシャットダウンを許可します。
PR_GET_PDEATHSIG のサポートを追加しました。
CLONE_PARENT のサポートを追加しました
次のようにパイプがスタックするエラーを修正しました。bash -c "ls -alR /" | bash -c "cat" (GH #1214)
現在のターミナルに接続する要求を処理します。
/proc/<pid>/oom_score_adj
が書き込み可能としてマークされます。
/sys/fs/cgroup フォルダーを追加します。
sched_setaffinity は、アフィニティ ビット マスクの数を返します
インタープリター パスの長さが 64 文字未満でなければならないことを誤って想定している ELF 検証ロジックを修正します。 (GH #743)
オープン ファイル記述子により、コンソール ウィンドウが開いたままになることがあります (GH #1187)
rename() がターゲット名の末尾スラッシュで失敗するエラーを修正しました (GH #1008)
/proc/net/dev ファイルを実装します
タイマー精度が原因の 0.000 ミリ秒の Ping を修正します。
/proc/self/environ を実装しました (GH #730)
その他のバグ修正と機能強化
合格したテストの数: 664 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14959 の一般的な Windows 情報については、Windows ブログ を参照してください。
Windows の Pico プロセス通知を改善しました。 WSL ブログ に追加情報があります。
Windows の相互運用性での安定性を向上させました
エンタープライズ データ保護 (EDP) が有効になっているときに bash.exe を起動すると発生するエラー 0x80070057 を修正しました
その他のバグ修正と機能強化
合格したテストの数: 665 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14955 の一般的な Windows 情報については、Windows ブログ を参照してください。
Microsoft の制御を超える状況により、Windows Subsystem for Linux のこのビルドには更新はありません。 定期的にスケジュールされた更新は、次のリリースから再開されます。
合格したテストの数: 665 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14951 の一般的な Windows 情報については、Windows ブログ を参照してください。
新機能:Windows/Ubuntu の相互運用性
Windows バイナリを WSL コマンド ラインから直接呼び出せるようになりました。 これによりユーザーは、今まで可能ではなかった方法で Windows 環境およびシステムと対話ができるようになります。 簡単な例として、ユーザーは次のコマンドを実行できるようになりました。
$ export PATH=$PATH:/mnt/c/Windows/System32
$ notepad.exe
$ ipconfig.exe | grep IPv4 | cut -d: -f2
$ ls -la | findstr.exe foo.txt
$ cmd.exe /c dir
詳細については、以下を参照してください。
すべての新しい WSL インスタンスで Ubuntu 16.04 (Xenial) がインストールされるようになりました。 既存の 14.04 (Trusty) インスタンスを使用しているユーザーは自動的にアップグレードされません。
インストール中に設定されたロケールが表示されるようになりました
ファイルへの WSL プロセスのリダイレクトが必ずしも機能しないというバグを含む、ターミナルの機能強化
コンソールの有効期間は bash.exe の有効期間に関連付けられている必要があります
コンソール ウィンドウのサイズは、バッファー サイズではなく表示サイズを使用する必要があります
その他のバグ修正と機能強化
合格したテストの数: 665 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14946 の一般的な Windows 情報については、Windows ブログ を参照してください。
スペースまたは引用符を含む NT ユーザー名を持つユーザーの WSL ユーザー アカウントの作成を妨げる問題を修正しました。
stat でディレクトリのリンク数に対して 0 が返されるように、VolFs と DrvFs を変更します
IPV6_MULTICAST_HOPS ソケット オプションをサポートします。
1 つの tty につき 1 つのコンソール I/O ループに制限します。 たとえば、次のコマンドが可能です。
bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
/proc/cpuinfo でスペースをタブに置き換えます (GH #1115)
DrvFs は、マウントされた Windows ボリュームと一致する名前で mountinfo に表示されるようになりました
/home と /root が正しい名前で mountinfo に表示されるようになりました
その他のバグ修正と機能強化
合格したテストの数: 665 不合格の数 (失敗した、スキップしたなど): 263
ビルド 14942 の一般的な Windows 情報については、Windows ブログ を参照してください。
SSH をブロックしていた "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" ネットワーク クラッシュを含め、複数のバグチェックに対処しました
DrvFs の Windows アプリケーションから生成された通知に対する inotifiy のサポートが有効になりました
mongod に対して TCP_KEEPIDLE および TCP_KEEPINTVL を実装します。 (GH #695)
pivot_root システム コールを実装します
SO_DONTROUTE に対してソケット オプションを実装します
その他のバグ修正と機能強化
合格したテストの数: 665 不合格の数 (失敗した、スキップしたなど): 263
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
pivot_root
ビルド 14936 の一般的な Windows 情報については、Windows ブログ を参照してください。
注: WSL は、今後のリリースで Ubuntu 14.04 (Trusty) ではなく、Ubuntu バージョン 16.04 (Xenial) をインストールします。 この変更は、新しいインスタンスをインストールする Insiders に適用されます (lxrun.exe、あるいは bash.exe のインストールまたは初回の実行)。 Trusty を使用する既存のインスタンスは、自動的にアップグレードされません。 ユーザーは、do-release-upgrade コマンドを使用して、Trusty イメージを Xenial にアップグレードできます。
WSL では、いくつかのソケット実装で問題が発生しています。 バグチェックを実行するとクラッシュし、エラー "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" が出されます。 この問題の最も一般的な発現は、SSH を使用したときのクラッシュです。 根本原因は内部ビルドで修正され、最も早い機会に Insiders にプッシュされます。
chroot システム コールを実装しました
Drvfs 上の Windows アプリケーションから生成された通知のサポートを含む inotify の機能強化
訂正:Windows アプリケーションからの変更に対する Inotify のサポートは、現時点では利用できません。
IPV6::<port n>
へのソケット バインドで、IPV6_V6ONLY
がサポートされるようになりました (GH #68、#157、#393、#460、#674、#740、#982、#996)
waitid システム コールに対する WNOWAIT 動作を実装しました (GH #638)
IP ソケット オプション IP_HDRINCL と IP_TTL のサポート
長さゼロの read() はすぐに戻ります (GH #975)
.tar ファイルに NULL 終端文字を含まないファイル名とファイル名のプレフィックスを正しく処理します。
/dev/null に対する epoll サポート
/dev/alarm タイム ソースを修正します
Bash -c はファイルにリダイレクトできるようになりました
その他のバグ修正と機能強化
合格したテストの数: 664 不合格の数 (失敗した、スキップしたなど): 264
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
chroot
ビルド 14931 の一般的な Windows 情報については、Windows ブログ を参照してください。
Microsoft の制御を超える状況により、Windows Subsystem for Linux のこのビルドには更新はありません。 定期的にスケジュールされた更新は、次のリリースから再開されます。
ビルド 14926 の一般的な Windows 情報については、Windows ブログ を参照してください。
管理者特権を持たないコンソールで Ping が機能するようになりました
Ping6 が、この場合も管理者特権なしでサポートされるようになりました
WSL を使用して変更されたファイルに対する Inotify サポート。 (GH #216)
サポートされるフラグ:
inotify_init1:LX_O_CLOEXEC、LX_O_NONBLOCK
inotify_add_watch イベント:LX_IN_ACCESS、LX_IN_MODIFY、LX_IN_ATTRIB、LX_IN_CLOSE_WRITE、LX_IN_CLOSE_NOWRITE、LX_IN_OPEN、LX_IN_MOVED_FROM、LX_IN_MOVED_TO、LX_IN_CREATE、LX_IN_DELETE、LX_IN_DELETE_SELF、LX_IN_MOVE_SELF
inotify_add_watch 属性:LX_IN_DONT_FOLLOW、LX_IN_EXCL_UNLINK、LX_IN_MASK_ADD、LX_IN_ONESHOT、LX_IN_ONLYDIR
出力の読み取り:LX_IN_ISDIR、LX_IN_IGNORED
既知の問題:Windows アプリケーションからファイルを変更してもイベントは生成されません
Unix ソケットで SCM_CREDENTIALS がサポートされるようになりました
合格したテストの数: 651 不合格の数 (失敗した、スキップしたなど): 258
ビルド 14915 の一般的な Windows 情報については、Windows ブログ を参照してください。
UNIX データグラム ソケットに対する Socketpair (GH #262)
SO_REUSEADDR に対する UNIX ソケット サポート
SO_BROADCAST に対する UNIX ソケット サポート (GH #568)
SOCK_SEQPACKET に対する UNIX ソケット サポート (GH #758、#546)
UNIX データグラム ソケット send、recv、および shutdown に対するサポートの追加
固定されていないアドレスに対する無効な mmap パラメーター検証によるバグチェックの修正。 (GH #847)
ターミナルの状態の中断/再開のサポート
Screen ユーティリティのブロックを解除する TIOCPKT ioctl のサポート (GH #774)
解放されたメンバー 'ReaderReady' が LxpTimerFdWorkerRoutine によってアクセスされる原因となる TimerFd での競合を修正しました (GH #814)
futex、poll、および clock_nanosleep に対する再起動可能システム コールのサポートを有効にします
bind mount のサポートを追加しました
マウント名前空間に対する unshare のサポート
既知の問題:unshare(CLONE_NEWNS)
を使用して新しいマウント名前空間を作成するときに、現在の作業ディレクトリは引き続き古い名前空間を指します
その他の機能強化とバグ修正
ビルド 14905 の一般的な Windows 情報については、Windows ブログ を参照してください。
再起動可能システム コールがサポートされるようになりました (GH #349、GH #520)
/ で終了するディレクトリへのシンボリック リンクが動作するようになりました (GH #650)
/dev/random に対する RNDGETENTCNT ioctl を実装しました
/proc/[pid]/mounts、/proc/[pid]/mountinfo、および /proc/[pid]/mountstats のファイルを実装しました
その他のバグ修正と機能強化
Windows 10 Anniversary Update リリース以降の最初の Insider ビルド。
ビルド 14901 の一般的な Windows 情報については、Windows ブログ を参照してください。
末尾のスラッシュの問題を修正しました
$ mv a/c/ a/b/
などのコマンドが機能するようになりました
インストールで、Ubuntu のロケールを Windows のロケールに設定すべきかどうかを確認するプロンプトが出されるようになりました
ns フォルダーに対する Procfs のサポート
tmpfs、procfs、および sysfs のファイルシステムに対して mount と unmount を追加しました
mknod[at] 32 ビット ABI の署名を修正します
UNIX ソケットをディスパッチ モデルに移行しました
setsockopt を使用して設定された INET ソケットの recv バッファー サイズを優先します
MSG_CMSG_CLOEXEC Unix ソケット受信メッセージ フラグを実装します
Linux プロセスの stdin/stdout パイプのリダイレクト (GH #2)
CMD で bash -c コマンドのパイプを許可します。 例: >dir | bash -c "grep foo"
複数のページ ファイルがあるシステムに Bash をインストールできるようになりました (GH #538、#358)
既定の INET ソケット バッファー サイズは、既定の Ubuntu セットアップのものと一致している必要があります
xattr システム コールを listxattr に合わせて配置します
SIOCGIFCONF から有効な IPv4 アドレスを持つインターフェイスのみを返します
ptrace によって挿入される際のシグナルの既定のアクションを修正します
/proc/sys/vm/min_free_kbytes を実装します
sigreturn でコンテキストを復元するときにマシン コンテキスト レジスタの値を使用します
これにより、一部のユーザーで java と javac がハングしていた問題が解決されます
/proc/sys/kernel/hostname を実装します
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
waitid
epoll_pwait
ビルド 14388 から Windows 10 Anniversary Update まで
ビルド 14388 の一般的な Windows 情報については、Windows ブログ を参照してください。
8/2 の Windows 10 Anniversary Update の準備をするための修正
Anniversary Update での WSL の詳細情報については、こちらのブログ を参照してください
ビルド 14376 の一般的な Windows 情報については、Windows ブログ を参照してください。
apt-get がハングするいくつかのインスタンスを削除しました (GH #493)
空のマウントが正しく処理されなかった問題を修正しました
ramdisk が正しくマウントされなかった問題を修正しました
フラグをサポートするように UNIX ソケット accept を変更します (一部 GH #451)
一般的なネットワークに関連したブルースクリーンを修正しました
/proc/[pid]/task にアクセスするときのブルースクリーンを修正しました (GH #523)
一部の pty シナリオでの高い CPU 使用率を修正しました (GH #488、#504)
その他のバグ修正と機能強化
ビルド 14371 の一般的な Windows 情報については、Windows ブログ を参照してください。
ptrace を使用する際の SIGCHLD と wait () のタイミングの競合を修正しました
パスの末尾に / がある場合の一部の動作を修正しました (GH #432)
子への開いたハンドルのために rename/unlink が失敗する問題を修正しました
その他のバグ修正と機能強化
ビルド 14366 の一般的な Windows 情報については、Windows ブログ を参照してください。
シンボリック リンクを使用したファイル作成の修正
Python 用 listxattr を追加しました (GH 385)
その他のバグ修正と機能強化
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
listxattr
ビルド 14361 の一般的な Windows 情報については、Windows ブログ を参照してください。
Bash on Ubuntu on Windows で実行しているときに、DrvFs で大文字と小文字が区別されるようになりました。
ユーザーは、/mnt/c ドライブで case.txt と CASE.TXT を使用できます
大文字小文字の区別は、Bash on Ubuntu on Windows でのみサポートされています。 Bash の外では、NTFS はファイルを正しく報告しますが、Windows からのファイルの操作で、予期しない動作が発生する場合があります。
各ボリュームのルート (つまり、/mnt/c) では大文字小文字の区別はありません
Windows でのこれらのファイルの処理について詳しくは、こちら を参照してください。
pty / tty のサポートが大幅に強化されました。 TMUX のようなアプリケーションがサポートされるようになりました (GH #40)
ユーザー アカウントが必ずしも作成されないというインストールの問題を修正しました
非常に長い引数リストを使用できるように、コマンド ラインの引数の構造を最適化しました。 (GH #153)
DrvFs から read_only ファイルの削除および chmod を実行できるようになりました
切断時にターミナルがハングする一部のインスタンスを修正しました (GH #43)
chmod および chown が tty デバイスで機能するようになりました
localhost として 0.0.0.0 および :: への接続を許可します (GH #388)
Sendmsg/recvmsg は、>1 の IO ベクトル長を処理するようになりました (一部 GH #376)
ユーザーは、自動生成された hosts ファイルをオプトアウトできるようになりました (GH #398)
インストール中に Linux のロケールを NT のロケールに自動的に一致させます (GH #11)
/proc/sys/vm/swappiness ファイルを追加しました (GH #306)
strace が正常に終了するようになりました
/proc/self/fd を使用したパイプの再オープンを許可します (GH #222)
DrvFs で %LOCALAPPDATA%\lxss の下のディレクトリが非表示になります (GH #270)
bash.exe ~ の処理の改善。 "bash ~ -c ls" のようなコマンドがサポートされるようになりました (GH #467)
ソケットが、シャットダウン中に使用可能な epoll read を通知するようになりました (GH #271)
lxrun /uninstall でファイルとフォルダーの削除ジョブが改善されました
ps -f を修正しました (GH #246)
xEmacs などの x11 アプリのサポートを強化しました (GH #481)
既定の Ubuntu 設定に一致するように初期スレッドのスタック サイズを更新しました。また、get_rlimit システム コールにサイズを正しく報告します (GH #172、#258)
Pico プロセスのイメージ名の報告を改善しました (監査のためなど)
df コマンドに対して /proc/mountinfo を実装しました
子名のシンボリック リンクのエラー コードを修正しました (. および ..)
その他のバグ修正と機能強化
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE
ビルド 14352 の一般的な Windows 情報については、Windows ブログ を参照してください。
大きなファイルが正しくダウンロードまたは作成されなかった問題を修正しました。 これにより、npm と他のシナリオのブロックが解除されます (GH #3、GH #313)
ソケットがハングするいくつかのインスタンスを削除しました
いくつかの ptrace エラーを修正しました
WSL で 255 文字を超えるファイル名が許可される問題を修正しました
英語以外の文字のサポートが強化されました
現在の Windows タイムゾーンのデータを追加し、既定として設定します
マウント ポイントごとに一意のデバイス ID (JRE 修正 – GH #49)
"."{}および ".." を含むパスの問題を修正します
Fifo のサポートを追加しました (GH #71)
ネイティブ Ubuntu 形式に一致するように resolv.conf の形式を更新しました
一部の procfs のクリーンアップ
管理者コンソールの Ping を有効にしました (GH #18)
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
FALLOCATE
EXECVE
LGETXATTR
FGETXATTR
ビルド 14342 の一般的な Windows 情報については、Windows ブログ を参照してください。
VolFs および DriveFs の情報については、WSL ブログ を参照してください。
Windows ユーザーのユーザー名に Unicode 文字が含まれている場合のインストールの問題を修正しました
FAQ にある apt-get update udev の回避策が、初回の実行時に既定で提供されるようになりました
DriveFs (/mnt/<drive>
) ディレクトリでシンボリック リンクを有効にしました
シンボリック リンクが DriveFs と VolFs 間で機能するようになりました
アドレス指定された最上位のパス解析の問題に対処し、ls .// が期待どおりに動作するようになりました
DriveFs での npm install、および -g オプションが機能するようになりました
PHP サーバーの起動を妨げている問題を修正しました
ネイティブ Ubuntu により近く一致するように $PATH などの既定の環境値を更新しました
apt パッケージ キャッシュを更新するための Windows での週単位のメンテナンス タスクを追加しました
ELF ヘッダー検証の問題を修正しました。WSL ですべての Melkor オプションがサポートされるようになりました
Zsh シェルが機能するようになりました
プリコンパイル済みの Go バイナリがサポートされるようになりました
Bash.exe の初回実行時のプロンプトが正しくローカライズされるようになりました
/proc/meminfo が正しい情報を返すようになりました
ソケットが VFS でサポートされるようになりました
/dev が tempfs としてマウントされるようになりました
Fifo がサポートされるようになりました
マルチコア システムが /proc/cpuinfo に正しく表示されるようになりました
初回実行時のダウンロードにおける追加の改善とエラー メッセージ
システム コールの機能強化とバグ修正。 サポートされるシステム コールの一覧を以下に示します。
その他のバグ修正と機能強化
場合によって、DriveFs で '..' が正しく解決されません
次に示すのは、WSL に何らかの実装がある新しい、または強化されたシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR
ビルド 14332 の一般的な Windows 情報については、Windows ブログ を参照してください。
DNS エントリの優先順位付けを含め、resolv.conf の生成が改善されました
/mnt ドライブと /mnt 以外のドライブとの間のファイルとディレクトリの移動に関する問題
シンボリック リンクを使って tar ファイルを作成できるようになりました
インスタンス作成時に既定の /run/lock ディレクトリを追加しました
適切な stat 情報を返すように /dev/null を更新します
初回実行時のダウンロードにおける追加エラー
システム コールの機能強化とバグ修正。 サポートされるシステム コールの一覧を以下に示します。
その他のバグ修正と機能強化
以下は、WSL に何らかの実装がある新しいシステム コールです。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
READLINKAT
ビルド 14332 の一般的な Windows 情報については、Windows ブログ を参照してください。
Linux ユーザーがサポートされるようになりました。 Bash on Ubuntu on Windows をインストールすると、Linux ユーザーの作成を求めるプロンプトが表示されます。 詳細については、 https://aka.ms/wslusers にアクセスしてください
ホスト名は、Windows コンピューター名に設定されるようになりました。@localhost はもう使用されません
ビルド 14328 の詳細についは、次を参照してください: https://aka.ms/wip14328
/mnt/<drive>
以外のファイルに対するシンボリック リンクの機能強化
npm install が機能するようになりました
jdk / jre は、こちら の説明を使用してインストールできるようになりました。
既知の問題: シンボリック リンクは Windows マウントでは機能しません。 機能は今後のビルドで使用できるようになる予定です
top と htop が表示されるようになりました
一部のインストール エラーに対する追加のエラー メッセージ
システム コールの機能強化とバグ修正。 サポートされるシステム コールの一覧を以下に示します。
その他のバグ修正と機能強化
次に示すのは、WSL に何らかの実装があるシステム コールの一覧です。 この一覧にあるシステム コールは、少なくとも 1 つのシナリオではサポートされていますが、現時点では、一部のパラメーターがサポートされていない可能性があります。
ACCEPT
ACCEPT4
ACCESS
ALARM
ARCH_PRCTL
BIND
BRK
CAPGET
CAPSET
CHDIR
CHMOD
CHOWN
CLOCK_GETRES
CLOCK_GETTIME
CLOCK_NANOSLEEP
CLONE
CLOSE
CONNECT
CREAT
DUP
DUP2
DUP3
EPOLL_CREATE
EPOLL_CREATE1
EPOLL_CTL
EPOLL_WAIT
EVENTFD
EVENTFD2
EXECVE
EXIT
EXIT_GROUP
FACCESSAT
FADVISE64
FCHDIR
FCHMOD
FCHMODAT
FCHOWN
FCHOWNAT
FCNTL64
FDATASYNC
FLOCK
FORK
FSETXATTR
FSTAT64
FSTATAT64
FSTATFS64
FSYNC
FTRUNCATE
FTRUNCATE64
FUTEX
GETCPU
GETCWD
GETDENTS
GETDENTS64
GETEGID
GETEGID16
GETEUID
GETEUID16
GETGID
GETGID16
GETGROUPS
GETPEERNAME
GETPGID
GETPGRP
GETPID
GETPPID
GETPRIORITY
GETRESGID
GETRESGID16
GETRESUID
GETRESUID16
GETRLIMIT
GETRUSAGE
GETSID
GETSOCKNAME
GETSOCKOPT
GETTID
GETTIMEOFDAY
GETUID
GETUID16
GETXATTR
GET_ROBUST_LIST
GET_THREAD_AREA
INOTIFY_ADD_WATCH
INOTIFY_INIT
INOTIFY_RM_WATCH
IOCTL
IOPRIO_GET
IOPRIO_SET
KEYCTL
KILL
LCHOWN
LINK
LINKAT
LISTEN
LLSEEK
LSEEK
LSTAT64
MADVISE
MKDIR
MKDIRAT
MKNOD
MLOCK
MMAP
MMAP2
MOUNT
MPROTECT
MREMAP
MSYNC
MUNLOCK
MUNMAP
NANOSLEEP
NEWUNAME
OPEN
OPENAT
PAUSE
PERF_EVENT_OPEN
PERSONALITY
PIPE
PIPE2
POLL
PPOLL
PRCTL
PREAD64
PROCESS_VM_READV
PROCESS_VM_WRITEV
PSELECT6
PTRACE
PWRITE64
READ
READLINK
READV
REBOOT
RECV
RECVFROM
RECVMSG
RENAME
RMDIR
RT_SIGACTION
RT_SIGPENDING
RT_SIGPROCMASK
RT_SIGRETURN
RT_SIGSUSPEND
RT_SIGTIMEDWAIT
SCHED_GETAFFINITY
SCHED_GETPARAM
SCHED_GETSCHEDULER
SCHED_GET_PRIORITY_MAX
SCHED_GET_PRIORITY_MIN
SCHED_SETAFFINITY
SCHED_SETPARAM
SCHED_SETSCHEDULER
SCHED_YIELD
SELECT
SEND
SENDMMSG
SENDMSG
SENDTO
SETDOMAINNAME
SETGID
SETGROUPS
SETHOSTNAME
SETITIMER
SETPGID
SETPRIORITY
SETREGID
SETRESGID
SETRESUID
SETREUID
SETRLIMIT
SETSID
SETSOCKOPT
SETTIMEOFDAY
SETUID
SETXATTR
SET_ROBUST_LIST
SET_THREAD_AREA
SET_TID_ADDRESS
SHUTDOWN
SIGACTION
SIGALTSTACK
SIGPENDING
SIGPROCMASK
SIGRETURN
SIGSUSPEND
SOCKET
SOCKETCALL
SOCKETPAIR
SPLICE
STAT64
STATFS64
SYMLINK
SYMLINKAT
SYNC
SYSINFO
TEE
TGKILL
TIME
TIMERFD_CREATE
TIMERFD_GETTIME
TIMERFD_SETTIME
TIMES
TKILL
TRUNCATE
TRUNCATE64
UMASK
UMOUNT
UMOUNT2
UNLINK
UNLINKAT
UNSHARE
UTIME
UTIMENSAT
UTIMES
VFORK
WAIT4
WAITPID
WRITE
WRITEV