次の方法で共有


Linux 用 Windows サブシステムのリリース ノート

ビルド 21364

ビルド 21364 の一般的な Windows 情報については、Windows ブログを参照してください。

  • GUI アプリが利用可能になりました。 詳細については、このブログ投稿 を参照してください。
  • \\wsl.localhost\ を使用してファイルにアクセスするときのエラーを解決します。
  • LxssManager サービスで発生する可能性があるデッドロックを修正します。

ビルド 21354

ビルド 21354 の一般的な Windows 情報については、Windows ブログを参照してください。

  • \wsl プレフィックスを \wsl.localhost に切り替えて、"wsl" という名前のネットワーク上にマシンがある場合の問題を回避します。 \wsl$ は引き続き動作します。
  • Wow プロセスの Linux クイック アクセス アイコンを有効にします。
  • wslapi RegisterDistribution 経由でバージョン 2 が常に渡されていた問題を更新する。
  • ファイルが実行可能ファイルとしてマークされるように、/usr/lib/wsl/lib ディレクトリの fmask を 222 に変更します [GH 3847]
  • 仮想マシン プラットフォームが有効になっていない場合の wsl サービスのクラッシュを修正します。

ビルド 21286

ビルド 21286 の一般的な Windows 情報については、Windows ブログを参照してください。

  • wsl.exe --cd コマンドを導入して、コマンドの現在の作業ディレクトリを設定します。
  • NTSTATUS から Linux エラー コードへのマッピングを改善します。 [GH 6063]
  • wsl.exe --mount のエラー報告が改善されます。
  • スタートアップ コマンドを有効にするオプションを /etc/wsl.conf に追加しました。
[boot]
command=<string>

ビルド 20226

ビルド 20226 の一般的な Windows 情報については、Windows ブログを参照してください。

  • LxssManager サービスのクラッシュを修正しました。 [GH 5902]

ビルド 20211

ビルド 20211 の一般的な Windows 情報については、Windows ブログを参照してください。

  • 物理ディスクまたは仮想ディスクをマウントするための wsl.exe --mount について説明します。 詳細については、Windows WSL 2の Linux ファイルシステムにアクセスする方法に関する記事を参照してください。
  • VM がアイドル状態かどうかを確認するときの LxssManager サービスのクラッシュを修正します。 [GH 5768]
  • 圧縮 VHD ファイルのサポート。 [GH 4103]
  • c:\windows\system32\lxss\lib にインストールされている Linux ユーザー モード lib が OS のアップグレード中も保持されていることを確認します。 [GH 5848]
  • wsl --install --list-distributionsでインストールできる利用可能なディストリビューションを一覧表示する機能を追加しました。
  • WSL インスタンスは、ユーザーがログオフしたときに終了するようになりました。

ビルド 20190

ビルド 20190 の一般的な Windows 情報については、Windows ブログを参照してください。

  • WSL1 インスタンスの起動を妨げるバグを修正しました。 [GH 5633]
  • Windows プロセスの出力をリダイレクトするときのハングを修正しました。 [GH 5648]
  • \.wslconfig オプション %userprofile%追加して、VM のアイドル タイムアウト (wsl2.vmIdleTimeout=<time_in_ms>) を制御します。
  • WSL からのアプリ実行エイリアスの起動をサポートします。
  • WSL2 カーネルとディストリビューションのインストールのサポートを wsl.exe --install に追加しました。

ビルド 20175

ビルド 20175 の一般的な Windows 情報については、Windows ブログを参照してください。

  • WSL2 VM の既定のメモリ割り当てを、ホスト メモリの 50% または 8 GB のいずれか小さい方に調整します [GH 4166]。
  • URI 解析をサポートするには、\\wsl$ プレフィックスを \\wsl に変更します。 古い \\wsl$ パスは引き続きサポートされています。
  • amd64で、WSL2の入れ子式仮想化を既定で有効にします。 これは %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false) を使用して無効にすることができます。
  • wsl.exe --update demand をして、Microsoft Update を開始します。
  • DrvFs の読み取り専用ファイルでの名前変更をサポートします。
  • エラー メッセージが常に正しいコード ページに出力されていることを確認します。

ビルド 20150

ビルド 20150 の一般的な Windows 情報については、Windows ブログを参照してください。

  • WSL2 GPU コンピューティングの詳細については、Windows ブログ を参照してください。
  • WSL wsl.exe 簡単にセットアップするための --install コマンド ライン オプションを導入しました。
  • --update コマンド ライン オプション wsl.exe 導入して、WSL2 カーネルの更新を管理します。
  • WSL2 を既定値として設定します。
  • WSL2 vm の正常なシャットダウン タイムアウトが増えます。
  • デバイス メモリをマッピングするときの virtio-9p 競合状態を修正します。
  • UAC が無効になっている場合は、管理者特権の 9p サーバーを実行しないでください。

ビルド 19640

ビルド 19640 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2] virtio-9p (drvfs) の安定性が向上しました。

ビルド 19555

ビルド 19555 の一般的な Windows 情報については、Windows ブログのを参照してください。

  • [WSL2]メモリ cgroup を使用して、インストール操作と変換操作で使用されるメモリの量を制限する [GH 4669]
  • 機能の検出機能を向上させるため、Linux 用 Windows サブシステムのオプションのコンポーネントが有効になっていないときに wsl.exe を使用します。
  • WSL オプション コンポーネントがインストールされていない場合にヘルプ テキストを出力するように wsl.exe を変更する
  • インスタンス作成時の競合状態を修正する
  • すべてのコマンド ライン機能を含む wslclient.dll を作成する
  • LxssManagerUser サービス停止中のクラッシュを防ぐ
  • distroName パラメーターが NULL の場合 wslapi.dll 高速失敗を修正しました

ビルド 19041

ビルド 19041 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]プロセスを起動する前にシグナル マスクをクリアする
  • [WSL2]Linux カーネルを 4.19.84 に更新する
  • symlink が相対的ではないときの /etc/resolv.conf symlink の作成を処理します

ビルド 19028

ビルド 19028 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]Linux カーネルを 4.19.81 に更新する
  • [WSL2]/dev/net/tun の既定のアクセス許可を 0666 に変更する [GH 4629]
  • [WSL2]Linux VM に割り当てられた既定のメモリ量を 80% のホスト メモリに調整する
  • [WSL2] 不適切な呼び出し元がサーバーをハングできないように、タイムアウトで要求を処理するように相互運用サーバーを修正する

ビルド 19018

ビルド 19018 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]9p マウントの既定値として cache=mmap を使用して dotnet アプリを修正する
  • [WSL2] ローカルホストリレーの修正 [GH 4340]
  • [WSL2]ディストリビューション間で状態を共有するためのクロスディストリビューション共有 tmpfs マウントを導入する
  • \\wsl$ の永続的なネットワーク ドライブの復元を修正しました

ビルド 19013

ビルド 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

ビルド 19002 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL]一部の Unicode 文字の処理に関する問題を修正する: https://github.com/microsoft/terminal/issues/2770
  • [WSL]ビルドからビルドへのアップグレードの直後に起動した場合にディストリビューションが登録解除される可能性があるまれなケースを修正します。
  • [WSL] wsl.exe --shutdown においてインスタンスのアイドルタイマーがキャンセルされなかった軽微な問題を修正しました。

ビルド 18995

ビルド 18995 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]操作が中断された後に DrvFs マウントが動作を停止する問題を修正します (ctrl + c など) [GH 4377]
  • [WSL2]非常に大きな hvsocket メッセージの処理を修正しました [GH 4105]
  • [WSL2]stdin がファイルである場合の相互運用に関する問題を修正する [GH 4475]
  • [WSL2]予期しないネットワーク状態が発生した場合のサービスクラッシュを修正 [GH 4474]
  • [WSL2]現在のプロセスに環境変数がない場合は、相互運用サーバーからディストリビューション名を照会する
  • [WSL2]interop whe stdin がファイルである問題を修正する
  • [WSL2]Linux カーネルバージョンを 4.19.72 に更新する
  • [WSL2].wslconfig を使用して追加のカーネル コマンド ライン パラメーターを指定する機能を追加しました
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments

ビルド 18990

ビルド 18990 の一般的な Windows 情報については、Windows ブログを参照してください。

  • \\wsl$ のディレクトリ一覧のパフォーマンスを向上させる
  • [WSL2]追加のブート エントロピーを挿入する [GH 4416]
  • [WSL2] su または sudo を使用する場合の Windows の相互運用を修正します [GH 4465]

ビルド 18980

ビルド 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

ビルド 18975 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]localhost の信頼性に関する多くの問題を修正しました [GH 4340]

ビルド 18970

ビルド 18970 の一般的な Windows 情報については、Windows ブログを参照してください。

  • [WSL2]システムがスリープ状態から再開されたときのホスト時刻との同期時間 [GH 4245]
  • [WSL2] 可能なときは、Windows ボリュームに NT シンボリック リンクを作成します。
  • [WSL2]UTS、IPC、PID、マウントの名前空間にディストリビューションを作成します。
  • [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

ビルド 18945 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • [WSL2]wsL2 のリッスン TCP ソケットに localhost:port を使用してホストからアクセスできるようにする
  • [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]interop.enabled /etc/wsl.conf オプションの修正 [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

ビルド 18917 の一般的な Windows 情報については、Windows ブログのを参照してください。

WSL

  • WSL 2 が利用可能になりました。 詳細については、ブログ 参照してください。
  • シンボリック リンクを使用した Windows プロセスの起動が正しく機能しない回帰を修正しました [GH 3999]
  • wsl.exe --list --verbose、wsl.exe --list --quiet、および wsl.exe --import --version オプションをwsl.exeに追加します。
  • wsl.exe --shutdown オプションを追加する
  • プラン 9: 書き込みを成功させるためにディレクトリを開くことを許可する

ビルド 18890

ビルド 18890 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 非ブロッキング ソケット リーク [GH 2913]
  • 端末への EOF 入力は後続の読み取りをブロックできます [GH 3421]
  • wsl.conf を参照するように resolv.conf ヘッダーを更新する [GH 3928 で説明]
  • epoll 削除コードのデッドロック [GH 3922]
  • 引数内のスペースを --import および –export に処理する [GH 3932]
  • mmap'd ファイルの拡張が正しく機能しない [GH 3939]
  • ARM64 \\wsl$ アクセスが正しく機能しない問題を修正する
  • wsl.exe のより良い既定のアイコンを追加する

ビルド 18342

ビルド 18342 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ユーザーが Windows から WSL ディストリビューション内の Linux ファイルにアクセスする機能が追加されました。 これらのファイルにはコマンド ラインを使用してアクセスできます。また、エクスプローラーや VSCode などの Windows アプリでも、これらのファイルを操作できます。 \\wsl$\<distro_name>に移動してファイルにアクセスするか、\\wsl$ に移動して実行中のディストリビューションの一覧を表示します
  • CPU 情報タグを追加し、Cpus_allowed [_list] 値を修正する [GH 2234]
  • 非リーダースレッドからのexecをサポートする [GH 3800]
  • 構成の更新エラーを致命的でないものとして扱う [GH 3785]
  • オフセットを適切に処理するように binfmt を更新する [GH 3768]
  • プラン 9 のマッピング ネットワーク ドライブを有効にする [GH 3854]
  • バインド マウントのための Windows -> Linux および Linux -> Windows のパスの変換をサポートします
  • 読み取り専用で開かれたファイルのマッピング用の読み取り専用セクションを作成する

ビルド 18334

ビルド 18334 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • Windows タイム ゾーンを Linux タイム ゾーンにマップする方法を再設計する [GH 3747]
  • メモリ リークを修正し、新しい文字列変換関数を追加する [GH 3746]
  • スレッドが存在しないスレッドグループ上のSIGCONTは no-op [GH 3741]
  • /proc/self/fd にソケットおよび epoll ファイル記述子を正しく表示する

ビルド 18305

ビルド 18305 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • プライマリ スレッドが終了すると、pthreads はファイルへのアクセスを失う [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

ビルド 18277 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ビルド 18272 で導入された "そのようなインターフェイスがサポートされていません" エラーを修正 [GH 3645]
  • umount syscall のMNT_FORCE フラグを無視する [GH 3605]
  • 公式の CreatePseudoConsole API を使用するように WSL 相互運用機能を切り替える
  • FUTEX_WAIT再起動時にタイムアウト値を維持しない

ビルド 18272

ビルド 18272 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 警告: WSL を動作不能にする問題がこのビルドに存在します。 ディストリビューションを起動しようとすると、"そのようなインターフェイスはサポートされていません" というエラーが表示されます。 この問題は修正されており、来週の Insider Fast ビルドに含まれる予定です。 このビルドをインストールしている場合は、「設定->Update & Security->Recovery」の「以前のバージョンの Windows 10 に戻る」を使用して、以前の Windows ビルドにロールバックできます。

ビルド 18267

ビルド 18267 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ゾンビ プロセスが回収されず、無期限に存在し続ける問題を修正します。
  • エラー メッセージが最大長を超えると WslRegisterDistribution がハングする [GH 3592]
  • DrvFs 上の読み取り専用ファイルの fsync の成功を許可する [GH 3556]
  • /bin ディレクトリと /sbin ディレクトリが存在することを確認してから、[GH 3584] 内にシンボリック リンクを作成します
  • WSL インスタンスのインスタンス終了タイムアウト メカニズムを追加しました。 タイムアウトは現在 15 秒に設定されています。つまり、インスタンスは最後の WSL プロセスが終了してから 15 秒後に終了します。 ディストリビューションを直ちに終了するには、次の値を使用します。
wslconfig.exe /terminate <DistributionName>

ビルド 17763 (1809)

ビルド 17763 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • Setpriority syscall アクセス許可チェックが厳密すぎて、同じスレッド優先度を変更できません [GH 1838]
  • clock_gettime(CLOCK_BOOTTIME) に負の値が返されないように、ブート時間に偏りのない割り込み時間が使用されていることを確認します [GH 3434]
  • WSL binfmt インタープリターでシンボリック リンクを処理する [GH 3424]
  • スレッド グループ リーダー ファイル記述子のクリーンアップの処理が向上しました。
  • オーバーフローを回避するために、KeQueryPerformanceCounter の代わりに KeQueryInterruptTimePrecise を使用するように WSL を切り替えます [GH 3252]
  • Ptrace attach がシステム呼び出しからの不適切な戻り値を引き起こす可能性がある [GH 1731]
  • いくつかのAF_UNIX関連する問題を修正する [GH 3371]
  • 現在の作業ディレクトリの長さが 5 文字未満の場合に WSL 相互運用が失敗する可能性がある問題を修正しました [GH 3379]
  • 存在しないポートへのループバック接続の 1 秒間の遅延失敗を回避する [GH 3286]
  • /proc/sys/fs/file-max スタブ ファイルの追加 [GH 2893]
  • より正確な IPV6 スコープ情報。
  • PR_SET_PTRACERのサポート [GH 3053]
  • パイプ ファイルシステムがエッジによってトリガーされる epoll イベントを誤ってクリアする [GH 3276]
  • NTFS シンボリック リンクを介して起動された Win32 実行可能ファイルがシンボリック リンク名を尊重しない [GH 2909]
  • 強化されたゾンビのサポート [GH 1353]
  • Windows 相互運用動作を制御するための wsl.conf エントリを追加する [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • 常に UNIX ソケット ファミリの種類が返されない getsockname の修正 [GH 1774]
  • TIOCSTI のサポートを追加する [GH 1863]
  • 接続処理中の非ブロッキング ソケットは、書き込み試行のために EAGAIN を返す必要があります [GH 2846]
  • マウントされた VHD での相互運用をサポートします [GH 3246、3291]
  • ルート フォルダーのアクセス許可チェックの問題を修正 [GH 3304]
  • TTY キーボードの ioctl (KDGKBTYPE、KDGKBMODE、および KDSKBMODE) に対する制限付きサポート。
  • Windows UI アプリは、バックグラウンドで起動した場合でも実行する必要があります。
  • wsl -u または --user オプションを追加する [GH 1203]
  • 高速起動が有効になっている場合の WSL 起動の問題を修正する [GH 2576]
  • UNIX ソケットは切断されたピア資格情報を保持する必要があります [GH 3183]
  • 非ブロッキング UNIX ソケットが EAGAIN で無限に失敗します [GH 3191]
  • case=off は、新しい既定の drvfs マウント タイプです [GH 2937, 3212, 3328]
    • 詳細については、ブログ を参照してください。
  • wslconfig /terminate を追加して、ディストリビューションの実行を停止します。
  • WSL シェルのコンテキスト メニュー エントリで、スペースを含むパスが正しく処理されない問題を修正しました。
  • ディレクトリごとの大文字と小文字の区別を拡張属性として公開する
  • ARM64: キャッシュメンテナンス操作をエミュレートします。 の dotnet 問題を解決します。
  • DrvFs: エスケープされた文字に対応するプライベート範囲内の文字のみをエスケープ解除します。
  • ELF パーサー インタープリターの長さの検証での Off-by-one エラーを修正します [GH 3154]
  • 過去の時刻が設定された WSL 絶対タイマーは起動しません [GH 3091]
  • 新しく作成された再解析ポイントが親ディレクトリに表示されていることを確認します。
  • DrvFs で大文字と小文字を区別するディレクトリをアトミックに作成します。
  • ファイルが存在していてもマルチスレッド操作で ENOENT が返される可能性がある追加の問題を修正しました。 [GH 2712]
  • UMCI が有効な場合の WSL 起動エラーを修正しました。 [GH 3020]
  • 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 オプションを追加して、特定のディストリビューションを選択します。
  • dmesg の制限付きサポート。 これで、アプリケーションは dmesg にログを記録できるようになりました。 WSL ドライバーは、dmesg に限定された情報をログに記録します。 将来的には、ドライバーから他の情報/診断を伝達するように拡張できます。
    • 注: dmesg は現在、/dev/kmsg デバイス インターフェイスを介してサポートされています。 syscall インターフェイス syslog はまだサポートされていません。 そのため、dmesgなどの -S コマンド ライン オプションの一部 -C 機能しません。
  • ネイティブに一致するようにシリアル デバイスの既定の gid とモードを変更する [GH 3042]
  • DrvFs で拡張属性がサポートされるようになりました。
    • 注: DrvFs には、拡張属性の名前にいくつかの制限があります。 一部の文字 ('/'、':'、'*' など) は許可されず、拡張属性名はDrvFs では大文字と小文字が区別されません

ビルド 18252 (前へスキップ)

ビルド 18252 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • init バイナリと bsdtar バイナリを lxssmanager dll から別のツール フォルダーに移動する
  • CLONE_FILES使用時のファイル記述子のクローズに関する競合を修正する
  • DrvFs パスを変換するときに /proc/pid/mountinfo の省略可能なフィールドを処理する
  • S_IFREGに対するメタデータのサポートなしで DrvFs mknod が成功することを許可する
  • DrvFs で作成された読み取り専用ファイルには、読み取り専用属性が設定されている必要があります [GH 3411]
  • /sbin/mount.drvfs ヘルパーを追加して DrvFs のマウントを処理する
  • DrvFsでの名前変更にはPOSIXを使用します。
  • ボリューム GUID がないボリュームでのパスの変換を許可します。

ビルド 17738 (高速)

ビルド 17738 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • Setpriority syscall アクセス許可チェックが厳密すぎて、同じスレッド優先度を変更できません [GH 1838]
  • clock_gettime(CLOCK_BOOTTIME) に負の値が返されないように、ブート時間に偏りのない割り込み時間が使用されていることを確認します [GH 3434]
  • WSL binfmt インタープリターでシンボリック リンクを処理する [GH 3424]
  • スレッド グループ リーダー ファイル記述子のクリーンアップの処理が向上しました。

ビルド 17728 (高速)

ビルド 17728 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • オーバーフローを回避するために、KeQueryPerformanceCounter の代わりに KeQueryInterruptTimePrecise を使用するように WSL を切り替えます [GH 3252]
  • Ptrace attach がシステム呼び出しからの不適切な戻り値を引き起こす可能性がある [GH 1731]
  • AF_UNIX関連する問題の数を修正する [GH 3371]
  • 現在の作業ディレクトリの長さが 5 文字未満の場合に WSL 相互運用が失敗する可能性がある問題を修正しました [GH 3379]

ビルド 18204 (先にスキップ)

ビルド 18204 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • パイプ ファイルシステムがエッジによってトリガーされる epoll イベントを誤ってクリアする [GH 3276]
  • NTFS シンボリック リンクを介して起動された Win32 実行可能ファイルがシンボリック リンク名を尊重しない [GH 2909]

ビルド 17723 (高速)

ビルド 17723 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 存在しないポートへのループバック接続の 1 秒間の遅延失敗を回避する [GH 3286]
  • /proc/sys/fs/file-max スタブ ファイルの追加 [GH 2893]
  • より正確な IPV6 スコープ情報。
  • PR_SET_PTRACERのサポート [GH 3053]
  • パイプ ファイルシステムがエッジによってトリガーされる epoll イベントを誤ってクリアする [GH 3276]
  • NTFS シンボリック リンクを介して起動された Win32 実行可能ファイルがシンボリック リンク名を尊重しない [GH 2909]

ビルド 17713

ビルド 17713 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 強化されたゾンビのサポート [GH 1353]
  • Windows 相互運用動作を制御するための wsl.conf エントリを追加する [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • 常に UNIX ソケット ファミリの種類が返されない getsockname の修正 [GH 1774]
  • TIOCSTI のサポートを追加する [GH 1863]
  • 接続処理中の非ブロッキング ソケットは、書き込み試行のために EAGAIN を返す必要があります [GH 2846]
  • マウントされた VHD での相互運用をサポートします [GH 3246、3291]
  • ルート フォルダーのアクセス許可チェックの問題を修正 [GH 3304]
  • TTY キーボードの ioctl (KDGKBTYPE、KDGKBMODE、および KDSKBMODE) に対する制限付きサポート。
  • Windows UI アプリは、バックグラウンドで起動した場合でも実行する必要があります。

ビルド 17704

ビルド 17704 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 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

ビルド 17692 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • WSL シェルのコンテキスト メニュー エントリで、スペースを含むパスが正しく処理されない問題を修正しました。
  • ディレクトリごとの大文字と小文字の区別を拡張属性として公開する
  • ARM64: キャッシュメンテナンス操作をエミュレートします。 の dotnet 問題を解決します。
  • DrvFs: エスケープされた文字に対応するプライベート範囲内の文字のみをエスケープ解除します。

ビルド 17686

ビルド 17686 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ELF パーサー インタープリターの長さの検証での Off-by-one エラーを修正します [GH 3154]
  • 過去の時刻が設定された WSL 絶対タイマーは起動しません [GH 3091]
  • 新しく作成された再解析ポイントが親ディレクトリに表示されていることを確認します。
  • DrvFs で大文字と小文字を区別するディレクトリをアトミックに作成します。

ビルド 17677

ビルド 17677 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ファイルが存在していてもマルチスレッド操作で ENOENT が返される可能性がある追加の問題を修正しました。 [GH 2712]
  • UMCI が有効な場合の WSL 起動エラーを修正しました。 [GH 3020]

ビルド 17666

ビルド 17666 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

警告: WSL が一部の AMD チップセットで実行できなくなる問題があります [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 (先にスキップ)

ビルド 17655 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • dmesg の制限付きサポート。 これで、アプリケーションは dmesg にログを記録できるようになりました。 WSL ドライバーは、dmesg に限定された情報をログに記録します。 将来的には、ドライバーから他の情報/診断を伝達するように拡張できます。
    • 注: dmesg は現在、/dev/kmsg デバイス インターフェイスを介してサポートされています。 syslog の sycall インターフェイスはまだサポートされていません。 そのため、dmesgなどの -S コマンド ライン オプションの一部 -C 機能しません。
  • ファイルが存在していてもマルチスレッド操作で ENOENT が返される可能性がある問題を修正しました。 [GH 2712]

ビルド 17639 (先にスキップ)

ビルド 17639 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • ネイティブに一致するようにシリアル デバイスの既定の gid とモードを変更する [GH 3042]
  • DrvFs で拡張属性がサポートされるようになりました。
    • 注: DrvFs には、拡張属性の名前にいくつかの制限があります。 特に、一部の文字 ('/'、':'、'*' など) は許可されず、拡張属性名は DrvFs では大文字と小文字が区別されません

ビルド 17133 (高速)

ビルド 17133 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • WSL でのハングの修正。 [GH 3039, 3034]

ビルド 17128 (高速)

ビルド 17128 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • なし

ビルド 17627 (前へスキップ)

ビルド 17627 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 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.exeを使用する場合は、ユーザーの既定のシェルを尊重します。 [GH 2372]
  • すべてのネットワーク インターフェイスをイーサネットとして報告します。 [GH 2996]
  • 破損した /etc/passwd ファイルの処理が向上しました。 [GH 3001]

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17618 (前へスキップ)

ビルド 17618 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • NT 相互運用のための擬似コンソール機能を導入する [GH 988, 1366, 1433, 1542, 2370, 2406]。
  • 従来のインストール メカニズム (lxrun.exe) は非推奨になりました。 ディストリビューションをインストールするためのサポートされているメカニズムは、Microsoft Store を通じて行われます。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17110

ビルド 17110 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • /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 ファイル setcasesensitiveinfo <path> 有効にします
  • uname syscall から返される NULL 終了文字列。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17107

ビルド 17107 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • マスター pty エンドポイントで TCSETSF と TCSETSW をサポートする [GH 2552]。
  • 同時相互運用プロセスを開始すると、EINVAL [GH 2813] が発生する可能性があります。
  • /proc/pid/status に適切なトレース状態を表示するようにPTRACE_ATTACHを修正しました。
  • CLEARTID フラグと SETTID フラグの両方を指定して複製された、有効期間の短いプロセスが、TID アドレスをクリアせずに終了する場合がある問題を修正します。
  • 17093 より前のビルドから移行するときに、Linux ファイル システム ディレクトリをアップグレードするときにメッセージを表示します。 17093 ファイル システムの変更の詳細については、17093のリリース ノートを参照してください。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17101

ビルド 17101 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • signalfd のサポート。 [GH 129]
  • 無効な NTFS 文字を含むファイル名を、プライベート Unicode 文字としてエンコードしてサポートします。 [GH 1514]
  • 書き込みがサポートされていない場合、自動マウントは読み取り専用にフォールバックします。 [GH 2603]
  • Unicode サロゲート ペアの貼り付け (絵文字文字など) を許可します。 [GH 2765]
  • /proc および /sys の擬似ファイルは、select、poll、epoll などから読み書きが可能であることを返す必要があります。[GH 2838]
  • レジストリが改ざんされているか破損している場合に、サービスが無限ループに入る可能性がある問題を修正します。
  • iproute2 の新しい (アップストリーム 4.14) バージョンで動作するように netlink メッセージを修正します。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17093

ビルド 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 に変更される予定です。
  • Windows パスで DrvFs をマウントするときにフォワードスラッシュを使用できるようになりました。たとえば、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 のブログ記事を参照してください

WSL

  • 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]
  • オフセットが 0 以外の読み込みヘッダーを含む ELF バイナリの読み込み中にエラーが発生しました [GH 1884]
  • イメージの読み込み時に、末尾のページ バイトがゼロになります。
  • execve がサイレントでプロセスを終了するケースを減らす

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17083

ビルド 17083 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • epoll に関連するバグチェックを修正しました [GH 2798, 2801, 2857]
  • ASLR をオフにするときのハングを修正しました [GH 1185, 2870]
  • mmap 操作がアトミックに見えるようにします [GH 2732]

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17074

ビルド 17074 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • DrvFs メタデータのストレージ形式を修正しました [GH 2777]
    重要: このビルドの前に作成 DrvFs メタデータが正しく表示されないか、まったく表示されません。 影響を受けるファイルを修正するには、chmod と chown を使用してメタデータを再適用します。
  • 複数のシグナルと再開可能なシステム コールの問題を修正しました。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17063

ビルド 17063 の一般的な Windows 情報については、Windows ブログを参照してください。

WSL

  • 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 は、WSL から Win32 または Win32 プロセスから WSL プロセスを起動するときに含めることができる環境変数のコロン区切りの一覧です。 各変数の末尾にスラッシュとフラグを付けて、変換方法を指定できます。

    • p: この値は、WSL パスと Win32 パスの間で変換する必要があるパスです。
    • l: 値はパスのリストです。 WSL では、これはコロンで区切られたリストです。 Win32 では、セミコロンで区切られたリストです。
    • u: 値は Win32 から WSL を呼び出すときにのみ含める必要があります
    • w: 値は、WSL から Win32 を呼び出すときにのみ含める必要があります

    WSLENV は、.bashrc またはユーザーのカスタム Windows 環境で設定できます。

  • 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 をサポートします (以前は操作なし)。

  • 実装されていない syscall を ptrace に通知します。

  • resolv.conf ネームサーバーの生成時に起動していないインターフェイスを無視する [GH 2694]

  • 物理アドレスのないネットワーク インターフェイスを列挙します。 [GH 2685]

  • その他のバグ修正と機能強化。

Windows 上の開発者が利用できる Linux ツール

  • Windows コマンド ライン ツールチェーンには、bsdtar (tar) と curl が含まれています。 このブログ 読んで、これら 2 つの新しいツールの追加の詳細を確認し、Windows での開発者エクスペリエンスがどのように形成されているかを確認してください。

  • AF_UNIX は、Windows Insider SDK (17061 以降) で使用できます。 このブログ を読んで、AF_UNIX と Windows 上の開発者がどのようにそれを使用できるかについて詳しく学習してください。

コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17046

ビルド 17046 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • アクティブなターミナルなしでプロセスを実行できるようにします。 [GH 709, 1007, 1511, 2252, 2391, et al.]
  • CLONE_VFORKとCLONE_VMのサポートが向上しました。 [GH 1878, 2615]
  • WSL ネットワーク操作の TDI フィルター ドライバーをスキップします。 [GH 1554]
  • DrvFs は、特定の条件が満たされたときに NT シンボリック リンクを作成します。 [GH 353, 1475, 2602]
    • リンク ターゲットは相対でなければならず、マウント ポイントまたはシンボリック リンクをまたがらず、存在する必要があります。
    • 開発者モードが有効になっていない限り、ユーザーは SE_CREATE_SYMBOLIC_LINK_PRIVILEGE を持っている必要があります (このためには、通常、管理者特権で wsl.exe を起動する必要があります)。
    • それ以外の状況でも、DrvFs は WSL シンボリック リンクを作成します。
  • 管理者特権の WSL インスタンスと非管理者特権 WSL インスタンスの同時実行を許可します。
  • /proc/sys/kernel/yama/ptrace_scope のサポート
  • wslpath を追加して WSL<->の Windows パス変換を実行します。 [GH 522, 1243, 1834, 2327, et al.]
      wslpath usage:
        -a    force result to absolute path format
        -u    translate from a Windows path to a WSL path (default)
        -w    translate from a WSL path to a Windows path
        -m    translate from a WSL path to a Windows path, with '/' instead of '\\'
    
        EX: wslpath 'c:\users'
    

    コンソール

  • 修正はありません。

LTP の結果:

テストが進行中です。

ビルド 17040

ビルド 17040 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • 17035 以降は修正されません。

コンソール

  • 17035 以降は修正されません。

LTP の結果:

テストが進行中です。

ビルド 17035

ビルド 17035 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • DrvF 上のファイルにアクセスすると、EINVAL で失敗することがあります。 [GH 2448]

コンソール

  • VT モードで行を挿入または削除すると、色が失われる場合があります。

LTP の結果:

テストが進行中です。

ビルド 17025

ビルド 17025 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • 新しいフォアグラウンド プロセス グループ [GH 1653, 2510] で初期プロセスを開始します。
  • SIGHUP 配信の修正 [GH 2496]。
  • [GH 2497] が指定されていない場合は、既定の仮想ブリッジ名を生成します。
  • /proc/sys/kernel/random/boot_id を実装する [GH 2518]。
  • 追加の相互運用 stdout/stderr パイプの修正。
  • スタブ syncfs システム呼び出し。

コンソール

  • サード パーティ製本体の入力 VT 変換を修正しました [GH 111]

LTP の結果:

テストが進行中です。

ビルド 17017

ビルド 17017 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • 空の ELF プログラム ヘッダーを無視する [GH 330]。
  • LxssManager が非対話型ユーザー (ssh およびスケジュールされたタスクサポート) の WSL インスタンスを作成できるようにします [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をサポートします。
  • その他の機能強化とバグ修正

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

テストが進行中です。

Fall Creators Update

ビルド 16288

ビルド 16288 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • ソケット ファイル記述子の uid、gid、およびモードを正しく初期化して報告する [GH 2490]
  • その他の機能強化とバグ修正

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

16273 以降は変更なし

ビルド 16278

ビルド162738に関する一般的な Windows 情報については、Windows ブログのを参照してください。

修正済み

WSL

  • LX MM 状態を解除するときに、ファイルによってサポートされているセクションのマップされたビューを明示的にマップ解除します [GH 2415]
  • その他の機能強化とバグ修正

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

16273 以降は変更なし

ビルド 16275

ビルド 162735に関する一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • このリリースでは、WSL 関連の変更はありません。

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

16273 以降は変更なし

ビルド 16273

ビルド 16273 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • ディレクトリに対して間違ったファイルの種類が 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実装する [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 ソケット テストのハングを修正する
  • その他の機能強化とバグ修正

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

合計テスト数: 1904
スキップされたテストの合計数: 209
合計エラー数: 229

ビルド 16257

ビルド 16257 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • prlimit64 システム呼び出しを実装する
  • ulimit -n (setrlimit RLIMIT_NOFILE) のサポートを追加する [GH 1688]
  • TCP ソケットに対して MSG_MORE をスタブします [GH 2351]
  • 無効なAT_EXECFN補助ベクトルの動作を修正しました [GH 2133]
  • コンソール/tty のコピー/貼り付け動作を修正し、完全なバッファー処理を強化しました [GH 2204,2131]
  • set-user-ID および set-group-ID プログラムの補助ベクトルにAT_SECUREを設定する [GH 2031]
  • TIOCPGRP を処理しない擬似ターミナル マスター エンドポイント [GH 1063]
  • lseek が LxFs のディレクトリを巻き戻す問題を修正 [GH 2310]
  • /dev/ptmx が大量の使用後にロックアップする [GH 1882]
  • その他の機能強化とバグ修正

コンソール

LTP の結果:

16251 以降は変更なし

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

prlimit64

既知の問題

GitHub Issue 2392: Windows フォルダーが WSL で認識されない ...

ビルド 16257 では、/mnt/c/...経由で Windows ファイル/フォルダーを列挙するときに WSL に問題があります。 この問題は修正されており、2017 年 8 月 14 日から週の間に Insider ビルドでリリースされる必要があります。


ビルド 16251

ビルド 16251 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • WSL オプション コンポーネントからベータ タグを削除します。詳細については、ブログ投稿 参照してください。
  • exec 上の set-user-ID バイナリと set-group-ID バイナリの保存済みセット uid と gid を正しく初期化する [GH 962, 1415, 2072]
  • ptrace PTRACE_O_TRACEEXITのサポートを追加しました [GH 555]
  • NT_FPREGSETでの ptrace PTRACE_GETFPREGSとPTRACE_GETREGSETのサポートを追加しました [GH 555]
  • 無視されたシグナルで停止する ptrace を修正しました
  • その他の機能強化とバグ修正

コンソール

  • このリリースでは、本体に関連する変更はありません。

LTP の結果:

合格テスト数: 768
失敗したテストの数: 244
スキップされたテストの数: 96


ビルド 16241

ビルド 16241 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

WSL

  • このリリースでは、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

ビルド 16237 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • LxFs で EA がないファイルには既定の属性を使用します (root、root、0000)
  • 拡張属性を使用するディストリビューションのサポートを追加しました
  • getdents および getdents64 によって返されるエントリのパディングを修正する
  • shmctl SHM_STAT システム呼び出しのアクセス許可チェックを修正しました [GH 2068]
  • ttys の不適切な初期エポール状態を修正しました [GH 2231]
  • すべてのエントリが返されない DrvFs readdir を修正 [GH 2077]
  • ファイルのリンクが解除されているときに LxFs readdir を修正する [GH 2077]
  • リンクされていない drvfs ファイルを procfs 経由で再度開くことを許可する
  • WSL 機能 (相互運用/ドライブマウント) を無効にするためのグローバルレジストリキーの上書きを追加しました。
  • DrvFs (および LxFs) の "stat" の不適切なブロック数を修正しました [GH 1894]
  • その他の機能強化とバグ修正

ビルド 16232

ビルド 16232 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • このリリースでは、WSL 関連の変更はありません。

ビルド 16226

ビルド 16226 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • xattr に関連したシステム コールのサポート (getxattr、setxattr、listxattr、removexattr)。
  • security.capablity xattr のサポート。
  • MS 以外の SMB サーバーを含む、特定のファイル システムとフィルターとの互換性が向上しました。 [GH #1952]
  • OneDrive プレースホルダー、GVFS プレースホルダー、および Compact OS 圧縮ファイルのサポートが強化されました。
  • その他の機能強化とバグ修正

ビルド 16215

ビルド 16215 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • WSL では開発者モードは必要なくなりました。
  • drvfs のディレクトリ ジャンクションをサポートします。
  • WSL ディストリビューション appx パッケージのアンインストールを処理します。
  • procfs を更新して、プライベートマッピングと共有マッピングを表示します。
  • 部分的にインストールまたはアンインストールされたディストリビューションをクリーンアップする wslconfig.exe の機能を追加します。
  • TCP ソケットのIP_MTU_DISCOVERのサポートを追加しました。 [GH 1639, 2115, 2205]
  • AF_INADDRへのルートのプロトコル ファミリを推論します。
  • シリアル デバイスの機能強化 [GH 1929]。

ビルド 16199

ビルド 16199 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • これらのリリースでは、WSL 関連の変更はありません。

ビルド 16193

ビルド 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

ビルド 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

ビルド 16179 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 今週、WSL は変更されません。

ビルド 16176

ビルド 16176 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 有効なシリアル サポート
  • [GH 1116] IP ソケット オプション IP_OPTIONS を追加しました
  • pwritev 関数を実装しました (ファイルを nginx/PHP-FPMにアップロード中) [GH 1506]
  • IP ソケット オプションを追加しました: IP_MULTICAST_IF & および IPV6_MULTICAST_IF [GH 990]
  • ソケット オプション IP_MULTICAST_LOOP および IPV6_MULTICAST_LOOP に対するサポート [GH 1678]
  • アプリ ノード、traceroute、dig、nslookup、host の IP(V6)_MTU ソケット オプションを追加しました
  • IP ソケット オプションのIPV6_UNICAST_HOPSを追加しました
  • ファイルシステムの機能強化
    • UNC パスのマウントを許可する
    • drvfs で CDFS サポートを有効にする
    • drvfs のネットワーク ファイル システムのアクセス許可を正しく処理する
    • drvfs にリモート ドライブのサポートを追加する
    • drvfs で FAT サポートを有効にする
  • その他の修正と機能強化

LTP の結果

15042 以降は変更なし


ビルド 16170

ビルド 16170 の一般的な Windows 情報については、Windows ブログを参照してください。

新しい ブログ投稿 を公開し、WSL をテストするための取り組みについて議論しました。

修正済み

  • ソケット オプション IP_ADD_MEMBERSHIP および IPV6_ADD_MEMBERSHIP のサポート [GH 1678]
  • PTRACE_OLDSETOPTIONSのサポートを追加します。 [GH 1692]
  • その他の修正と機能強化

LTP の結果

15042 以降は変更なし


Windows 10 Creators Update ビルド 15046

Windows 10 の Creators Update に含める予定の WSL 修正プログラムや機能はこれ以上ありません。 WSL のリリース ノートは、次の主要な Windows Update を対象とした追加のために、今後数週間以内に再開されます。 ビルド 15046 および今後の Insider リリースに関する一般的な Windows 情報については、Windows ブログを参照してください。


ビルド 15042

ビルド 15042 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • ".." で終わるパスを削除するときのデッドロックを修正しました。
  • 成功すると FIONBIO が 0 を返さない問題を修正しました [GH 1683]
  • inet データグラム ソケットの長さゼロの読み取りの問題を修正しました
  • drvfs inode 参照での競合状態が原因で発生する可能性があるデッドロックを修正 [GH 1675]
  • unix ソケット補助データの拡張サポート。SCM_CREDENTIALSとSCM_RIGHTS [GH 514, 613, 1326]
  • その他の修正と機能強化

LTP の結果:

合格テストの数: 737
不合格 (失敗、スキップなど) の数: 255


ビルド 15031

ビルド 15031 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • time(2) が散発的に不適切な動作をするバグを修正しました。
  • *SIGPROCMASK syscalls がシグナル マスクを破損する可能性がある問題を修正しました。
  • 次に、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]
  • その他の修正と機能強化

LTP の結果:

合格テスト数: 737
不合格 (失敗、スキップなど): 255


ビルド 15025

ビルド 15025 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • grep 2.27 を壊したバグの修正 [GH 1578]
  • eventfd2 syscall の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() syscall を実装する [GH 1531]
  • epoll_wait() が待機していないバグを修正しました [GH 1609]
  • /proc/version_signature を実装する
  • 両方のファイル記述子が同じパイプを参照している場合、Tee syscall がエラーを返すようになりました
  • Unix ソケットのSO_PEERCREDに対して正しい動作を実装しました
  • tkill syscall の無効なパラメーター処理を修正しました
  • drvfs のパフォーマンスを向上させる変更
  • Ruby IO ブロックの軽微な修正
  • inet ソケットのMSG_DONTWAIT フラグに対して EINVAL を返す recvmsg() を修正しました [GH 1296]
  • その他の修正と機能強化

LTP の結果:

合格テスト数: 732
不合格 (失敗、スキップなど) の数: 255


ビルド 15019

ビルド 15019 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • htop (GH 823、945、971) などのツールの procfs で CPU 使用率が誤って報告されるバグを修正しました
  • 既存のファイルに対して open() を O_TRUNC モードで呼び出すと、inotify はまず IN_MODIFY を生成し、その後に IN_OPEN を生成するようになりました。
  • Postgress を有効にするための UNIX ソケット getsockopt SO_ERROR に対する修正 [GH 61、1354]
  • GO 言語用に /proc/sys/net/core/somaxconn を実装する
  • Apt-get パッケージの更新バックグラウンドタスクが画面に表示されずに実行されるようになりました。
  • ipv6 localhost における Spring-Framework(Java) の失敗の範囲を明確にする。
  • その他の修正と機能強化

LTP の結果:

合格テストの数: 714
非合格 (失敗、スキップなど) の数: 249


ビルド 15014

ビルド 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 ソケット オプション (GH 69) での nslookup エラーを修正しました
  • ソケット オプションのIP_RECVTTLとIPV6_RECVHOPLIMITのサポート
  • その他の修正と機能強化

LTP の結果:

合格テストの数: 709
非合格 (失敗、スキップなど) の数: 255

Syscall の概要

合計システムコール: 384
合計実装済み: 235
合計スタブ済み: 22
合計未実装: 127


ビルド 15007

ビルド 15007 の一般的な Windows 情報については、Windows ブログを参照してください。

既知の問題

  • コンソールが Ctrl + <key> 入力を認識しないという既知のバグがあります。 これには、通常の 'c' キー押下として機能する ctrl + c コマンドが含まれます。

    • 回避策: 代替キーを Ctrl + C にマップします。 たとえば、Ctrl + K を Ctrl + C にマップするには、stty intr \^kします。 このマッピングはターミナルごとに行われ、bash が起動されるたびに 行う必要があります。 ユーザーは、.bashrc にこれを含めるオプションを調べることができます

修正済み

  • WSL を実行すると CPU コアの 100% が消費される問題を修正しました
  • ソケット オプション IP_PKTINFO、IPV6_RECVPKTINFOサポートされるようになりました。 (GH #851、987)
  • ネットワーク インターフェイスの物理アドレスを lxcore で 16 バイトに切り捨てる (GH #1452、1414、1343、468、308)
  • その他の修正と機能強化

LTP の結果:

合格テストの数: 709
非合格 (失敗、スキップなど) の数: 255


ビルド 15002

ビルド 15002 の一般的な Windows 情報については、Windows ブログを参照してください。

既知の問題

2 つの既知の問題:

  • コンソールが Ctrl + <key> 入力を認識しないという既知のバグがあります。 これには、通常の 'c' キー押下として機能する ctrl + c コマンドが含まれます。

    • 回避策: 代替キーを Ctrl + C にマップします。 たとえば、Ctrl + K を Ctrl + C にマップするには、stty intr \^kします。 このマッピングはターミナルごとに行われ、bash が起動されるたびに 行う必要があります。 ユーザーは、.bashrc にこれを含めるオプションを調べることができます
  • WSL が実行されている間、システム スレッドは CPU コアの 100% を消費します。 根本原因は内部的に対処され、修正されています。

修正済み

  • すべての 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)
  • INET ソケット オプションのIP_MTU_DISCOVERを実装 (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)
  • elf解析ロジックにおいて、プログラムヘッダーがPATH_MAX以下であるべき条件を誤って検証していた問題を修正しました。 (GH #1048)
  • procfs、sysfs、cgroupfs、binfmtfs の statfs コールバックを実装しました (GH #1378)
  • 閉じられない AptPackageIndexUpdate ウィンドウを修正しました (GH #1184、GH #1193 でも説明)
  • ASLR パーソナリティ ADDR_NO_RANDOMIZE のサポートを追加しました。 (GH #1148、1128)
  • PTRACE_GETSIGINFO と SIGSEGV が、AV 中の適切な gdb スタックトレースを実現するために改善されました (GH #875)
  • patchlf バイナリのエルフ解析が失敗しなくなりました。 (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)の下の作業ディレクトリにアクセスできない場合に表示されるエラーメッセージを追加しました。
  • WSL で Windows パスが切り捨てられた問題を修正しました
  • その他の修正と機能強化

LTP の結果:

合格テスト数: 690
不合格 (失敗、スキップなど): 274


Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

shmctl
shmget
shmdt
shmat

ビルド 14986

ビルド 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 バイトのハードウェア アドレスを出力できません。
  • その他の修正と機能強化

LTP の結果:

合格テスト数: 669
不合格 (失敗、スキップなど): 258


Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

timer_create
timer_delete
timer_gettime
timer_settime

ビルド 14971

ビルド 14971 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 制御できない状況のため、このビルドでは Linux 用 Windows サブシステムの更新プログラムはありません。 定期的にスケジュールされた更新プログラムは、次のリリースで再開されます。

LTP の結果:

14965
合格テスト数から変更なし: 664
非合格数 (失敗、スキップなど): 263


ビルド 14965

ビルド 14965 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • NetlinkソケットのプロトコルNETLINK_ROUTEにおけるRTM_GETLINKとRTM_GETADDRのサポート (GH #468)

    • ネットワーク列挙の ifconfig コマンドと ip コマンドを有効にします
  • /sbin が既定でユーザーのパスに含まれるようになりました

  • NT ユーザー パスが既定で WSL パスに追加されるようになりました (つまり、System32 を Linux パスに追加せずに 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)

  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 664
不合格 (失敗、スキップなど): 263


ビルド 14959

ビルド 14959 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • Windows 用の改善されたピコ プロセス通知。 WSL ブログに関する追加情報が記載されています。
  • Windows の相互運用性による安定性の向上
  • Enterprise Data Protection (EDP) が有効になっているときに bash.exe を起動するときのエラー 0x80070057を修正しました
  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 665
非合格数 (失敗、スキップなど): 263


ビルド 14955

ビルド 14955 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 制御できない状況のため、このビルドでは Linux 用 Windows サブシステムの更新プログラムはありません。 定期的にスケジュールされた更新プログラムは、次のリリースで再開されます。

LTP の結果:

合格テスト数: 665
非合格数 (失敗、スキップなど): 263


ビルド 14951

ビルド 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 の有効期間に関連付ける必要がある
  • コンソール ウィンドウのサイズは、バッファー サイズではなく、表示サイズを使用する必要があります
  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 665
非合格数 (失敗、スキップなど): 263


ビルド 14946

ビルド 14946 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • スペースまたは引用符を含む NT ユーザー名を持つユーザーの WSL ユーザー アカウントを作成できなくなる問題を修正しました。

  • 統計内のディレクトリのリンク数に対して 0 を返すように VolFs と DrvFs を変更する

  • IPV6_MULTICAST_HOPSソケットオプションをサポートします。

  • tty ごとに 1 つのコンソール I/O ループに制限します。 例: 次のコマンドを使用できます。

    • bash -c "echo data" |bash -c "ssh user@example.com 'cat > foo.txt'"
  • /proc/cpuinfo のスペースをタブに置き換える (GH #1115)

  • マウントされた Windows ボリュームと一致する名前を持つ DrvFs が mountinfo に表示されるようになりました

  • /home と /root が正しい名前の mountinfo に表示されるようになりました

  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 665
非合格数 (失敗、スキップなど): 263


ビルド 14942

ビルド 14942 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • SSH をブロックしていた "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" ネットワーク クラッシュを含め、複数のバグチェックに対処しました
  • DrvFs 上の Windows アプリケーションから生成された通知のサポートが inotify に追加されました。
  • mongod のTCP_KEEPIDLEとTCP_KEEPINTVLを実装します。 (GH #695)
  • pivot_root システム呼び出しを実装する
  • SO_DONTROUTEのソケット オプションを実装する
  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 665
非合格数 (失敗、スキップなど): 263

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

pivot_root

ビルド 14936

ビルド 14936 の一般的な Windows 情報については、Windows ブログを参照してください。

注: WSL は、今後のリリースで Ubuntu 14.04 (Trusty) ではなく Ubuntu バージョン 16.04 (Xenial) をインストールします。 この変更は、新しいインスタンス (lxrun.exe /install または bash.exeの最初の実行) をインストールする Insider に適用されます。 Trusty を持つ既存のインスタンスは自動的にはアップグレードされません。 ユーザーは do-release-upgrade コマンドを使用して、Trusty イメージを Xenial にアップグレードできます。

既知の問題

WSL では、一部のソケット実装で問題が発生しています。 バグチェックを実行するとクラッシュし、エラー "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" が出されます。 この問題の最も一般的な症状は、ssh を使用するときのクラッシュです。 根本原因は内部ビルドで修正され、できるだけ早い機会に Insider にプッシュされます。

修正済み

  • chroot システム呼び出しを実装しました
  • DrvFs 上の Windows アプリケーションから生成された通知のサポートを含む、inotify の機能強化
    • 修正: 現時点では Windows アプリケーションによって発生した変更に対する Inotify のサポートは利用できません。
  • IPV6::<port n> へのソケット バインドで IPV6_V6ONLY がサポートされるようになりました (GH #68、#157、#393、#460、#674、#740、#982、#996)
  • waitid systemcall の WNOWAIT 動作が実装されました (GH #638)
  • IP ソケット オプションのIP_HDRINCLとIP_TTLのサポート
  • 長さ 0 の read() はすぐに返されます (GH #975)
  • .tar ファイルに NULL ターミネータを含まないファイル名とファイル名プレフィックスを正しく処理します。
  • /dev/null の epoll のサポート
  • /dev/alarm タイム ソースを修正
  • Bash -c ファイルにリダイレクトできるようになりました
  • その他のバグ修正と機能強化

LTP の結果:

合格テスト数: 664
非合格数 (失敗、スキップなど): 264

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

chroot

ビルド 14931

ビルド 14931 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 制御できない状況のため、このビルドでは Linux 用 Windows サブシステムの更新プログラムはありません。 定期的にスケジュールされた更新プログラムは、次のリリースで再開されます。

ビルド 14926

ビルド 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がサポートされるようになりました

LTP の結果:

合格テスト数: 651
不合格 (失敗、スキップなど): 258


ビルド 14915

ビルド 14915 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • UNIX データグラム ソケットに対する Socketpair (GH #262)
  • SO_REUSEADDRに対する Unix ソケットのサポート
  • SO_BROADCASTの UNIX ソケットのサポート (GH #568)
  • SOCK_SEQPACKETの Unix ソケットのサポート (GH #758、#546)
  • unix データグラムソケットの送信、受信 (recv)、およびシャットダウンのサポートを追加する
  • 固定されていないアドレスに対する無効な mmap パラメーター検証によるバグチェックの修正。 (GH #847)
  • ターミナル状態の中断/再開のサポート
  • 画面ユーティリティのブロックを解除するための TIOCPKT ioctl のサポート (GH #774)
    • 既知の問題: ファンクション キーが動作しない
  • 解放されたメンバー 'ReaderReady' が LxpTimerFdWorkerRoutine によってアクセスされる原因となる TimerFd での競合を修正しました (GH #814)
  • futex、poll、および clock_nanosleep の再起動可能なシステムコールサポートを有効にする
  • バインド マウントのサポートを追加しました
  • マウント名前空間に対する unshare のサポート
    • 既知の問題: unshare(CLONE_NEWNS) を使用して新しいマウント名前空間を作成すると、現在の作業ディレクトリは引き続き古い名前空間を指し示します
  • その他の機能強化とバグ修正

ビルド 14905

ビルド 14905 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 再起動可能なシステム呼び出しがサポートされるようになりました (GH #349、GH #520)
  • /で終わるディレクトリへのシンボリックリンクが現在機能しています(GH #650)
  • /dev/random 用に RNDGETENTCNT ioctl を実装しました
  • /proc/[pid]/mounts、/proc/[pid]/mountinfo、/proc/[pid]/mountstats ファイルを実装しました
  • その他のバグ修正と機能強化

ビルド 14901

Windows 10 Anniversary Update リリース後の最初の Insider ビルド。

ビルド 14901 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 末尾のスラッシュの問題を修正しました
    • $ mv a/c/ a/b/ などのコマンドが機能するようになりました
  • インストール中に、UbuntuのロケールをWindowsのロケールに設定するかどうかを確認するメッセージが表示されるようになりました。
  • ns フォルダーの Procfs のサポート
  • tmpfs、procfs、および sysfs ファイル システムのマウントとマウント解除を追加しました
  • 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 syscalls を listxattr に合わせる
  • SIOCGIFCONF から有効な IPv4 アドレスを持つインターフェイスのみを返す
  • ptrace によって挿入された場合のシグナルの既定のアクションを修正する
  • /proc/sys/vm/min_free_kbytesを実装する
  • sigreturn でコンテキストを復元するときにマシン コンテキスト レジスタ値を使用する
    • これにより、一部のユーザーで java と javac がハングしていた問題が解決されます
  • /proc/sys/kernel/hostname を実装する

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

waitid
epoll_pwait


Windows 10 Anniversary Update のビルド 14388

ビルド 14388 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 8/2 の Windows 10 Anniversary Update の準備に関する修正
    • Anniversary Update の WSL の詳細については、ブログ を参照してください。

ビルド 14376

ビルド 14376 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • apt-get がハングする一部のインスタンスを削除しました (GH #493)
  • 空のマウントが正しく処理されない問題を修正しました
  • ramdisks が正しくマウントされない問題を修正しました
  • フラグをサポートするように UNIX ソケット accept を変更 (一部 GH #451)
  • 一般的なネットワーク関連のブルースクリーンを修正しました
  • /proc/[pid]/task にアクセスするときのブルースクリーンを修正しました (GH #523)
  • 一部の pty シナリオで CPU 使用率が高くなる問題を修正しました (GH #488、#504)
  • その他のバグ修正と機能強化

ビルド 14371

ビルド 14371 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • ptrace を使用するときの SIGCHLD と wait () のタイミングの競合を修正しました
  • パスに末尾 / (GH #432) がある場合の一部の動作を修正しました
  • 子へのハンドルを開いたために名前の変更/リンク解除が失敗する問題を修正しました
  • その他のバグ修正と機能強化

ビルド 14366

ビルド 14366 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • シンボリック リンクを使用したファイル作成の修正
  • Python 用 listxattr を追加しました (GH 385)
  • その他のバグ修正と機能強化

Syscall のサポート

  • WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

listxattr

ビルド 14361

ビルド 14361 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • Windows で Ubuntu の Bash を実行しているときに、DrvFs が大文字と小文字を区別するようになりました。
    • ユーザーは /mnt/c ドライブで case.txt を実行し、CASE.TXTを操作できます。
    • ケースセンシティブは、Windows 上の Ubuntu Bash でのみサポートされます。 Bash NTFS の外部ではファイルが正しく報告されますが、Windows からのファイルとの対話中に予期しない動作が発生する可能性があります。
    • 各ボリュームのルート (つまり、/mnt/c) では大文字小文字が区別されません
    • Windows でこれらのファイルを処理する方法の詳細については、を参照してください。
  • pty/tty のサポートが大幅に強化されました。 TMUX などのアプリケーションがサポートされるようになりました (GH #40)
  • ユーザー アカウントが常に作成されるとは限らないインストールの問題を修正しました
  • 非常に長い引数リストを可能にする最適化されたコマンドライン引数構造。 (GH #153)
  • DrvFs からファイルを削除して chmod read_onlyできるようになりました
  • ターミナルが切断時にハングする一部のインスタンスを修正しました (GH #43)
  • chmod と chown が tty デバイスで動作するようになりました
  • 0.0.0.0 と :: への接続を localhost として許可する (GH #388)
  • Sendmsg/recvmsg が IO ベクター長の >1 を処理するようになりました (部分的な GH #376)
  • ユーザーが自動生成された hosts ファイルをオプトアウトできるようになりました (GH #398)
  • インストール中に Linux ロケールを NT ロケールに自動的に一致させる (GH #11)
  • /proc/sys/vm/swappiness ファイルを追加しました (GH #306)
  • strace が正常に終了するようになりました
  • /proc/self/fd を使用してパイプを再度開くことを許可する (GH #222)
  • %LOCALAPPDATA%\lxss の下のディレクトリを DrvFs から非表示にする (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 syscall に正しく報告しました (GH #172、#258)
  • ピコ プロセス イメージ名のレポートの改善 (監査用など)
  • df コマンド用に /proc/mountinfo を実装しました
  • 子名のシンボリック リンクのエラー コードを修正しました。 そして。。
  • その他のバグ修正と機能強化

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE

ビルド 14352

ビルド 14352 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • 大きなファイルが正しくダウンロード/作成されない問題を修正しました。 これにより、npm やその他のシナリオ (GH #3、GH #313) のブロックを解除する必要があります
  • ソケットがハングする一部のインスタンスを削除しました
  • いくつかの ptrace エラーを修正しました
  • WSL で 255 文字を超えるファイル名を許可する問題を修正しました
  • 英語以外の文字のサポートが強化されました
  • 現在の Windows タイムゾーン データを追加し、既定として設定する
  • 各マウント ポイントの一意のデバイス ID (jre fix – GH #49)
  • "." と "." を含むパスに関する問題を修正しました。
  • Fifo のサポートを追加しました (GH #71)
  • ネイティブ Ubuntu 形式に一致するように resolv.conf の形式を更新しました
  • 一部の procfs のクリーンアップ
  • 管理者コンソールに対して ping を有効にしました (GH #18)

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

FALLOCATE
EXECVE
LGETXATTR
FGETXATTR

ビルド 14342

ビルド 14342 の一般的な Windows 情報については、Windows ブログ

VolFs と DriveF の情報は、WSL ブログで確認できます。

修正済み

  • Windows ユーザーがユーザー名に Unicode 文字を持っていた場合のインストールの問題を修正しました
  • FAQ の apt-get update udev 回避策は、初回実行時に既定で提供されるようになりました
  • DriveFs (/mnt/<drive>) ディレクトリでシンボリック リンクを有効にしました
  • Symlinks が DriveFs と VolFs の間で機能するようになりました
  • 最上位レベルのパス解析の問題に対処しました: ls .// が期待どおりに動作するようになりました
  • DriveF への npm インストールと -g オプションが動作するようになりました
  • PHP サーバーの起動を妨げる問題を修正しました
  • ネイティブ Ubuntu に近い$PATHなど、既定の環境値を更新しました
  • apt パッケージ キャッシュを更新するための週単位のメンテナンス タスクを Windows に追加しました
  • ELF ヘッダーの検証に関する問題を修正しました。WSL ではすべての Melkor オプションがサポートされるようになりました
  • Zsh シェルは機能しています
  • プリコンパイル済み Go バイナリがサポートされるようになりました
  • 初回実行時 Bash.exe プロンプトが正しくローカライズされるようになりました
  • /proc/meminfo が正しい情報を返すようになりました
  • VFS でソケットがサポートされるようになりました
  • /dev が tempfs としてマウントされるようになりました
  • Fifo がサポートされるようになりました
  • マルチコア システムが /proc/cpuinfo で正しく表示されるようになりました
  • 初回実行時の追加の機能強化とエラー メッセージのダウンロード
  • Syscall の機能強化とバグ修正。 サポートされている syscall リストを以下に示します。
  • その他のバグ修正と機能強化

既知の問題

  • '..' を解決していません が正しく解決されません

Syscall のサポート

WSL で実装されている新規または拡張 syscall の一覧を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

ビルド 14332

ビルド 14332 の一般的な Windows 情報については、Windows ブログを参照してください。

修正済み

  • DNS エントリの優先順位付けを含む resolv.conf の生成の向上
  • /mnt ドライブと非/mnt ドライブ間でのファイルとディレクトリの移動に関する問題
  • tar ファイルをシンボリック リンクで作成できるようになりました
  • インスタンスの作成時に既定の /run/lock ディレクトリを追加しました
  • /dev/null を更新して適切な統計情報を返す
  • 初回実行時のダウンロード時の追加エラー
  • Syscall の機能強化とバグ修正。 サポートされている syscall リストを以下に示します。
  • その他のバグ修正と機能強化

Syscall のサポート

WSL に実装されている新しい syscall を次に示します。 この一覧の syscall は、少なくとも 1 つのシナリオでサポートされていますが、現時点ではすべてのパラメーターがサポートされていない可能性があります。

READLINKAT

ビルド 14328

ビルド 14332 の一般的な Windows 情報については、Windows ブログを参照してください。

新機能

  • Linux ユーザーをサポートするようになりました。 Windows に Bash on Ubuntu をインストールすると、Linux ユーザーの作成を求められます。 詳細については、https://aka.ms/wslusers を参照してください。
  • ホスト名がWindowsコンピューター名に設定され、@localhostはもうありません。
  • ビルド 14328 の詳細については、https://aka.ms/wip14328 を参照してください。

修正済み

  • /mnt/<drive> 以外のファイルに対するシンボリック リンクの機能強化
    • npm のインストールが機能するようになりました
    • jdk / jre は、こちらの説明を使用してインストールできるようになりました。
    • 既知の問題: シンボリック リンクは Windows マウントでは機能しません。 機能は後のビルドで使用できるようになります
  • top と htop が表示されるようになりました
  • 一部のインストール エラーに関する追加のエラー メッセージ
  • Syscall の機能強化とバグ修正。 サポートされている syscall リストを以下に示します。
  • その他のバグ修正と機能強化

Syscall のサポート

WSL で実装されている syscall の一覧を次に示します。 この一覧の Syscall は、少なくとも 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