适用于 Linux 的 Windows 子系统的发行说明Release Notes for Windows Subsystem for Linux

生成18945Build 18945

有关生成18945的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18945 visit the Windows blog.

WSLWSL

  • [WSL2]允许使用 localhost: port 通过主机访问 WSL2 中的侦听 tcp 套接字[WSL2] Allow listening tcp sockets in WSL2 to be accessible from the host by using localhost:port
  • [WSL2]修复了安装/转换失败和其他诊断以跟踪未来的问题 [GH 4105][WSL2] Fixes for install / conversion failures and additional diagnostics to track down future issues [GH 4105]
  • [WSL2]提高 WSL2 网络问题的诊断[WSL2] Improve diagnosability of WSL2 network issues
  • [WSL2]将内核版本更新为4.19.55[WSL2] Update kernel version to 4.19.55
  • [WSL2]更新 docker 所需的配置选项的内核 [GH 4165][WSL2] Update kernel with config options required for docker [GH 4165]
  • [WSL2]增加分配给轻型实用程序 VM 的 Cpu 数量, 使其与主机相同 (以前的内核配置中的 CONFIG_NR_CPUS 上限为 8) [GH 4137][WSL2] Increase the number of CPUs assigned to the lightweight utility VM to be the same as the host (was previously capped at 8 by CONFIG_NR_CPUS in the kernel config) [GH 4137]
  • [WSL2]为 WSL2 轻型 VM 创建交换文件[WSL2] Create a swap file for the WSL2 lightweight VM
  • [WSL2]允许通过\ \wsl$\发行版 (例如 sshfs) 查看用户装载 [GH 4172][WSL2] Allow user mounts to be visible via \\wsl$\distro (for example sshfs) [GH 4172]
  • [WSL2]提高9p 文件系统性能[WSL2] Improve 9p filesystem performance
  • [WSL2]确保 vhd ACL 不会增长无限 [GH 4126][WSL2] Ensure vhd ACL does not grow unbounded [GH 4126]
  • [WSL2]更新内核配置以支持 squashfs 和 xt_conntrack [GH 4107, 4123][WSL2] Update kernel config to support squashfs and xt_conntrack [GH 4107, 4123]
  • [WSL2]修复了互操作。 enabled/etc/wsl.conf 选项 [GH 4140][WSL2] Fix for interop.enabled /etc/wsl.conf option [GH 4140]
  • [WSL2]如果文件系统不支持 EAs, 则返回 ENOTSUP[WSL2] Return ENOTSUP if the file system does not support EAs
  • [WSL2]Fix CopyFile 挂起 with \ \wsl $[WSL2] Fix CopyFile hang with \\wsl$
  • 将默认 umask 切换到 0022, 并将 umask 设置设置为/etc/wsl.confSwitch default umask to 0022 and add filesystem.umask setting to /etc/wsl.conf
  • 修复 wslpath 以正确解析符号链接, 这是19h1 中的回归 [GH 4078]Fix wslpath to properly resolve symlinks, this was regressed in 19h1 [GH 4078]
  • 引入% UserProfile%\. wslconfig 文件以调整 WSL2 设置Introduce %UserProfile%\.wslconfig file for tweaking WSL2 settings
[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

生成18917Build 18917

有关生成18917的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18917 visit the Windows blog.

WSLWSL

  • WSL 2 现已可用!WSL 2 is now available! 有关更多详细信息, 请参阅博客Please see blog for more details.
  • 解决通过符号链接启动 Windows 进程时无法正常工作的回归 [GH 3999]Fix a regression where launching Windows processes via symlinks did not work correctly [GH 3999]
  • 将 wsl--list--verbose、wsl--list--quiet 和 wsl--import--import-Add wsl.exe --list --verbose, wsl.exe --list --quiet, and wsl.exe --import --version options to wsl.exe
  • 添加 wsl--shutdown 选项Add wsl.exe --shutdown option
  • 计划 9:允许打开目录进行写入成功Plan 9: Allow opening a directory for write to succeed

生成18890Build 18890

有关生成18890的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18890 visit the Windows blog.

WSLWSL

  • 非阻塞套接字泄露 [GH 2913]Non-blocking socket leak [GH 2913]
  • 到 terminal 的 EOF 输入会阻止后续读取 [GH 3421]EOF input to terminal can block subsequent reads [GH 3421]
  • 更新 resolv.conf 标头以引用 wsl [在 GH 3928 中讨论]Update resolv.conf header to refer to wsl.conf [discussed in GH 3928]
  • Epoll 删除代码中的死锁 [GH 3922]Deadlock in epoll delete code [GH 3922]
  • 处理中的空格--import 和– export [GH 3932]Handle spaces in arguments to --import and –export [GH 3932]
  • 扩展 mmap 的文件无法正常工作 [GH 3939]Extending mmap’d files does not work properly [GH 3939]
  • 解决 ARM64 \wsl $ access 无法正常工作的问题Fix issue with ARM64 \wsl$ access not working properly
  • 为 wsl 添加更好的默认图标Add better default icon for wsl.exe

生成18342Build 18342

有关生成18342的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18342 visit the Windows blog.

WSLWSL

  • 我们添加了一项功能, 使用户能够从 Windows 访问 WSL 发行版中的 Linux 文件。We've added the ability for users to access Linux files in a WSL distro from Windows. 可以通过命令行访问这些文件, 并且 Windows 应用 (如文件资源管理器、VSCode 等) 可与这些文件进行交互。These files can be accessed through the command line, and also Windows apps, like file explorer, VSCode, etc. can interact with these files. 通过\\ \导航到\wsl $ < distro_name > 访问文件, 或通过导航到 wsl $ 查看正在运行的分发的列表\Access your files by navigating to \\wsl$\<distro_name>, or see a list of running distributions by navigating to \\wsl$
  • 添加额外的 CPU 信息标记并修复 Cpus_allowed [_list] 值 [GH 2234]Add additional CPU info tags and fix Cpus_allowed[_list] values [GH 2234]
  • 支持非前导线程中的 exec [GH 3800]Support exec from non-leader thread [GH 3800]
  • 将配置更新失败视为非致命的 [GH 3785]Treat configuration update failures as non-fatal [GH 3785]
  • 更新 binfmt 以正确处理偏移量 [GH 3768]Update binfmt to properly handle offsets [GH 3768]
  • 为计划9启用映射网络驱动器 [GH 3854]Enable mapping network drives for Plan 9 [GH 3854]
  • 支持 Windows > Linux 和 Linux-> 用于绑定装载的 Windows 路径转换Support Windows -> Linux and Linux -> Windows path translation for bind mounts
  • 为以只读打开的文件中的映射创建只读部分Create read-only sections for mappings on files opened read-only

生成18334Build 18334

有关生成18334的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18334 visit the Windows blog.

WSLWSL

  • 重新设计 Windows 时区映射到 Linux 时区的方式 [GH 3747]Redesign the way that Windows time zone is mapped to a Linux time zone [GH 3747]
  • 修复内存泄漏并添加新的字符串转换函数 [GH 3746]Fix memory leaks and add new string translation functions [GH 3746]
  • 不带线程的 threadgroup 上的 SIGCONT 是一种无操作 [GH 3741]SIGCONT on a threadgroup with no threads is a no-op [GH 3741]
  • 正确显示/proc/self/fd 中的套接字和 epoll 文件描述符Correctly display socket and epoll file descriptors in /proc/self/fd

生成18305Build 18305

有关生成18305的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18305 visit the Windows blog.

WSLWSL

  • 主线程退出时, pthreads 将失去对文件的访问权限 [GH 3589]pthreads lose access to files when the primary thread exits [GH 3589]
  • 除非需要, 否则 TIOCSCTTY 应忽略 "force" 参数 [GH 3652]TIOCSCTTY should ignore the “force” parameter unless it is required [GH 3652]
  • wsl 命令行改进并添加了导入/导出功能。wsl.exe command line improvements and addition of import / export functionality.
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.

生成18277Build 18277

有关生成18277的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18277 visit the Windows blog.

WSLWSL

  • 修复了生成 18272 [GH 3645] 中引入的 "不支持此类接口" 错误Fix "no such interface supported" error introduced in build 18272 [GH 3645]
  • 忽略卸载 syscall [GH 3605] 的 MNT_FORCE 标志Ignore the MNT_FORCE flag for umount syscall [GH 3605]
  • 切换 WSL 互操作以使用官方 CreatePseudoConsole APISwitch WSL interop to use the official CreatePseudoConsole API
  • FUTEX_WAIT 重新启动时保持无超时值Maintain no timeout value when FUTEX_WAIT restarts

生成18272Build 18272

有关生成18272的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18272 visit the Windows blog.

WSLWSL

  • 警告: 在此版本中, 导致 WSL 不可操作的问题。WARNING: There is an issue in this build that makes WSL inoperable. 尝试启动分发时, 将看到 "不支持此类接口" 错误。When trying to launch your distribution you will see a “No such interface supported” error. 此问题已修复, 将在下一周的预览体验期内提供。The issue has been fixed and will be in next week's Insider Fast build. 如果已安装此版本, 则可以使用 "设置-> 更新 & 安全 > 恢复", 在 "设置-更新" 中回滚到以前的 Windows 版本。If you've installed this build you can roll back to the previous Windows build using “Go back to the previous version of Windows 10” in Settings->Update & Security->Recovery.

生成18267Build 18267

有关生成18267的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18267 visit the Windows blog.

WSLWSL

  • 修复了傀儡过程不会 reaped 并始终处于无限期的问题。Fix issue where zombie process may not be reaped and remain indefinitely.
  • 如果错误消息超过最大长度, 则 WslRegisterDistribution 挂起 [GH 3592]WslRegisterDistribution hangs if error message exceeds max length [GH 3592]
  • 允许 fsync 对 DrvFs 上的只读文件成功 [GH 3556]Allow fsync to succeed for read-only files on DrvFs [GH 3556]
  • 在 [GH 3584] 中创建符号链接之前, 请确保/bin 和/sbin 目录存在Ensure that /bin and /sbin directories exist before creating symlinks inside [GH 3584]
  • 添加了 WSL 实例的实例终止超时机制。Added an instance termination timeout mechanism for WSL instances. 超时值当前设置为15秒, 这意味着实例将在上一个 WSL 进程退出15秒后终止。The timeout is currently set to 15 seconds, meaning the instance will terminate 15 seconds after the last WSL process exits. 若要立即终止分发, 请使用:To terminate a distribution immediately, use:
wslconfig.exe /terminate <DistributionName>

版本 17763 (1809)Build 17763 (1809)

有关生成17763的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17763 visit the Windows blog.

WSLWSL

  • Setpriority syscall 权限检查太严格, 无法更改相同的线程优先级 [GH 1838]Setpriority syscall permission check too strict for changing same thread priority [GH 1838]
  • 确保使用无偏差中断时间进行启动时间, 以避免返回 clock_gettime (CLOCK_BOOTTIME) 的负值 [GH 3434]Ensure that unbiased interrupt time is used for boot time to avoid returning negative values for clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • 在 WSL binfmt 解释器中处理符号链接 [GH 3424]Handle symlinks in the WSL binfmt interpreter [GH 3424]
  • 更好地处理 threadgroup 前导文件描述符清理。Better handling of threadgroup leader file descriptor cleanup.
  • 切换 WSL 以使用 KeQueryInterruptTimePrecise 而不是 KeQueryPerformanceCounter 来避免溢出 [GH 3252]Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
  • Ptrace attach 可能会导致来自系统调用的错误返回值 [GH 1731]Ptrace attach may cause bad return value from system calls [GH 1731]
  • 解决几个 AF_UNIX 相关问题 [GH 3371]Fix several AF_UNIX related issues [GH 3371]
  • 修复了以下问题: 如果当前工作目录长度少于5个字符, 则可能导致 WSL 互操作失败 [GH 3379]Fix issue that could cause WSL interop to fail if the current working directory is less than 5 characters long [GH 3379]
  • 避免与不存在的端口发生环回连接时出现一秒钟延迟失败 [GH 3286]Avoid one second delay failing loopback connections to non-existent ports [GH 3286]
  • 添加/proc/sys/fs/file-max 存根文件 [GH 2893]Add /proc/sys/fs/file-max stub file [GH 2893]
  • 更准确的 IPV6 作用域信息。More accurate IPV6 scope information.
  • PR_SET_PTRACER 支持 [GH 3053]PR_SET_PTRACER support [GH 3053]
  • 管道文件系统意外清除边缘触发的 epoll 事件 [GH 3276]Pipe filesystem inadvertently clearing edge-triggered epoll event [GH 3276]
  • 通过 NTFS 符号启动的 Win32 可执行文件不遵守符号名称 [GH 2909]Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]
  • 改善了傀儡支持 [GH 1353]Improved zombie support [GH 1353]
  • 添加 wsl 项以控制 Windows 互操作行为 [GH 1493]Add wsl.conf entries for controlling Windows interop behavior [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • 修复 getsockname not always 返回 UNIX 套接字系列类型 [GH 1774]Fix for getsockname not always returning UNIX socket family type [GH 1774]
  • 添加对 TIOCSTI 的支持 [GH 1863]Add support for TIOCSTI [GH 1863]
  • 连接过程中的非阻止套接字应为写入尝试返回 EAGAIN [GH 2846]Non-blocking sockets in the process of connecting should return EAGAIN for write attempts [GH 2846]
  • 支持已装入 Vhd 上的互操作 [GH 3246, 3291]Support interop on mounted VHDs [GH 3246, 3291]
  • 修复根文件夹的权限检查问题 [GH 3304]Fix permission checking issue on root folder [GH 3304]
  • 对 TTY 键盘 ioctls KDGKBTYPE、KDGKBMODE 和 KDSKBMODE 的有限支持。Limited support for TTY keyboard ioctls KDGKBTYPE, KDGKBMODE and KDSKBMODE.
  • 即使在后台启动, 也应执行 Windows UI 应用。Windows UI apps should execute even when launched in the background.
  • 添加 wsl 或--user 选项 [GH 1203]Add wsl -u or --user option [GH 1203]
  • 启用快速启动时修复 WSL 启动问题 [GH 2576]Fix WSL launch issues when fast startup is enabled [GH 2576]
  • Unix 套接字需要保留断开连接的对等凭据 [GH 3183]Unix sockets need to retain disconnected peer credentials [GH 3183]
  • 非阻止 Unix 套接字通过 EAGAIN 无限期失败 [GH 3191]Non-blocking Unix sockets failing indefinitely with EAGAIN [GH 3191]
  • case = off 是新的默认 drvfs 装载类型 [GH 2937, 3212, 3328]case=off is the new default drvfs mount type [GH 2937, 3212, 3328]
    • 有关详细信息, 请参阅博客See blog for more information.
  • 添加 wslconfig/terminate 以停止正在运行的分发。Add wslconfig /terminate to stop running distributions.
  • 解决了无法正确处理带有空格的路径的 WSL shell 上下文菜单项的问题。Fix issue with the WSL shell context menu entries that do not correctly handle paths with spaces.
  • 公开作为扩展属性的每目录大小写敏感度Expose per-directory case sensitivity as an extended attribute
  • ARM64:模拟缓存维护操作。ARM64: Emulate cache maintenance operations. 解决dotnet 问题Resolve dotnet issue.
  • DrvFs: 只有专用范围中对应于转义字符的 unescape 字符。DrvFs: only unescape characters in the private range that correspond to an escaped character.
  • 修复 ELF 分析器解释器长度验证 [GH 3154] 中的一个错误Fix off-by-one error in ELF parser interpreter length validation [GH 3154]
  • WSL 包含过去时间的绝对计时器 [GH 3091]WSL absolute timers with a time in the past do not fire [GH 3091]
  • 确保新创建的重新分析点在父目录中列出为这样。Ensure newly created reparse points are listed as such in the parent directory.
  • 以原子方式创建 DrvFs 中的区分大小写的目录。Atomically create case sensitive directories in DrvFs.
  • 修复了一个额外的问题, 即即使文件存在, 多线程操作也可能返回 ENOENT。Fixed an additional issue where multithreaded operations could return ENOENT even though the file exists. [GH 2712][GH 2712]
  • 修复了 UMCI 启用时的 WSL 启动失败。Fixed WSL launch failure when UMCI is enabled. [GH 3020][GH 3020]
  • 添加浏览器上下文菜单以启动 WSL [GH 437, 603, 1836]。Add explorer context menu to launch WSL [GH 437, 603, 1836]. 若要使用, 请在浏览器窗口中按住 shift 键并右键单击。To use, hold shift and right-click when in an explorer window.
  • 修复 Unix 套接字非阻止行为 [GH 2822, 3100]Fix Unix socket non-blocking behavior [GH 2822, 3100]
  • 修复 GH 2026 中报告的挂起 NETLINK 命令。Fix hanging NETLINK command as reported in GH 2026.
  • 添加对装载传播标志的支持 [GH 2911]。Add support for mount propagation flags [GH 2911].
  • 修复了截断不会导致 inotify 事件 [GH 2978] 的问题。Fix issue with truncate not causing inotify events [GH 2978].
  • 添加--exec 选项, 用于 wsl, 以便在不使用 shell 的情况下调用单个二进制文件。Add --exec option for wsl.exe to invoke a single binary without a shell.
  • 添加--wsl 的分发选项, 以选择特定的发行版。Add --distribution option for wsl.exe to select a specific distro.
  • 对 dmesg 的有限支持。Limited support for dmesg. 现在, 应用程序可以登录到 dmesg。Applications can now log to dmesg. WSL 驱动程序将有限的信息记录到 dmesg。WSL driver logs limited information to dmesg. 将来, 可以通过扩展此功能从驱动程序携带其他信息/诊断。In future, this can be extended to carry other information/diagnostics from the driver.
    • 注意: 当前支持通过/dev/kmsg设备接口进行 dmesg。Note: dmesg is currently supported through the /dev/kmsg device interface. syslog目前尚不支持 syscall 接口。syslog syscall interface is not yet supported. 而且, 某些dmesg命令行选项-S(如) -C不起作用。And, so, some of the dmesg command line options such as -S, -C don't work.
  • 更改串行设备的默认 gid 和模式以匹配本机 [GH 3042]Change default gid and mode of serial devices to match native [GH 3042]
  • DrvFs 现在支持扩展属性。DrvFs now supports extended attributes.
    • 注意:DrvFs 对扩展属性的名称有一些限制。Note: DrvFs has some limitations on the name of extended attributes. 不允许使用某些字符 (如 "/"、":*" 和 ""), 并且扩展属性名称在 DrvFs 上不区分大小写Some characters (like '/', ':' and '*') are not allowed, and extended attribute names are not case sensitive on DrvFs

生成 18252 (向前跳过)Build 18252 (Skip Ahead)

有关生成18252的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18252 visit the Windows Blog.

WSLWSL

  • 将 init 和 bsdtar 二进制文件从 lxssmanager dll 移到单独的工具文件夹中Move init and bsdtar binaries out of lxssmanager dll and into a separate tools folder
  • 解决使用 CLONE_FILES 时关闭文件描述符的争用Fix race around closing file descriptor when using CLONE_FILES
  • 转换 DrvFs 路径时处理/proc/pid/mountinfo 中的可选字段Handle optional fields in /proc/pid/mountinfo when translating DrvFs paths
  • 允许 DrvFs mknod 成功而不支持 S_IFREG 的元数据Allow DrvFs mknod to succeed without metadata support for S_IFREG
  • 在 DrvFs 上创建的 readonly 文件应具有 readonly 属性集 [GH 3411]Readonly files created on DrvFs should have the readonly attribute set [GH 3411]
  • 添加/sbin/mount.drvfs helper 以处理 DrvFs 挂载Add /sbin/mount.drvfs helper to handle DrvFs mounting
  • 在 DrvFs 中使用 POSIX rename。Use POSIX rename in DrvFs.
  • 允许无卷 GUID 的卷上的路径转换。Allow path translation on volumes without a volume GUID.

生成 17738 (快速)Build 17738 (Fast)

有关生成17738的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17738 visit the Windows Blog.

WSLWSL

  • Setpriority syscall 权限检查太严格, 无法更改相同的线程优先级 [GH 1838]Setpriority syscall permission check too strict for changing same thread priority [GH 1838]
  • 确保使用无偏差中断时间进行启动时间, 以避免返回 clock_gettime (CLOCK_BOOTTIME) 的负值 [GH 3434]Ensure that unbiased interrupt time is used for boot time to avoid returning negative values for clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • 在 WSL binfmt 解释器中处理符号链接 [GH 3424]Handle symlinks in the WSL binfmt interpreter [GH 3424]
  • 更好地处理 threadgroup 前导文件描述符清理。Better handling of threadgroup leader file descriptor cleanup.

生成 17728 (快速)Build 17728 (Fast)

有关生成17728的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17728 visit the Windows Blog.

WSLWSL

  • 切换 WSL 以使用 KeQueryInterruptTimePrecise 而不是 KeQueryPerformanceCounter 来避免溢出 [GH 3252]Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
  • Ptrace attach 可能会导致来自系统调用的错误返回值 [GH 1731]Ptrace attach may cause bad return value from system calls [GH 1731]
  • 解决与 AF_UNIX 相关的问题 [GH 3371]Fix a number of AF_UNIX related issues [GH 3371]
  • 修复了以下问题: 如果当前工作目录长度少于5个字符, 则可能导致 WSL 互操作失败 [GH 3379]Fix issue that could cause WSL interop to fail if the current working directory is less than 5 characters long [GH 3379]

生成 18204 (向前跳过)Build 18204 (Skip Ahead)

有关生成18204的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 18204 visit the Windows Blog.

WSLWSL

  • 管道文件系统 inadvertenly 清除边缘-触发的 epoll 事件 [GH 3276]Pipe filesystem inadvertenly clearing edge-triggered epoll event [GH 3276]
  • 通过 NTFS 符号启动的 Win32 可执行文件不遵守符号名称 [GH 2909]Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]

生成 17723 (快速)Build 17723 (Fast)

有关生成17723的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17723 visit the Windows Blog.

WSLWSL

  • 避免与不存在的端口发生环回连接时出现一秒钟延迟失败 [GH 3286]Avoid one second delay failing loopback connections to non-existent ports [GH 3286]
  • 添加/proc/sys/fs/file-max 存根文件 [GH 2893]Add /proc/sys/fs/file-max stub file [GH 2893]
  • 更准确的 IPV6 作用域信息。More accurate IPV6 scope information.
  • PR_SET_PTRACER 支持 [GH 3053]PR_SET_PTRACER support [GH 3053]
  • 管道文件系统 inadvertenly 清除边缘-触发的 epoll 事件 [GH 3276]Pipe filesystem inadvertenly clearing edge-triggered epoll event [GH 3276]
  • 通过 NTFS 符号启动的 Win32 可执行文件不遵守符号名称 [GH 2909]Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]

生成17713Build 17713

有关生成17713的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17713 visit the Windows Blog.

WSLWSL

  • 改善了傀儡支持 [GH 1353]Improved zombie support [GH 1353]
  • 添加 wsl 项以控制 Windows 互操作行为 [GH 1493]Add wsl.conf entries for controlling Windows interop behavior [GH 1493]
      [interop]
    
      enabled=false # enable launch of Windows binaries; default is true
    
      appendWindowsPath=false # append Windows path to $PATH variable; default is true
    
  • 修复 getsockname not always 返回 UNIX 套接字系列类型 [GH 1774]Fix for getsockname not always returning UNIX socket family type [GH 1774]
  • 添加对 TIOCSTI 的支持 [GH 1863]Add support for TIOCSTI [GH 1863]
  • 连接过程中的非阻止套接字应为写入尝试返回 EAGAIN [GH 2846]Non-blocking sockets in the process of connecting should return EAGAIN for write attempts [GH 2846]
  • 支持已装入 Vhd 上的互操作 [GH 3246, 3291]Support interop on mounted VHDs [GH 3246, 3291]
  • 修复根文件夹的权限检查问题 [GH 3304]Fix permission checking issue on root folder [GH 3304]
  • 对 TTY 键盘 ioctls KDGKBTYPE、KDGKBMODE 和 KDSKBMODE 的有限支持。Limited support for TTY keyboard ioctls KDGKBTYPE, KDGKBMODE and KDSKBMODE.
  • 即使在后台启动, 也应执行 Windows UI 应用。Windows UI apps should execute even when launched in the background.

生成17704Build 17704

有关生成17704的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17704 visit the Windows Blog.

WSLWSL

  • 添加 wsl 或--user 选项 [GH 1203]Add wsl -u or --user option [GH 1203]
  • 启用快速启动时修复 WSL 启动问题 [GH 2576]Fix WSL launch issues when fast startup is enabled [GH 2576]
  • Unix 套接字需要保留断开连接的对等凭据 [GH 3183]Unix sockets need to retain disconnected peer credentials [GH 3183]
  • 非阻止 Unix 套接字通过 EAGAIN 无限期失败 [GH 3191]Non-blocking Unix sockets failing indefinitely with EAGAIN [GH 3191]
  • case = off 是新的默认 drvfs 装载类型 [GH 2937, 3212, 3328]case=off is the new default drvfs mount type [GH 2937, 3212, 3328]
    • 有关详细信息, 请参阅博客See blog for more information.
  • 添加 wslconfig/terminate 以停止正在运行的分发。Add wslconfig /terminate to stop running distributions.

版本 17692Build 17692

有关生成17692的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17692 visit the Windows Blog.

WSLWSL

  • 解决了无法正确处理带有空格的路径的 WSL shell 上下文菜单项的问题。Fix issue with the WSL shell context menu entries that do not correctly handle paths with spaces.
  • 公开作为扩展属性的每目录大小写敏感度Expose per-directory case sensitivity as an extended attribute
  • ARM64:模拟缓存维护操作。ARM64: Emulate cache maintenance operations. 解决dotnet 问题Resolve dotnet issue.
  • DrvFs: 只有专用范围中对应于转义字符的 unescape 字符。DrvFs: only unescape characters in the private range that correspond to an escaped character.

版本 17686Build 17686

有关生成17686的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17686 visit the Windows Blog.

WSLWSL

  • 修复 ELF 分析器解释器长度验证 [GH 3154] 中的一个错误Fix off-by-one error in ELF parser interpreter length validation [GH 3154]
  • WSL 包含过去时间的绝对计时器 [GH 3091]WSL absolute timers with a time in the past do not fire [GH 3091]
  • 确保新创建的重新分析点在父目录中列出为这样。Ensure newly created reparse points are listed as such in the parent directory.
  • 以原子方式创建 DrvFs 中的区分大小写的目录。Atomically create case sensitive directories in DrvFs.

生成17677Build 17677

有关生成17677的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17677 visit the Windows Blog.

WSLWSL

  • 修复了一个额外的问题, 即即使文件存在, 多线程操作也可能返回 ENOENT。Fixed an additional issue where multithreaded operations could return ENOENT even though the file exists. [GH 2712][GH 2712]
  • 修复了 UMCI 启用时的 WSL 启动失败。Fixed WSL launch failure when UMCI is enabled. [GH 3020][GH 3020]

生成17666Build 17666

有关生成17666的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17666 visit the Windows Blog.

WSLWSL

警告:某些 AMD 芯片组上出现阻止 WSL 运行的问题 [GH 3134]。WARNING: There is an issue preventing WSL from running on some AMD chipsets [GH 3134]. 修补程序已准备就绪, 并将其转移到有问必答生成分支。A fix is ready and making its way to the Insider Build branch.

  • 添加浏览器上下文菜单以启动 WSL [GH 437, 603, 1836]。Add explorer context menu to launch WSL [GH 437, 603, 1836]. 在资源管理器窗口中使用按住 shift 键并右键单击。To use hold shift and right-click when in an explorer window.
  • 修复 unix 套接字非阻止行为 [GH 2822, 3100]Fix unix socket non-blocking behavior [GH 2822, 3100]
  • 修复 GH 2026 中报告的挂起 NETLINK 命令。Fix hanging NETLINK command as reported in GH 2026.
  • 添加对装载传播标志的支持 [GH 2911]。Add support for mount propagation flags [GH 2911].
  • 修复了截断不会导致 inotify 事件 [GH 2978] 的问题。Fix issue with truncate not causing inotify events [GH 2978].
  • 添加--exec 选项, 用于 wsl, 以便在不使用 shell 的情况下调用单个二进制文件。Add --exec option for wsl.exe to invoke a single binary without a shell.
  • 添加--wsl 的分发选项, 以选择特定的发行版。Add --distribution option for wsl.exe to select a specific distro.

生成 17655 (向前跳过)Build 17655 (Skip Ahead)

有关生成17655的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17655 visit the Windows Blog.

WSLWSL

  • 对 dmesg 的有限支持。Limited support for dmesg. 现在, 应用程序可以登录到 dmesg。Applications can now log to dmesg. WSL 驱动程序将有限的信息记录到 dmesg。WSL driver logs limited information to dmesg. 将来, 可以通过扩展此功能从驱动程序携带其他信息/诊断。In future, this can be extended to carry other information/diagnostics from the driver.
    • 注意: 当前支持通过/dev/kmsg设备接口进行 dmesg。Note: dmesg is currently supported through the /dev/kmsg device interface. syslog尚不支持 sycall 接口。syslog sycall interface is not yet supported. 而且, 某些dmesg命令行选项-S(如) -C不起作用。And, so, some of the dmesg command line options such as -S, -C don't work.
  • 修复了即使文件存在, 多线程操作可以返回 ENOENT 的问题。Fixed an issue where multithreaded operations could return ENOENT even though the file exists. [GH 2712][GH 2712]

生成 17639 (向前跳过)Build 17639 (Skip Ahead)

有关生成17639的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17639 visit the Windows Blog.

WSLWSL

  • 更改串行设备的默认 gid 和模式以匹配本机 [GH 3042]Change default gid and mode of serial devices to match native [GH 3042]
  • DrvFs 现在支持扩展属性。DrvFs now supports extended attributes.
    • 注意:DrvFs 对扩展属性的名称有一些限制。Note: DrvFs has some limitations on the name of extended attributes. 特别是, 不允许使用某些字符 (如 "/"、":*" 和 ""), 并且扩展属性名称在 DrvFs 上不区分大小写In particular, some characters (like '/', ':' and '*') are not allowed, and extended attribute names are not case sensitive on DrvFs

生成 17133 (快速)Build 17133 (Fast)

有关生成17133的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17133 visit the Windows Blog.

WSLWSL

  • 修复 WSL 中的挂起问题。Fix for hang in WSL. [GH 3039, 3034][GH 3039, 3034]

生成 17128 (快速)Build 17128 (Fast)

有关生成17128的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17128 visit the Windows Blog.

WSLWSL

  • None

生成 17627 (向前跳过)Build 17627 (Skip Ahead)

有关生成17627的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17627 visit the Windows Blog.

WSLWSL

  • 添加对 futex pi 感知操作的支持。Add support for the futex pi-aware operations. [GH 1006][GH 1006]
    • 请注意, 目前不支持优先级, 因此存在一些限制, 但应解除标准使用的 WSL。Note that priorities are not currently a supported WSL feature so there are limitations, but standard usage should be unblocked.
  • Windows 防火墙对 WSL 进程的支持。Windows firewall support for WSL processes. [GH 1852][GH 1852]
    • 例如, 若要允许 WSL python 进程侦听任何端口, 请使用提升的 Windows cmd: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=yesFor example, to allow the WSL python process to listen on any port, use the elevated Windows cmd: 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
    • 有关如何添加防火墙规则的其他详细信息, 请参阅链接For additional details on how to add firewall rules, see link
  • 使用 wsl 时, 请尊重用户的默认外壳。Respect user's default shell when using wsl.exe. [GH 2372][GH 2372]
  • 将所有网络接口报告为以太网。Report all network interfaces as ethernet. [GH 2996][GH 2996]
  • 更好地处理损坏的/etc/passwd 文件。Better handling of corrupt /etc/passwd file. [GH 3001][GH 3001]

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成 17618 (向前跳过)Build 17618 (Skip Ahead)

有关生成17618的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17618 visit the Windows Blog.

WSLWSL

  • 介绍用于 NT 互操作的 pseudoconsole 功能 [GH 988、1366、1433、1542、2370、2406]。Introduce pseudoconsole functionality for NT interop [GH 988, 1366, 1433, 1542, 2370, 2406].
  • 旧安装机制 (lxrun) 已弃用。The legacy install mechanism (lxrun.exe) has been deprecated. 安装分发的支持机制是通过 Microsoft Store。The supported mechanism for installing distributions is through the Microsoft Store.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

版本 17110Build 17110

有关生成17110的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17110 visit the Windows Blog.

WSLWSL

  • 允许从 Windows 终止/init [GH 2928]。Allow /init to be terminated from Windows [GH 2928].
  • 默认情况下, DrvFs 在默认情况下使用每个目录的区分大小写 (相当于 "case = dir" 装载选项)。DrvFs now uses per-directory case sensitivity by default (equivalent to the “case=dir” mount option).
    • 使用 "case = force" (旧行为) 需要设置注册表项。Using “case=force” (the old behavior) requires setting a registry key. 如果需要使用, 请运行以下命令启用 "case = force": reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss/v DrvFsAllowForceCaseSensitivity/t REG_DWORD/d 1Run the following command to enable “case=force” if you need to use it: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
    • 如果在较早版本的 Windows 中使用 WSL 创建了现有目录 (需要区分大小写), 请使用 dism.exe 将它们标记为区分大小写: setcasesensitiveinfo enableIf you have existing directories created with WSL in older version of Windows which need to be case sensitive, use fsutil.exe to mark them as case sensitive: fsutil.exe file setcasesensitiveinfo enable
  • NULL 终止从 uname syscall 返回的字符串。NULL terminate strings returned from the uname syscall.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17107Build 17107

有关生成17107的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17107 visit the Windows Blog.

WSLWSL

  • 支持在 master pty 终结点上的 TCSETSF 和 TCSETSW [GH 2552]。Support TCSETSF and TCSETSW on master pty endpoints [GH 2552].
  • 启动并发互操作进程可能会导致 EINVAL [GH 2813]。Starting simultaneous interop processes can result in EINVAL [GH 2813].
  • 修复 PTRACE_ATTACH 以在/proc/pid/status. 中显示正确的跟踪状态Fix PTRACE_ATTACH to show proper tracing status in /proc/pid/status.
  • 修复了在不清除 TID 地址的情况下, 通过 CLEARTID 和 SETTID 标志克隆的生存期较短的进程可能退出的争用。Fix race where short-lived processes cloned with both the CLEARTID and SETTID flags could exit without clearing the TID address.
  • 在从17093之前的版本迁移时, 在升级 Linux 文件系统目录时显示一条消息。Display a message when upgrading the Linux file system directories when moving from a pre-17093 build. 有关17093文件系统更改的更多详细信息, 请参阅17093的发行说明。For more details on the 17093 file system changes, see the release notes for 17093.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17101Build 17101

有关生成17101的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17101 visit the Windows Blog.

WSLWSL

  • 支持 signalfd。Support for signalfd. [GH 129][GH 129]
  • 支持包含非法 NTFS 字符的文件名, 方法是将它们编码为私有 Unicode 字符。Support file-names containing illegal NTFS characters by encoding them as private Unicode characters. [GH 1514][GH 1514]
  • 当不支持写入时, 自动装入将回退为只读。Auto mount will fallback to read-only when write is not supported. [GH 2603][GH 2603]
  • 允许粘贴 Unicode 代理项对 (如表情符号)。Allow pasting of Unicode surrogate pairs (like emoji characters). [GH 2765][GH 2765]
  • /Proc 和/sys 中的伪文件应从 select、轮询、epoll、et al 返回读取和写入准备就绪。 [GH 2838]Pseudo-files in /proc and /sys should return read and write ready from select, poll, epoll, et al. [GH 2838]
  • 修复问题: 当注册表被篡改或损坏时, 可能导致服务进入无限循环。Fix issue that could cause service to go into infinite loop when the registry has been tampered with or is corrupt.
  • 修复 netlink 消息以使用 iproute2 的更新版本 (上游 4.14)。Fix netlink messages to work with newer (upstream 4.14) version of iproute2.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17093Build 17093

有关生成17093的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17093 visit the Windows Blog.

重要提示:Important:

升级到此版本后首次启动 WSL 时, 需要执行一些操作来升级 Linux 文件系统目录。When starting WSL for the first time after upgrading to this build, it needs to perform some work upgrading the Linux file system directories. 这可能需要几分钟, 因此 WSL 的启动速度可能会很慢。This may take up to several minutes, so WSL may appear to start slowly. 对于从应用商店中安装的每个分发, 此操作应只发生一次。This should only happen once for each distribution you have installed from the store.

  • 改进了 DrvFs 中的区分大小写支持。Improved case sensitivity support in DrvFs.
    • DrvFs 现在支持每个目录的区分大小写。DrvFs now supports per-directory case sensitivity. 这是一种新的标志, 可对目录进行设置, 以指示应将这些目录中的所有操作视为区分大小写, 甚至允许 Windows 应用程序正确打开仅大小写不同的文件。This is a new flag that can be set on directories to indicate all operations in those directories should be treated as case sensitive, which allows even Windows applications to correctly open files that differ only by case.
    • DrvFs 有新的装载选项, 这些选项控制每个目录的区分大小写DrvFs has new mount options controlling case sensitivity on a per-directory basis
      • case = force: 所有目录都被视为区分大小写 (驱动器根除外)。case=force: all directories are treated as case sensitive (except for the drive root). 用 WSL 创建的新目录将标记为区分大小写。New directories created with WSL are marked as case sensitive. 这是旧的行为, 但将新目录标记为区分大小写。This is the legacy behavior except for marking new directories case sensitive.
      • case = dir: 只有具有每个目录大小写区分标志的目录才被视为区分大小写;其他目录不区分大小写。case=dir: only directories with the per-directory case sensitivity flag are treated as case sensitive; other directories are case insensitive. 用 WSL 创建的新目录将标记为区分大小写。New directories created with WSL are marked as case sensitive.
      • case = off: 仅将具有每个目录大小写敏感度标志的目录视为区分大小写;其他目录不区分大小写。case=off: only directories with the per-directory case sensitivity flag are treated as case sensitive; other directories are case insensitive. 用 WSL 创建的新目录标记为不区分大小写。New directories created with WSL are marked as case insensitive.
    • 注意: 以前版本中的 WSL 创建的目录未设置此标志, 因此, 如果使用 "case = dir" 选项, 则不会将其视为区分大小写。Note: directories created by WSL in previous releases do not have this flag set, so will not be treated as case sensitive if you use the “case=dir” option. 即将推出一种在现有目录上设置此标志的方法。A way to set this flag on existing directories is coming soon.
    • 装载这些选项的示例 (对于现有驱动器, 必须先卸载, 然后才能装载不同选项): sudo mount-t drvfs C:/mnt/c-o case = dirExample of mounting with these options (for existing drives, you must first unmount before you can mount with different options): sudo mount -t drvfs C: /mnt/c -o case=dir
    • 目前, case = force 仍是默认选项。For now, case=force is still the default option. 以后将更改为 case = dir。This will be changed to case=dir in the future.
  • 你现在可以在安装 DrvFs 时使用 Windows 路径中的正斜杠, 例如: sudo mount-t DrvFs//server/share/mnt/shareYou can now use forward slashes in Windows paths when mounting DrvFs, e.g.: sudo mount -t drvfs //server/share /mnt/share
  • WSL 现在会在实例启动期间处理/etc/fstab 文件 [GH 2636]。WSL now processes the /etc/fstab file during instance start [GH 2636].
    • 这是在自动装载 DrvFs 驱动器之前完成的;fstab 已装载的任何驱动器都不会自动重新装载, 使你可以更改特定驱动器的装入点。This is done prior to automatically mounting DrvFs drives; any drives that were already mounted by fstab will not be remounted automatically, allowing you to change the mount point for specific drives.
    • 使用 wsl 可以关闭此行为。This behavior can be turned off using wsl.conf.
  • /Proc 中的 mount、mountinfo 和 mountstats 文件正确地转义特殊字符, 如反斜杠和空格 [GH 2799]The mount, mountinfo and mountstats files in /proc properly escape special characters like backslashes and spaces [GH 2799]
  • 启用元数据后, 通过 DrvFs 创建的特殊文件 (如 WSL 符号链接或 fifos 和套接字) 现在可以从 Windows 复制和移动。Special files created with DrvFs such as WSL symbolic links, or fifos and sockets when metadata is enabled, can now be copied and moved from Windows.

WSL 更易于配置 WSLWSL is more configurable with wsl.conf

添加了一种方法, 用于在 WSL 中自动配置某些功能, 这些功能将在每次启动子系统时应用。We added a method for you to automatically configure certain functionality in WSL that will be applied every time you launch the subsystem. 这包括自动装载选项和网络配置。This includes automount options and network configuration. 在博客文章中了解更多相关信息: https://aka.ms/wslconfLearn more about it in our blog post at: https://aka.ms/wslconf

AF_UNIX 允许在 WSL 和 Windows 本机进程上的 Linux 进程之间进行套接字连接AF_UNIX allows socket connections between Linux processes on WSL and Windows native processes

现在, WSL 和 Windows 应用程序可以通过 Unix 套接字彼此通信。WSL and Windows applications can now communicate with each other over Unix sockets. 假设你想要在 Windows 中运行服务, 并使其可用于 Windows 和 WSL 应用。Imagine you want to run a service in Windows and make it available to both Windows and WSL apps. 现在, 可以通过 Unix 套接字实现。Now, that’s possible with Unix sockets. 有关详细信息, 请阅读我们的博客文章 https://aka.ms/afunixinteropRead more in our blog post at https://aka.ms/afunixinterop

WSLWSL

  • 支持带有 MAP_NORESERVE 的 mmap () [GH 121, 2784]Support mmap() with MAP_NORESERVE [GH 121, 2784]
  • 支持 CLONE_PTRACE 和 CLONE_UNTRACED [GH 121, 2781]Support CLONE_PTRACE and CLONE_UNTRACED [GH 121, 2781]
  • 处理克隆中的非 SIGCHLD 终止信号 [GH 121, 2781]Handle non-SIGCHLD termination signal in clone [GH 121, 2781]
  • 存根/proc/sys/fs/inotify/max_user_instances 和/proc/sys/fs/inotify/max_user_watches [GH 1705]Stub /proc/sys/fs/inotify/max_user_instances and /proc/sys/fs/inotify/max_user_watches [GH 1705]
  • 加载包含非零偏移量的负载标头的 ELF 二进制文件时出错 [GH 1884]Error loading ELF binaries that contain load headers with non-zero offsets [GH 1884]
  • 加载图像时, 为零个尾随页字节。Zero out trailing page bytes when loading images.
  • 减少 execve 以静默方式终止进程的情况Reduce cases where execve silently terminates process

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

版本 17083Build 17083

有关生成17083的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17083 visit the Windows Blog.

WSLWSL

  • 修复了与 epoll 相关的检测错误 [GH 2798、2801、2857]Fixed bugcheck related to epoll [GH 2798, 2801, 2857]
  • 修复了关闭 ASLR 时挂起 [GH 1185, 2870]Fixed hangs when turning off ASLR [GH 1185, 2870]
  • 确保 mmap 操作出现原子 [GH 2732]Ensure mmap operations appear atomic [GH 2732]

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17074Build 17074

有关生成17074的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17074 visit the Windows Blog.

WSLWSL

  • 固定存储格式的 DrvFs 元数据 [GH 2777]Fixed storage format of DrvFs metadata [GH 2777]
    重要说明: 在此生成之前创建的 DrvFs 元数据将错误显示或根本不显示。Important: DrvFs metadata created before this build will show up incorrectly or not at all. 若要修复受影响的文件, 请使用 chmod 和 chown 重新应用元数据。To fix affected files, use chmod and chown to re-apply the metadata.
  • 修复了多个信号和可重启 syscall 的问题。Fixed issue with multiple signals and restartable syscalls.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17063Build 17063

有关生成17063的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17063 visit the Windows Blog.

WSLWSL

  • DrvFs 支持其他 Linux 元数据。DrvFs supports additional Linux metadata. 这允许使用 chmod/chown 设置文件的所有者和模式, 还可以创建特殊文件 (如 fifos、unix 套接字和设备文件)。This allows setting the owner and mode of files using chmod/chown, and also the creation of special files such as fifos, unix sockets and device files. 默认情况下, 此功能处于禁用状态, 因为它仍在实验中。This is disabled by default for now since it's still experimental. 注意: 修复了 DrvFs 使用的元数据格式的错误。Note: We fixed a bug in the metadata format used by DrvFs. 当元数据在此生成上适用于试验时, 将来的生成将无法正确读取此生成创建的元数据。While metadata works on this build for experimentation, future builds will not correctly read metadata created by this build. 你可能需要手动更新已修改文件的所有者, 并且必须重新创建具有自定义设备 ID 的设备。You might need to manually update owner for modified files and devices with a custom device ID will have to be recreated.

    若要启用, 请使用 metadata 选项装载 DrvFs (若要在现有装载上启用它, 必须先卸载它):To enable, mount DrvFs with the metadata option (to enable it on an existing mount, you must first unmount it):

    mount -t drvfs C: /mnt/c -o metadata
    

    Linux 权限作为附加的元数据添加到文件;它们不会影响 Windows 权限。Linux permissions are added as additional metadata to the file; they do not affect the Windows permissions. 请记住, 使用 Windows 编辑器编辑文件可能会删除元数据。Remember, editing a file using a Windows editor may remove the metadata. 在这种情况下, 该文件将恢复为默认权限。In this case, the file will revert to its default permissions.

  • 向 DrvFs 添加了装载选项, 以控制没有元数据的文件。Added mount options to DrvFs to control files without metadata.

    • uid: 用于所有文件所有者的用户 ID。uid: the user ID used for the owner of all files.
    • gid: 用于所有文件的所有者的组 ID。gid: the group ID used for the owner of all files.
    • umask: 要排除所有文件和目录的权限的八进制掩码。umask: an octal mask of permissions to exclude for all files and directories.
    • fmask: 为所有常规文件排除的权限的八进制掩码。fmask: an octal mask of permissions to exclude for all regular files.
    • dmask: 为所有目录排除的权限的八进制掩码。dmask: an octal mask of permissions to exclude for all directories.

    例如:For example:

    mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
    

    与 metadata 选项结合, 可指定没有元数据的文件的默认权限。Combine with the metadata option to specify default permissions for files without metadata.

  • 引入了一个新的环境WSLENV变量, 用于配置环境变量在 WSL 和 Win32 之间的流动方式。Introduced a new environment variable, WSLENV, to configure how environment variables flow between WSL and Win32.

    例如:For example:

    WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
    

    WSLENV以冒号分隔的环境变量列表, 可以在从 WSL 启动 Win32 或 Win32 进程中的 WSL 进程时包含这些变量。WSLENV is a colon-delimited list of environment variables that can be included when launching WSL processes from Win32 or Win32 processes from WSL. 每个变量可以用斜杠 (后跟标志) 作为后缀, 以指定它的转换方式。Each variable can be suffixed with a slash followed by flags to specify how it is translated.

    • h-p值是应在 WSL 路径与 Win32 路径之间进行转换的路径。p: The value is a path that should be translated between WSL paths and Win32 paths.
    • l值是路径的列表。l: The value is a list of paths. 在 WSL 中, 它是用冒号分隔的列表。In WSL, it is a colon-delimited list. 在 Win32 中, 它是一个以分号分隔的列表。In Win32, it is a semicolon-delimited list.
    • 形仅应在从 Win32 调用 WSL 时包含值u: The value should only be included when invoking WSL from Win32
    • 水平仅应在从 WSL 调用 Win32 时包括该值w: The value should only be included when invoking Win32 from WSL

    可以在 .bashrc WSLENV中或在用户的自定义 Windows 环境中设置。You can set WSLENV in .bashrc or in the custom Windows environment for your user.

  • drvfs 装入正确保留 tar、cp-p (GH 1939) 的时间戳drvfs mounts correctly preserves timestamps from tar, cp -p (GH 1939)

  • drvfs 符号链接报告正确大小 (GH 2641)drvfs symlinks report the correct size (GH 2641)

  • 读/写适用于非常大的 IO 大小 (GH 2653)read/write works for very large IO sizes (GH 2653)

  • waitpid 适用于进程组 Id (GH 2534)waitpid works with process group IDs (GH 2534)

  • 显著提高了大型保留区域的 mmap 性能;提高 ghc 性能 (GH 1671)significantly improved mmap performance for large reserve regions; improves ghc performance (GH 1671)

  • 个性支持 READ_IMPLIES_EXEC;修复最大值和 clisp (GH 1185)personality supports for READ_IMPLIES_EXEC; fixes maxima and clisp (GH 1185)

  • mprotect 支持 PROT_GROWSDOWN;修补 clisp (GH 1128)mprotect supports PROT_GROWSDOWN; fixes clisp (GH 1128)

  • 过载模式下的页错误修复;修补 sbcl (GH 1128)page fault fixes in overcommit mode; fixes sbcl (GH 1128)

  • 克隆支持更多标志组合clone supports more flags combinations

  • 支持 epoll 文件的 select/epoll (以前为无操作)。Support select/epoll of epoll files (previously a no-op).

  • 通知 ptrace 未实现的 syscall。Notify ptrace of unimplemented syscalls.

  • 生成 resolv.conf 名称服务器时忽略未启动的接口 [GH 2694]Ignore interfaces that are not up when generating resolv.conf nameservers [GH 2694]

  • 枚举没有物理地址的网络接口。Enumerate network interfaces with no physical address. [GH 2685][GH 2685]

  • 其他 bug 修复和改进。Additional bug fixes and improvements.

适用于 Windows 上的开发人员的 Linux 工具Linux tools available to developers on Windows

  • Windows 命令行工具链包括 bsdtar (tar) 和曲线。Windows Command line Toolchain includes bsdtar (tar) and curl. 阅读此博客, 了解有关添加这两个新工具的详细信息, 并了解如何在 Windows 上形成开发人员体验。Read this blog to learn more about the addition of these two new tools and see how they’re shaping the developer experience on Windows.

  • AF_UNIX适用于 Windows 有问必答 SDK (17061 +)。AF_UNIX is available in the Windows Insider SDK (17061+). 阅读此博客, 了解有关如何AF_UNIX在 Windows 上使用开发人员以及如何使用它的详细信息。Read this blog to learn more about AF_UNIX and how developers on Windows can use it.

控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17046Build 17046

有关生成17046的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17046 visit the Windows Blog.

固定Fixed

WSLWSL

  • 允许在没有活动终端的情况下运行进程。Allow processes to run without an active terminal. [GH 709, 1007, 1511, 2252, 2391, et al][GH 709, 1007, 1511, 2252, 2391, et al.]
  • 更好地支持 CLONE_VFORK 和 CLONE_VM。Better support of CLONE_VFORK and CLONE_VM. [GH 1878, 2615][GH 1878, 2615]
  • 跳过 WSL 网络操作的 TDI 筛选器驱动程序。Skip TDI filter drivers for WSL networking operations. [GH 1554][GH 1554]
  • 满足某些条件时, DrvFs 将创建 NT 符号链接。DrvFs creates NT symlinks when certain conditions are met. [GH 353, 1475, 2602][GH 353, 1475, 2602]
    • 链接目标必须是相对的, 不能跨任何装入点或符号链接, 并且必须存在。The link target must be relative, must not cross any mount points or symlinks, and must exist.
    • 用户必须具有 SE_CREATE_SYMBOLIC_LINK_PRIVILEGE (这通常需要你启动 wsl), 除非已打开开发人员模式。The user must have SE_CREATE_SYMBOLIC_LINK_PRIVILEGE (this normally requires you to launch wsl.exe elevated), unless Developer Mode is turned on.
    • 在所有其他情况下, DrvFs 仍创建 WSL 符号链接。In all other situations, DrvFs still creates WSL symlinks.
  • 允许同时运行提升和非提升的 WSL 实例。Allow running elevated and non-elevated WSL instances simultaneously.
  • 支持/proc/sys/kernel/yama/ptrace_scopeSupport /proc/sys/kernel/yama/ptrace_scope
  • 添加 wslpath 以执行 WSL < > Windows 路径转换。Add wslpath to do WSL<->Windows path conversions. [GH 522, 1243, 1834, 2327, et al][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’
    

    控制台Console

  • 无修补程序。No fixes.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17040Build 17040

有关生成17040的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17040 visit the Windows Blog.

固定Fixed

WSLWSL

  • 自17035以来没有修复。No fixes since 17035.

控制台Console

  • 自17035以来没有修复。No fixes since 17035.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17035Build 17035

有关生成17035的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17035 visit the Windows Blog.

固定Fixed

WSLWSL

  • 访问 DrvFs 上的文件有时会因 EINVAL 而失败。Accessing files on DrvFs could occasionally fail with EINVAL. [GH 2448][GH 2448]

控制台Console

  • 在 VT 模式下插入/删除行时的一些颜色损失。Some color loss when inserting/deleting lines in VT mode.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17025Build 17025

有关生成17025的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17025 visit the Windows Blog.

固定Fixed

WSLWSL

  • 启动新的前台进程组中的初始进程 [GH 1653, 2510]。Start initial processes in a new foreground process group [GH 1653, 2510].
  • SIGHUP 传递修复 [GH 2496]。SIGHUP delivery fixes [GH 2496].
  • 如果未提供, 则生成默认的虚拟桥名称 [GH 2497]。Generate default virtual bridge name if none provided [GH 2497].
  • 实现/proc/sys/kernel/random/boot_id [GH 2518]。Implement /proc/sys/kernel/random/boot_id [GH 2518].
  • 更多互操作 stdout/stderr 管道修补程序。More interop stdout/stderr pipe fixes.
  • 存根 syncfs 系统调用。Stub syncfs system call.

控制台Console

  • 修复第三方控制台的输入 VT 转换 [GH 111]Fix input VT translation for third party consoles [GH 111]

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

生成17017Build 17017

有关生成17017的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 17017 visit the Windows Blog.

固定Fixed

WSLWSL

  • 忽略空的 ELF 程序头 [GH 330]。Ignore empty ELF program headers [GH 330].
  • 允许 LxssManager 为非交互式用户 (ssh 和计划任务支持) 创建 WSL 实例 [GH 777, 1602]。Allow LxssManager to create WSL instances for non-interactive users (ssh and scheduled task support) [GH 777, 1602].
  • 支持 WSL-> Win32 > WSL ("开始") 方案 [GH 1228]。Support WSL->Win32->WSL ("inception") scenarios [GH 1228].
  • 对通过互操作调用的控制台应用终止的有限支持 [GH 1614]。Limited support for termination of console apps invoked via interop [GH 1614].
  • 支持 devpts [GH 1948] 的装载选项。Support mount options for devpts [GH 1948].
  • Ptrace 阻止子启动 [GH 2333]。Ptrace blocking child startup [GH 2333].
  • EPOLLET 缺少某些事件 [GH 2462]。EPOLLET missing some events [GH 2462].
  • 返回 PTRACE_GETSIGINFO 的更多数据。Return more data for PTRACE_GETSIGINFO.
  • 带有 lseek 的 Getdents 提供了不正确的结果。Getdents with lseek gives incorrect results.
  • 修复某些 Win32 互操作应用挂起, 并等待管道中没有更多数据的输入。Fix some Win32 interop app hangs, waiting for input on a pipe that has no more data.
  • O_ASYNC 支持 tty/pty 文件。O_ASYNC support for tty/pty files.
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

正在进行测试。Testing in progress.

秋季创意者更新Fall Creators Update

生成16288Build 16288

有关生成16288的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16288 visit the Windows Blog.

固定Fixed

WSLWSL

  • 正确初始化和报告套接字文件描述符的 uid、gid 和模式 [GH 2490]Correctly initialize and report uid, gid, and mode for socket file descriptors [GH 2490]
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

自16273以来无更改No change since 16273

生成16278Build 16278

有关生成162738的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 162738 visit the Windows Blog.

固定Fixed

WSLWSL

  • 当撕裂 LX MM 状态 [GH 2415] 时, 显式取消文件所支持节的映射视图Explicitly unmap mapped views of file backed sections when tearing down LX MM state [GH 2415]
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

自16273以来无更改No change since 16273

生成16275Build 16275

有关生成162735的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 162735 visit the Windows Blog.

固定Fixed

WSLWSL

  • 此版本中没有与 WSL 相关的更改。No WSL related changes in this release.

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

自16273以来无更改No change since 16273

生成16273Build 16273

有关生成16273的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16273 visit the Windows Blog.

固定Fixed

WSLWSL

  • 解决了 DrvFs 有时报告了目录的错误文件类型 [GH 2392] 的问题Fixed an issue where DrvFs sometimes reported the wrong file type for directories [GH 2392]
  • 允许创建 NETLINK_KOBJECT_UEVENT 套接字来取消阻止使用 UEVENT 的程序 [GH 1121、2293、2242、2295、2235、648、637]Allow creation of NETLINK_KOBJECT_UEVENT sockets to unblock programs that use uevent [GH 1121, 2293, 2242, 2295, 2235, 648, 637]
  • 添加对非阻止连接的支持 [GH 903、1391、1584、1585、1829、2290、2314]Add support for non-blocking connect [GH 903, 1391, 1584, 1585, 1829, 2290, 2314]
  • 实现 CLONE_FS 克隆系统调用标志 [GH 2242]Implement CLONE_FS clone system call flag [GH 2242]
  • 解决了在 NT 互操作中无法正确处理选项卡或引号的问题 [GH 1625, 2164]Fix issues around not handling tabs or quotes correctly in NT interop [GH 1625, 2164]
  • 尝试重新启动 WSL 实例时解决拒绝访问错误 [GH 651, 2095]Resolve access denied error when trying to re-launch WSL instances [GH 651, 2095]
  • 实现 futex FUTEX_REQUEUE 和 FUTEX_CMP_REQUEUE 操作 [GH 2242]Implement futex FUTEX_REQUEUE and FUTEX_CMP_REQUEUE operations [GH 2242]
  • 修补各种 SysFs 文件的权限 [GH 2214]Fix permissions for various SysFs files [GH 2214]
  • 在安装过程中修复 Haskell stack 挂起 [GH 2290]Fix Haskell stack hang during setup [GH 2290]
  • 实现 binfmt_misc "C"、"O" 和 "P" 标志 [GH 2103]Implement binfmt_misc 'C' 'O' and 'P' flags [GH 2103]
  • 添加/proc/sys/kernel/shmmax/shmmni &/threads-max [GH 1753]Add /proc/sys/kernel /shmmax /shmmni & /threads-max [GH 1753]
  • 添加对 ioprio_set 系统调用的部分支持 [GH 498]Add partial support for ioprio_set system call [GH 498]
  • 存根 SO_REUSEPORT & 为 netlink 套接字添加对 SO_PASSCRED 的支持 [GH 69]Stub SO_REUSEPORT & adding support for SO_PASSCRED for netlink sockets [GH 69]
  • 如果当前正在安装或卸载分发, 则从 RegisterDistribuiton 返回不同的错误代码。Return different error codes from RegisterDistribuiton if a distribution is currently being installed or uninstalled.
  • 允许通过 wslconfig 取消注册部分安装的 WSL 分发Allow unregistration of partially installed WSL distributions via wslconfig.exe
  • 从 udp:: msg_peek 修复 python 套接字测试挂起Fix python socket test hang from udp::msg_peek
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

总测试数:1904Total Tests: 1904
跳过的测试总数:209Total Skipped Tests: 209
失败总数:229Total Failures: 229
LTP 测试运行日志LTP Test Run Logs

版本 16257Build 16257

有关生成16257的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16257 visit the Windows Blog.

固定Fixed

WSLWSL

  • 实现 prlimit64 系统调用Implement prlimit64 system call
  • 添加对 ulimit 的支持-n (setrlimit RLIMIT_NOFILE) [GH 1688]Add support for ulimit -n (setrlimit RLIMIT_NOFILE) [GH 1688]
  • 用于 TCP 套接字的存根 MSG_MORE [GH 2351]Stub MSG_MORE for TCP sockets [GH 2351]
  • 修复无效的 AT_EXECFN 辅助矢量行为 [GH 2133]Fix invalid AT_EXECFN auxiliary vector behavior [GH 2133]
  • 修复 console/tty 的复制/粘贴行为, 并添加更好的完整缓冲区处理 [GH 2204, 2131]Fix copy/paste behavior for console/tty, and add better full buffer handling [GH 2204, 2131]
  • 设置用户 ID 和组-ID 程序的辅助向量中的 AT_SECURE [GH 2031]Set AT_SECURE in auxiliary vector for set-user-ID and set-group-ID programs [GH 2031]
  • 伪类-终端主终结点未处理 TIOCPGRP [GH 1063]Psuedo-terminal master endpoint not handling TIOCPGRP [GH 1063]
  • 修复 lseek 在 LxFs 中倒带目录 [GH 2310]Fix lseek does to rewind directories in LxFs [GH 2310]
  • 使用繁重的/dev/ptmx 锁 [GH 1882]/dev/ptmx locks up after heavy usage [GH 1882]
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

LTP 结果:LTP Results:

自16251以来无更改No change since 16251

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

prlimit64

已知问题Known Issues

GitHub 问题 2392:WSL 无法识别的 Windows 文件夹 .。。GitHub Issue 2392: Windows Folders not recognized by WSL ...

在版本16257中, WSL 在通过/mnt/c/...枚举 Windows 文件/文件夹时遇到问题。In build 16257, WSL has issues when enumerating Windows files/folders via /mnt/c/.... 此问题已修复, 应在第一周的第一8/14/2017 周的内部版本中发布。This issue has been fixed and should be released in Insiders build during week commencing 8/14/2017.


生成16251Build 16251

有关生成16251的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16251 visit the Windows Blog.

固定Fixed

WSLWSL

  • 从 WSL 可选组件中删除 beta 标记, 有关详细信息, 请参阅博客文章Remove beta tag from WSL optional component, see blog post for details.
  • 正确地为 exec [GH 962, 1415, 2072] 上的设置用户 ID 和组 ID 二进制文件初始化已保存的设置的 uid 和 gidCorrectly initialize saved-set uid and gid for set-user-ID and set-group-ID binaries on exec [GH 962, 1415, 2072]
  • 添加了对 ptrace PTRACE_O_TRACEEXIT 的支持 [GH 555]Added support for ptrace PTRACE_O_TRACEEXIT [GH 555]
  • 添加了对 ptrace PTRACE_GETFPREGS 和 PTRACE_GETREGSET 的支持, NT_FPREGSET [GH 555]Added support for ptrace PTRACE_GETFPREGS and PTRACE_GETREGSET with NT_FPREGSET [GH 555]
  • 修复了在忽略信号时停止的 ptraceFixed ptrace to stop on ignored signals
  • 其他改进和 bug 修复Additional improvements and bug fixes

控制台Console

  • 此版本中没有与控制台相关的更改。No Console related changes in this release.

LTP 结果:LTP Results:

通过的测试数:768Number of Passing Tests: 768
失败的测试数:244Number of Failing Tests: 244
跳过的测试数:96Number of Skipped Tests: 96
LTP 测试运行日志LTP Test Run Logs


生成16241Build 16241

有关生成16241的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16241 visit the Windows Blog.

固定Fixed

WSLWSL

  • 此版本中没有与 WSL 相关的更改。No WSL related changes in this release.

控制台Console

  • 修复了以下问题, 以便为每12月的交叉行输出错误的字符。Fix for outputting the wrong character for the crossing-lines DEC, originally reported here
  • 修复代码页 65001 (utf8) 中没有显示的输出文本Fix for no output text being displayed in codepage 65001 (utf8)
  • 不要将对一种颜色的 RGB 值所做的更改传输到选定内容更改的调色板的其他部分。Do not transfer changes made to one color's RGB values to other parts of the palette on selection change. 这会使控制台属性表更易于使用。This will make the console properties sheet a lot easier to use.
  • Ctrl + S 似乎无法正常工作Ctrl+S doesn't appear to work correctly
  • ANSI 转义代码中完全不存在的粗体/-Dim [GH 2174]Un-Bold/-Dim completely absent from ANSI escape codes [GH 2174]
  • 控制台无法正确支持 Vim 颜色主题 [GH 1706]Console doesn't correctly support Vim color themes [GH 1706]
  • 无法粘贴特定字符 [GH 2149]Cannot paste particular characters [GH 2149]
  • 当内容在编辑/命令行上时, 重新调整大小会与奇怪交互, 同时调整 bash 窗口的大小 [GH ConEmu 1123]Reflow resize interacts strangely with resizing a bash window when stuff is on the edit/command line [GH ConEmu 1123]
  • 按住 Ctrl 的同时屏幕会脏 [GH 1978]Ctrl-L leaves the screen dirty [GH 1978]
  • 在 HDPI 上显示 VT 时的控制台呈现 bug [GH 1907]Console rendering bug when displaying VT on HDPI [GH 1907]
  • Unicode 字符 U + 30FB 的 Japansese 字符看起来很奇怪 [GH 2146]Japansese characters look strange with Unicode Character U+30FB [GH 2146]
  • 其他改进和 bug 修复Additional improvements and bug fixes

版本 16237Build 16237

有关生成16237的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16237 visit the Windows Blog.

固定Fixed

  • 在 lxfs 中使用不带 Ea 的文件的默认属性 (root、root、0000)Use default attributes for files without EAs in lxfs (root, root, 0000)
  • 添加了对使用扩展属性的分发的支持Added support for distributions that use extended attributes
  • 修复 getdents 和 getdents64 返回的项的填充Fix padding for entries returned by getdents and getdents64
  • 针对 shmctl SHM_STAT 系统调用修复权限检查 [GH 2068]Fix permissions check for the shmctl SHM_STAT system call [GH 2068]
  • 修复了 tty 的初始 epoll 状态 [GH 2231]Fixed incorrect initial epoll state for ttys [GH 2231]
  • 修复 DrvFs readdir 不返回所有条目 [GH 2077]Fix DrvFs readdir not returning all entries [GH 2077]
  • 取消链接文件时修复 LxFs readdir [GH 2077]Fix LxFs readdir when files are unlinked [GH 2077]
  • 允许通过 procfs 重新打开未链接的 drvfs 文件Allow unlinked drvfs files to be reopened through procfs
  • 添加了用于禁用 WSL 功能的全局注册表项替代 (互操作性/驱动器安装)Added global registry key override for disabling WSL features (interop / drive mounting)
  • 修复 DrvFs (和 LxFs) 的 "stat" 中错误的块计数 [GH 1894]Fix incorrect block count in "stat" for DrvFs (and LxFs) [GH 1894]
  • 其他改进和 bug 修复Additional improvements and bug fixes

生成16232Build 16232

有关生成16232的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16232 visit the Windows Blog.

固定Fixed

  • 此版本中没有与 WSL 相关的更改。No WSL related changes in this release.

生成16226Build 16226

有关生成16226的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16226 visit the Windows Blog.

固定Fixed

  • xattr 相关 syscall 支持 (getxattr、setxattr、listxattr、removexattr)。xattr related syscalls support (getxattr, setxattr, listxattr, removexattr).
  • capablity xattr 支持。security.capablity xattr support.
  • 提高了与某些文件系统和筛选器 (包括非 MS SMB 服务器) 的兼容性。Improved compatibility with certain file systems and filters, including non-MS SMB servers. [GH #1952][GH #1952]
  • 改进了对 OneDrive 占位符、GVFS 占位符和精简操作系统压缩文件的支持。Improved support for OneDrive placeholders, GVFS placeholders, and Compact OS compressed files.
  • 其他改进和 bug 修复Additional improvements and bug fixes

生成16215Build 16215

有关生成16215的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16215 visit the Windows Blog.

固定Fixed

  • WSL 不再需要开发人员模式。WSL no longer requires developer mode.
  • 支持 drvfs 中的目录联接。Support directory junctions in drvfs.
  • 处理 WSL 分发 appx 包的卸载。Handle uninstalling of WSL distribution appx packages.
  • 更新 procfs 以显示专用和共享映射。Update procfs to show private and shared mappings.
  • 添加 wslconfig 的功能以清理部分安装或卸载的分发。Add ability for wslconfig.exe to clean up distributions that are partially installed or uninstalled.
  • 添加了对 TCP 套接字 IP_MTU_DISCOVER 的支持。Added support for IP_MTU_DISCOVER for TCP sockets. [GH 1639, 2115, 2205][GH 1639, 2115, 2205]
  • 推断协议系列以便路由到 AF_INADDR。Infer protocol family for routes to AF_INADDR.
  • 串行设备改进 [GH 1929]。Serial device improvements [GH 1929].

生成16199Build 16199

有关生成16199的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16199 visit the Windows Blog.

固定Fixed

  • 这些版本中没有与 WSL 相关的更改。No WSL related changes in these releases.

生成16193Build 16193

有关生成16193的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16193 visit the Windows Blog.

固定Fixed

  • 发送 SIGCONT 和 threadgroup 终止之间的争用条件 [GH 1973]Race condition between sending SIGCONT and a threadgroup terminating [GH 1973]
  • 将 tty 和 pty 设备更改为 report FILE_DEVICE_NAMED_PIPE, 而不是 FILE_DEVICE_CONSOLE [GH 1840]change tty and pty devices to report FILE_DEVICE_NAMED_PIPE instead of FILE_DEVICE_CONSOLE [GH 1840]
  • IP_OPTIONS 的 SSH 修补程序SSH fix for IP_OPTIONS
  • 已将 DrvFs 装载迁移到 init daemon [GH 1862、1968、1767、1933]Moved DrvFs mounting to init daemon [GH 1862, 1968, 1767, 1933]
  • 为以下 NT 符号链接添加了 DrvFs 中的支持。Added support in DrvFs for following NT symlinks.

生成16184Build 16184

有关生成16184的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16184 visit the Windows Blog.

固定Fixed

  • 删除 apt 包维护任务 (lxrun/update)Removed apt package maintenance task (lxrun.exe /update)
  • 固定输出不显示在 node.js 中的 Windows 进程中 [GH 1840]Fixed output not showing up in from Windows processes in node.js [GH 1840]
  • 放宽 lxcore 中的对齐要求 [GH 1794]Relax alignment requirements in lxcore [GH 1794]
  • 修复了 AT_EMPTY_PATH 标志在系统调用收藏中的处理。Fixed handling of the AT_EMPTY_PATH flag in a numer of system calls.
  • 修复了删除 DrvFs 文件和打开句柄的问题时, 文件会显示未定义的行为 [GH 544、966、1357、1535、1615]Fixed issue where deleting DrvFs files with open handles will cause the file to exhibit undefined behavior [GH 544,966,1357,1535,1615]
  • /etc/hosts 现在将从 Windows hosts 文件 (%windir%\system32\drivers\etc\hosts) 继承条目 [GH 1495]/etc/hosts will now inherit entries from the Windows hosts file (%windir%\system32\drivers\etc\hosts) [GH 1495]

生成16179Build 16179

有关生成16179的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16179 visit the Windows Blog.

固定Fixed

  • 本周不会更改 WSL。No WSL changes this week.

生成16176Build 16176

有关生成16176的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16176 visit the Windows Blog.

固定Fixed

  • 启用的串行支持Enabled serial support
  • 添加了 IP 套接字选项 IP_OPTIONS [GH 1116]Added IP socket option IP_OPTIONS [GH 1116]
  • 实现的 pwritev 函数 (在将文件上传到 nginx/PHP-PHP-FPM) [GH 1506]Implemented pwritev function (while uploading file to nginx/PHP-FPM) [GH 1506]
  • 添加的 IP 套接字选项 IP_MULTICAST_IF & IPV6_MULTICAST_IF [GH 990]Added IP socket options IP_MULTICAST_IF & IPV6_MULTICAST_IF [GH 990]
  • 支持套接字选项 IP_MULTICAST_LOOP & IPV6_MULTICAST_LOOP [GH 1678]Support for socket option IP_MULTICAST_LOOP & IPV6_MULTICAST_LOOP [GH 1678]
  • 添加了适用于 apps 节点、traceroute、挖掘、nslookup、主机的 IP (V6) _MTU 套接字选项Added IP(V6)_MTU socket option for apps node, traceroute, dig, nslookup, host
  • 添加的 IP 套接字选项 IPV6_UNICAST_HOPSAdded IP socket option IPV6_UNICAST_HOPS
  • 文件系统改进Filesystem Improvements
    • 允许装载 UNC 路径Allow mounting of UNC paths
    • 在 drvfs 中启用 CDFS 支持Enable CDFS support in drvfs
    • 正确处理 drvfs 中网络文件系统的权限Correctly handle permissions for network file systems in drvfs
    • 向 drvfs 添加远程驱动器支持Add support for remote drives to drvfs
    • 在 drvfs 中启用 FAT 支持Enable FAT support in drvfs
  • 其他修复和改进Additional fixes and Improvements

LTP 结果LTP Results

自15042以来无更改No changes since 15042


生成16170Build 16170

有关生成16170的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 16170 visit the Windows Blog.

我们发布了新的博客文章, 讨论了测试 WSL 的努力。We released a new blog post discussing our efforts to test WSL.

固定Fixed

  • Support socket 选项 IP_ADD_MEMBERSHIP & IPV6_ADD_MEMBERSHIP [GH 1678]Support socket option IP_ADD_MEMBERSHIP & IPV6_ADD_MEMBERSHIP [GH 1678]
  • 添加对 PTRACE_OLDSETOPTIONS 的支持。Add support for PTRACE_OLDSETOPTIONS. [GH 1692][GH 1692]
  • 其他修复和改进Additional fixes and improvements

LTP 结果LTP Results

自15042以来无更改No changes since 15042


生成15046到 Windows 10 创意者更新Build 15046 to Windows 10 Creators Update

没有更多的 WSL 修补程序或功能已计划包含在 Windows 10 的创意者更新中。There are no more WSL fixes or features planned for inclusion in the Creators Update to Windows 10. WSL 的发行说明将在接下来的几周内恢复, 添加目标为下一个主要 Windows 更新。Release notes for WSL will resume in the coming weeks for additions targeting the next major Windows Update. 有关生成15046和未来的内部版本的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15046 and future Insider releases visit the Windows Blog.


生成15042Build 15042

有关生成15042的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15042 visit the Windows Blog.

固定Fixed

  • 解决在删除以 "..." 结尾的路径时出现死锁的问题Fix for a deadlock when removing a path ending in ".."
  • 修复了 FIONBIO 在成功时不返回0的问题 [GH 1683]Fixed an issue where FIONBIO not returning 0 on success [GH 1683]
  • 修复了 inet 数据报套接字的长度为零的问题Fixed issue with zero-length reads of inet datagram sockets
  • 由于 drvfs inode 查找中的争用条件, 修复可能的死锁 [GH 1675]Fix possible deadlock due to race condition in drvfs inode lookup [GH 1675]
  • 扩展了对 unix 套接字辅助数据的支持;SCM_CREDENTIALS 和 SCM_RIGHTS [GH 514, 613, 1326]Extended support for unix socket ancillary data; SCM_CREDENTIALS and SCM_RIGHTS [GH 514, 613, 1326]
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:737Number of Passing Test: 737
未通过的数目 (失败,已跳过,等等...):255Number of non-Passing (failing, skipped, etc…): 255


生成15031Build 15031

有关生成15031的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15031 visit the Windows Blog.

固定Fixed

  • 修复了时间 (2) 偶尔错误行为的 bug。Fixed a bug where time(2) would sporadically misbehave.
  • 已修复并发出 * SIGPROCMASK syscall 可能会损坏信号掩码。Fixed and issue where *SIGPROCMASK syscalls could corrupt signal mask.
  • 现在, 在 WSL 进程创建通知中返回完整的命令行长度。Now return full command line length in WSL process creation notification. [GH 1632][GH 1632]
  • WSL 现在报告通过 ptrace 的线程退出, 以获得 GDB 挂起。WSL now reports thread exit through ptrace for GDB hangs. [GH 1196][GH 1196]
  • 修复了严重 tmux IO 后 ptys 将挂起的 bug。Fixed bug where ptys would hang after heavy tmux IO. [GH 1358][GH 1358]
  • 修复了许多系统调用中的超时验证 (futex、semtimedop、ppoll、sigtimedwait、itimer、timer_create)Fixed timeout validation in many system calls (futex, semtimedop, ppoll, sigtimedwait, itimer, timer_create)
  • 添加了 eventfd EFD_SEMAPHORE 支持 [GH 452]Added eventfd EFD_SEMAPHORE support [GH 452]
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:737Number of Passing Test: 737
未通过的数目 (失败,已跳过,等等...):255Number of non-Passing (failing, skipped, etc…): 255
LTP 测试运行日志LTP Test Run Logs


生成15025Build 15025

有关生成15025的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15025 visit the Windows Blog.

固定Fixed

  • 修复破坏 grep 2.27 [GH 1578] 的 bugFix for bug that broke grep 2.27 [GH 1578]
  • Eventfd2 syscall 的已实现 EFD_SEMAPHORE 标志 [GH 452]Implemented EFD_SEMAPHORE flag for eventfd2 syscall [GH 452]
  • 已实现的/proc/[pid]/net/ipv6_route [GH 1608]Implemented /proc/[pid]/net/ipv6_route [GH 1608]
  • 面向 unix 流套接字的信号驱动 IO 支持 [GH 393, 68]Signal driven IO support for unix stream sockets [GH 393, 68]
  • 支持 F_GETPIPE_SZ 和 F_SETPIPE_SZ [GH 1012]Support F_GETPIPE_SZ and F_SETPIPE_SZ [GH 1012]
  • 实现 recvmmsg () syscall [GH 1531]Implement recvmmsg() syscall [GH 1531]
  • 修复了 epoll_wait () 未在等待的 bug [GH 1609]Fixed bug where epoll_wait() wasn't waiting [GH 1609]
  • 实现/proc/version_signatureImplement /proc/version_signature
  • 如果两个文件说明符引用同一管道, 则Tee syscall now returns failure if both file descriptors refer to the same pipe
  • 为 SO_PEERCRED for Unix 套接字实现了正确行为Implemented correct behavior for SO_PEERCRED for Unix sockets
  • Fixed tkill syscall 无效的参数处理Fixed tkill syscall invalid parameter handling
  • 更改以提高 drvfs 的 preformaceChanges to increase the preformace of drvfs
  • Ruby IO 阻止的次要修补程序Minor fix for Ruby IO blocking
  • Fixed recvmsg () 为 inet 套接字的 MSG_DONTWAIT 标志返回 EINVAL [GH 1296]Fixed recvmsg() returning EINVAL for the MSG_DONTWAIT flag for inet sockets [GH 1296]
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:732Number of Passing Test: 732
未通过的数目 (失败,已跳过,等等...):255Number of non-Passing (failing, skipped, etc…): 255
LTP 测试运行日志LTP Test Run Logs


生成15019Build 15019

有关生成15019的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15019 visit the Windows Blog.

固定Fixed

  • 修复了在 procfs 中错误报告了 CPU 使用率的 bug, 如 htop (GH 823、945、971)Fixed bug that incorrectly reported CPU usage in procfs for tools like htop (GH 823, 945, 971)
  • 在现有文件上对 O_TRUNC 调用 open () 时, inotify 现在会在 IN_OPEN 之前生成 IN_MODIFYWhen calling open() with O_TRUNC on an existing file inotify now generates IN_MODIFY before IN_OPEN
  • 修复了 unix 套接字 getsockopt SO_ERROR 以启用 postgress [GH 61, 1354]Fixes to unix socket getsockopt SO_ERROR to enable postgress [GH 61, 1354]
  • 为中转语言实现/proc/sys/net/core/somaxconnImplement /proc/sys/net/core/somaxconn for the GO language
  • Apt-获取包更新后台任务现在从视图中运行隐藏Apt-get package update background task now runs hidden from view
  • 清除 ipv6 localhost 的作用域 (弹簧框架 (Java) 故障)。Clear scope for ipv6 localhost (Spring-Framework(Java) failure).
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:714Number of Passing Test: 714
未通过的数目 (失败,已跳过,等等...):249Number of non-Passing (failing, skipped, etc…): 249
LTP 测试运行日志LTP Test Run Logs


生成15014Build 15014

有关生成15014的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15014 visit the Windows Blog.

固定Fixed

  • Ctrl + C 现在按预期方式工作Ctrl+C now works as intended
  • htop 和 ps auxw 现在显示正确的资源利用率 (GH #516)htop and ps auxw now show correct resource utilization (GH #516)
  • 将 NT 异常转换为信号的基本转换。Basic translation of NT exceptions to signals. (GH #513)(GH #513)
  • 当空间不足而不是 EINVAL (GH #1571) 时, fallocate 现在会失败 ENOSPCfallocate now fails with ENOSPC when running out of space instead of EINVAL (GH #1571)
  • 添加的/proc/sys/kernel/sem。Added /proc/sys/kernel/sem.
  • 实现 semop 和 semtimedop 系统调用Implemented semop and semtimedop system calls
  • 修复了 IP_RECVTOS & IPV6_RECVTCLASS 套接字选项的 nslookup 错误 (GH 69)Fixed nslookup errors with IP_RECVTOS & IPV6_RECVTCLASS socket option (GH 69)
  • 支持套接字选项 IP_RECVTTL 和 IPV6_RECVHOPLIMITSupport for socket options IP_RECVTTL and IPV6_RECVHOPLIMIT
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:709Number of Passing Test: 709
未通过的数目 (失败,已跳过,等等...):255Number of non-Passing (failing, skipped, etc…): 255
LTP 测试运行日志LTP Test Run Logs

Syscall 摘要Syscall Summary

总 Syscall:384Total Syscalls: 384
已实现的总数:235Total Implemented: 235
总用作存根:22Total Stubbed: 22
未实现总数:127Total Unimplemented: 127
详细细目Detailed Breakdown


生成15007Build 15007

有关生成15007的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15007 visit the Windows Blog.

已知问题Known Issue

  • 有一个已知 bug, 控制台无法识别某些 Ctrl + 输入。There is a known bug where the console does not recognize some Ctrl + input. 这包括将充当普通 "c" 按键的 ctrl-c 命令。This includes the ctrl-c command which will act as a normal ‘c’ keypress.

    • 解决方法:将备用键映射到 Ctrl + C。Workaround: Map an alternate key to Ctrl+C. 例如, 若要将 Ctrl + K 映射到 Ctrl + C, stty intr \^k请执行:。For example, to map Ctrl+K to Ctrl+C do: stty intr \^k. 此映射按终端进行, 并且次启动 bash 时都必须执行此映射。This mapping is per terminal and will have to be done every time bash is launched. 用户可以在其.bashrcUsers can explore the option to include this in their .bashrc

固定Fixed

  • 更正了运行 WSL 会消耗 100% 的 CPU 内核的问题Corrected the issue where running WSL would consume 100% of a CPU core
  • 套接字选项 IP_PKTINFO、IPV6_RECVPKTINFO 现在支持。Socket option IP_PKTINFO, IPV6_RECVPKTINFO now supported. (GH #851, 987)(GH #851, 987)
  • 在 lxcore (GH #1452, 1414, 1343, 468, 308) 中将网络接口物理地址截断为16字节Truncate network interface physical address to 16 bytes in lxcore (GH #1452, 1414, 1343, 468, 308)
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:709Number of Passing Test: 709
未通过的数目 (失败,已跳过,等等...):255Number of non-Passing (failing, skipped, etc…): 255
LTP 测试运行日志LTP Test Run Logs


生成15002Build 15002

有关生成15002的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 15002 visit the Windows Blog.

已知问题Known Issue

两个已知问题:Two known issues:

  • 有一个已知 bug, 控制台无法识别某些 Ctrl + 输入。There is a known bug where the console does not recognize some Ctrl + input. 这包括将充当普通 "c" 按键的 ctrl-c 命令。This includes the ctrl-c command which will act as a normal ‘c’ keypress.

    • 解决方法:将备用键映射到 Ctrl + C。Workaround: Map an alternate key to Ctrl+C. 例如, 若要将 Ctrl + K 映射到 Ctrl + C, stty intr \^k请执行:。For example, to map Ctrl+K to Ctrl+C do: stty intr \^k. 此映射按终端进行, 并且次启动 bash 时都必须执行此映射。This mapping is per terminal and will have to be done every time bash is launched. 用户可以在其.bashrcUsers can explore the option to include this in their .bashrc
  • 当 WSL 运行时, 系统线程将消耗 100% 的 CPU 内核。While WSL is running a system thread will consume 100% of a CPU core. 根本原因已解决并在内部修复。The root cause has been addressed and fixed internally.

固定Fixed

  • 现在必须在同一权限级别创建所有 bash 会话。All bash sessions must now be created at the same permission level. 尝试在不同级别启动会话将被阻止。Attempting to start a session at a different level will be blocked. 这意味着管理员和非管理员控制台不能同时运行。This means admin and non-admin consoles cannot run at the same time. (GH #626)(GH #626)
  • 实现以下 NETLINK_ROUTE 消息 (需要 Windows 管理员)Implemented the following NETLINK_ROUTE messages (requires Windows admin)
    • RTM_NEWADDR (支持ip addr add)RTM_NEWADDR (supports ip addr add)
    • RTM_NEWROUTE (支持ip route add)RTM_NEWROUTE (supports ip route add)
    • RTM_DELADDR (支持ip addr del)RTM_DELADDR (supports ip addr del)
    • RTM_DELROUTE (支持ip route del)RTM_DELROUTE (supports ip route del)
  • 要更新的包的计划任务检查将不再对按流量计费的连接运行 (GH #1371)Scheduled task checking for packages to update will no longer run on a metered connection (GH #1371)
  • 修复了管道停滞的错误, 即 bash-c "ls-alR/" |bash-c "cat" (GH #1214)Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
  • 已实现 TCP_KEEPCNT 套接字选项 (GH #843)Implemented TCP_KEEPCNT socket option (GH #843)
  • 实现的 IP_MTU_DISCOVER INET 套接字选项 (GH #720、717、170、69)Implemented IP_MTU_DISCOVER INET socket option (GH #720, 717, 170, 69)
  • 删除了旧功能, 可通过 NT 路径查找从 init 运行 NT 二进制文件。Removed legacy functionality to run NT binaries from init with NT path lookup. (GH #1325)(GH #1325)
  • 修复/dev/kmsg 模式以允许组/其他读访问 (0644) (GH #1321)Fix mode of /dev/kmsg to allow group / other read access (0644) (GH #1321)
  • 实现的/proc/sys/kernel/random/uuid (GH #1092)Implemented /proc/sys/kernel/random/uuid (GH #1092)
  • 更正了进程开始时间显示为2432年的错误 (GH #974)Corrected error where process start time was showing as year 2432 (GH #974)
  • 切换到 xterm-256color (GH #1446) 的默认术语环境变量Switched default TERM environment variable to xterm-256color (GH #1446)
  • 修改了处理分叉期间计算处理提交的方式。Modified the way that process commit is calculated during process fork. (GH #1286)(GH #1286)
  • 实现的/proc/sys/vm/overcommit_memory。Implemented /proc/sys/vm/overcommit_memory. (GH #1286)(GH #1286)
  • 实现的/proc/net/route 文件 (GH #69)Implemented /proc/net/route file (GH #69)
  • 修复了快捷方式名称错误本地化的错误 (GH #696)Fixed error where shortcut name was incorrectly localized (GH #696)
  • 已修复不正确验证程序标头的 elf 解析逻辑必须小于 (或等于) PATH_MAX。Fixed elf parsing logic that is incorrectly validating the program headers must be less than (or equal to) PATH_MAX. (GH #1048)(GH #1048)
  • 为 procfs、sysfs、cgroupfs 和 binfmtfs (GH #1378) 实现了 statfs 回调Implemented statfs callback for procfs, sysfs, cgroupfs, and binfmtfs (GH #1378)
  • 修复了不会关闭的 AptPackageIndexUpdate 窗口 (GH #1184, 还会在 GH #1193 中讨论)Fixed AptPackageIndexUpdate windows that won’t close (GH #1184, also discussed in GH #1193)
  • 添加了 ASLR 个性 ADDR_NO_RANDOMIZE 支持。Added ASLR personality ADDR_NO_RANDOMIZE support. (GH #1148, 1128)(GH #1148, 1128)
  • 改善了 PTRACE_GETSIGINFO、SIGSEGV, 适用于 AV 期间的适当 gdb 堆栈跟踪 (GH #875)Improved PTRACE_GETSIGINFO, SIGSEGV, for proper gdb stack traces during AV (GH #875)
  • Patchelf 二进制文件的 Elf 分析不再失败。Elf parsing no longer fails for patchelf binaries. (GH #471)(GH #471)
  • VPN DNS 传播到/etc/resolv.conf (GH #416, 1350)VPN DNS propagated to /etc/resolv.conf (GH #416, 1350)
  • 提高 TCP 关闭以实现更可靠的数据传输。Improvements to TCP close for more reliable data transfer. (GH #610, 616, 1025, 1335)(GH #610, 616, 1025, 1335)
  • 现在, 在打开太多文件时返回正确的错误代码 (EMFILE)。Now return correct error code when too many files are opened (EMFILE). (GH #1126, 2090)(GH #1126, 2090)
  • Windows 审核日志现在会报告进程创建审核中的映像名称。Windows Audit log now reports the image name in process create audit.
  • 从 bash 窗口中启动 bash 时, 现在正常失败Now gracefully fail when launching bash.exe from within a bash window
  • 在互操作无法访问 LxFs 下的工作目录时添加了错误消息 (例如 .bashrc)Added error message when interop is unable to access a working directory under LxFs (i.e. notepad.exe .bashrc)
  • 修复了在 WSL 中截断 Windows 路径的问题Fixed issue where Windows path was truncated in WSL
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:690Number of Passing Test: 690
未通过的数目 (失败,已跳过,等等...):274Number of non-Passing (failing, skipped, etc…): 274
LTP 测试运行日志LTP Test Run Logs


Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

shmctl
shmget
shmdt
shmat

生成14986Build 14986

有关生成14986的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14986 visit the Windows Blog.

固定Fixed

  • 修复了与 Netlink 和 Pty IOCTLs 的错误检查Fixed bugchecks with Netlink and Pty IOCTLs
  • 内核版本现在报告 4.4.0-43 与 Xenial 的一致性Kernel version now reports 4.4.0-43 for consistency with Xenial
  • 当输入定向到 "nul:" (GH #1259) 时, Bash 立即启动Bash.exe now launches when input directed to 'nul:' (GH #1259)
  • 线程 Id 现在在 procfs 中报告正确 (GH #967)Thread IDs now reported correctly in procfs (GH #967)
  • IN_UNMOUNT |IN_Q_OVERFLOW |IN_IGNORED |Inotify_add_watch () 中现支持 IN_ISDIR 标志 (GH #1280)IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR flags now supported in inotify_add_watch() (GH #1280)
  • 实现 timer_create 和相关的系统调用。Implement timer_create and related system calls. 这将启用 GHC 支持 (GH #307)This enables GHC support (GH #307)
  • 修复了 ping 返回时间 0.000 ms 的问题 (GH #1296)Fixed issue where ping returned a time of 0.000ms (GH #1296)
  • 当打开太多文件时, 返回正确的错误代码。Return correct error code when too many files are opened.
  • 修复了 WSL 中的问题: 如果接口的硬件地址为32字节 (如 Teredo 接口), 则网络接口数据的 Netlink 请求将会失败, 并出现 EINVAL。Fixed issue in WSL where Netlink request for network interface data would fail with EINVAL if the interface's hardware address is 32-bytes (such as the Teredo interface)
    • 请注意, Linux "ip" 实用工具包含一个 bug, 如果 WSL 报告了32字节的硬件地址, 它会崩溃。Note that the Linux "ip" utility contains a bug where it will crash if WSL reports a 32-byte hardware address. 这是 "ip" 中的错误, 而不是 WSL。This is a bug in "ip", not WSL. "Ip" 实用工具将用于打印硬件地址的字符串缓冲区的长度硬编码, 而该缓冲区太小, 无法打印32字节的硬件地址。The “ip” utility hard-codes the length of the string buffer used to print the hardware address, and that buffer is too small to print a 32-byte hardware address.
  • 其他修复和改进Additional fixes and improvements

LTP 结果:LTP Results:

通过的测试数:669Number of Passing Test: 669
未通过的数目 (失败,已跳过,等等...):258Number of non-Passing (failing, skipped, etc…): 258
LTP 测试运行日志LTP Test Run Logs


Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

timer_create
timer_delete
timer_gettime
timer_settime

生成14971Build 14971

有关生成14971的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14971 visit the Windows Blog.

固定Fixed

  • 由于控件之外的情况, 对于适用于 Linux 的 Windows 子系统, 此版本中没有更新。Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. 定期计划的更新将在下一版本中继续进行。Regularly scheduled updates will resume on the next release.

LTP 结果:LTP Results:

从14965无变化Unchanged from 14965
通过的测试数:664Number of Passing Test: 664
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14965Build 14965

有关生成14965的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14965 visit the Windows Blog.

固定Fixed

  • 支持 Netlink socket NETLINK_ROUTE 协议的 RTM_GETLINK 和 RTM_GETADDR (GH #468)Support for Netlink sockets NETLINK_ROUTE protocol's RTM_GETLINK and RTM_GETADDR (GH #468)

  • 默认情况下,/sbin 现在位于用户的路径中/sbin is now in the user's path by default

  • 默认情况下, NT 用户路径现在追加到 WSL 路径 (即, 你现在可以键入 notepad.exe, 无需向 Linux 路径添加 System32)NT user path now appended to the WSL path by default (i.e. you can now type notepad.exe without adding System32 to the Linux path)

  • 添加了对/proc/sys/kernel/cap_last_cap 的支持Added support for /proc/sys/kernel/cap_last_cap

  • 当当前工作目录包含非 ansi 字符时, 现在可以从 WSL 启动 NT 二进制文件 (GH #1254)NT Binaries can now be launched from WSL when the current working directory contains non-ansi characters (GH #1254)

  • 允许在断开连接的 unix 流套接字上关闭。Allow shutdown on disconnected unix stream socket.

  • 添加了对 PR_GET_PDEATHSIG 的支持。Added support for PR_GET_PDEATHSIG.

  • 添加了对 CLONE_PARENT 的支持Added support for CLONE_PARENT

  • 修复了管道停滞的错误, 即 bash-c "ls-alR/" |bash-c "cat" (GH #1214)Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)

  • 处理连接到当前终端的请求。Handle requests to connect to the current terminal.

  • 将/proc//oom_score_adj 标记为可写。Mark /proc//oom_score_adj as writable.

  • 添加/sys/fs/cgroup 文件夹。Add /sys/fs/cgroup folder.

  • sched_setaffinity 应返回关联位掩码的数目sched_setaffinity should return number of affinity bits mask

  • 修复不正确假定解释器路径的 ELF 验证逻辑长度必须小于64个字符。Fix ELF validation logic which incorrectly assumes interpreter paths must be less than 64 characters long. (GH #743)(GH #743)

  • 打开文件描述符会使控制台窗口保持打开状态 (GH #1187)Open file descriptors can keep console window open (GH #1187)

  • Fixeed 错误, 其中重命名 () 失败, 目标名称上有尾随斜杠 (GH #1008)Fixeed error where rename() failed with trailing slash on target name (GH #1008)

  • 实现/proc/net/dev 文件Implement /proc/net/dev file

  • 已修复 0.000 ms ping, 因为计时器分辨率。Fixed 0.000ms pings due to timer resolution.

  • 实现的/proc/self/environ (GH #730)Implemented /proc/self/environ (GH #730)

  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:664Number of Passing Test: 664
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14959Build 14959

有关生成14959的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14959 visit the Windows Blog.

固定Fixed

  • 改善了 Windows 的 Pico 过程通知。Improved Pico Process notification for Windows. WSL 博客上的其他信息。Additional information found on the WSL Blog.
  • 提高了 Windows 互操作性的稳定性Improved stability with Windows interoperability
  • 修复了在启用企业数据保护 (EDP) 时启动 bash 时出现的错误0x80070057Fixed error 0x80070057 when launching bash.exe when Enterprise Data Protection (EDP) is enabled
  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:665Number of Passing Test: 665
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14955Build 14955

有关生成14955的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14955 visit the Windows Blog.

固定Fixed

  • 由于控件之外的情况, 对于适用于 Linux 的 Windows 子系统, 此版本中没有更新。Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. 定期计划的更新将在下一版本中继续进行。Regularly scheduled updates will resume on the next release.

LTP 结果:LTP Results:

通过的测试数:665Number of Passing Test: 665
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14951Build 14951

有关生成14951的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14951 visit the Windows Blog.

新功能:Windows/Ubuntu 互操作性New Feature: Windows / Ubuntu Interoperability

现在可以从 WSL 命令行直接调用 Windows 二进制文件。Windows binaries can now be invoked directly from the WSL command line. 这使用户能够以一种不可能的方式与其 Windows 环境和系统交互。This gives users the ability to interact with their Windows environment and system in a way that has not been possible. 作为一个快速示例, 用户现在可以运行以下命令:As a quick example, it is now possible for users to run the following commands:

```
$ 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
```

有关详细信息, 请参阅:More information can be found at:

固定Fixed

  • 现在为所有新的 WSL 实例安装了 Ubuntu 16.04 (Xenial)。Ubuntu 16.04 (Xenial) is now installed for all new WSL instances. 将不会自动升级具有现有 14.04 (t) 实例的用户。Users with existing 14.04 (Trusty) instances will not be automatically upgraded.
  • 现在会显示安装过程中设置的区域设置Locale set during install is now displayed
  • 包含 bug 的终端改进, 其中将 WSL 进程重定向到文件并不总是有效Terminal improvements including bug where redirecting a WSL process to a file does not always work
  • 控制台生存期应该与 bash 生存期相关联Console lifetime should be tied to bash.exe lifetime
  • 控制台窗口大小应使用可见大小, 而不是缓冲区大小Console window size should use visible size, not buffer size
  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:665Number of Passing Test: 665
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14946Build 14946

有关生成14946的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14946 visit the Windows Blog.

固定Fixed

  • 修复了阻止为具有包含空格或引号的 NT 用户名的用户创建 WSL 用户帐户的问题。Fixed an issue that prevented creating WSL user accounts for users with NT usernames that contain spaces or quotes.

  • 更改 VolFs 和 DrvFs, 以在 stat 中为目录的链接计数返回0Change VolFs and DrvFs to return 0 for directory's link count in stat

  • 支持 IPV6_MULTICAST_HOPS 套接字选项。Support IPV6_MULTICAST_HOPS socket option.

  • 仅限每 tty 使用单个控制台 i/o 循环。Limit to a single console I/O loop per tty. 示例: 可以执行以下命令:Example: the following command is possible:

    • bash-c "回显数据" |bash-c "ssh user@example.com " cat > foo .txt ""bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
  • 用/proc/cpuinfo 中的制表符替换空格 (GH #1115)replace spaces with tabs in /proc/cpuinfo (GH #1115)

  • DrvFs 现在显示在 mountinfo 中, 其名称与已装入的 Windows 卷匹配DrvFs now appears in mountinfo with a name that matches mounted Windows volume

  • /home 和/root 现在显示在具有正确名称的 mountinfo 中/home and /root now appear in mountinfo with correct names

  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:665Number of Passing Test: 665
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs


生成14942Build 14942

有关生成14942的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14942 visit the Windows Blog.

固定Fixed

  • 解决了多个错误检查, 包括正在阻止 SSH 的 "尝试执行 NOEXECUTE 内存" 网络崩溃A number of bugchecks addressed, including the “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY” networking crash which was blocking SSH
  • inotifiy 对 DrvFs 上的 Windows 应用程序生成的通知的支持现已在inotifiy support for notifications generated from Windows applications on DrvFs is now in
  • 实现 TCP_KEEPIDLE 和 TCP_KEEPINTVL for mongod.exe。Implement TCP_KEEPIDLE and TCP_KEEPINTVL for mongod. (GH #695)(GH #695)
  • 实现 pivot_root 系统调用Implement the pivot_root system call
  • 为 SO_DONTROUTE 实现套接字选项Implement socket option for SO_DONTROUTE
  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:665Number of Passing Test: 665
未通过的数目 (失败,已跳过,等等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 测试运行日志LTP Test Run Logs

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

pivot_root

生成14936Build 14936

有关生成14936的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14936 visit the Windows Blog.

注意:在即将发布的版本中, WSL 将安装 Ubuntu 版本 16.04 (Xenial), 而不是 Ubuntu 14.04 (t)。Note: WSL will install Ubuntu version 16.04 (Xenial) instead of Ubuntu 14.04 (Trusty) in an upcoming release. 此更改将应用于安装新实例的预览体验 (lxrun/install 或首次运行 bash)。This change will apply to Insiders installing new instances (lxrun.exe /install or first run of bash.exe). 具有 t 的现有实例将不自动升级。Existing instances with Trusty will not be upgraded automatically. 用户可以使用 "t-升级" 命令将其 "" 映像升级到 Xenial。Users can upgrade their Trusty image to Xenial using the do-release-upgrade command.

已知问题Known Issue

WSL 遇到一些套接字实现问题。WSL is experiencing an issue with some socket implementations. 错误检查会将自身视为崩溃, 并出现错误 "已尝试执行 NOEXECUTE 内存"。The bugcheck manifests itself as a crash with the error “ATTEMPTED EXECUTE OF NOEXECUTE MEMORY”. 此问题的最常见表现形式是使用 ssh 时出现故障。The most common manifestation of this issue is a crash when using ssh. 根本原因是在内部版本中修复的, 将按最早的机会推送到内部版本。The root cause is fixed on internal builds and will be pushed to Insiders at the earliest opportunity.

固定Fixed

  • 实现了 chroot 系统调用Implemented the chroot system call
  • Inotify 中的改进~~, 包括支持在 DrvFs 上的 Windows 应用程序中生成的通知~~Improvements in inotify including support for notifications generated from Windows applications on DrvFs
    • 更正Inotify 对源自 Windows 应用程序的更改的支持目前不可用。Correction: Inotify support for changes originating from Windows applications not available at this time.
  • 将套接字绑定到 IPV6 :: 现在支持 IPV6_V6ONLY (GH #68、#157、#393、#460、#674、#740、#982、#996)Socket binding to IPV6:: now supports IPV6_V6ONLY (GH #68, #157, #393, #460, #674, #740, #982, #996)
  • Waitid systemcall 实现的 WNOWAIT 行为 (GH #638)WNOWAIT behavior for waitid systemcall implemented (GH #638)
  • 支持 IP 套接字选项 IP_HDRINCL 和 IP_TTLSupport for IP socket options IP_HDRINCL and IP_TTL
  • 长度为零的读取 () 应立即返回 (GH #975)Zero-length read() should return immediately (GH #975)
  • 正确处理在 tar 文件中不包括 NULL 终止符的文件名和文件名前缀。Correctly handle filenames and filename prefixes that don't include a NULL terminator in a .tar file.
  • epoll 对/dev/null 的支持epoll support for /dev/null
  • 修复/dev/alarm 时间源Fix /dev/alarm time source
  • Bash-c 现在可以重定向到文件Bash -c now able to redirect to a file
  • 其他 bug 修复和改进Additional bugfixes and improvements

LTP 结果:LTP Results:

通过的测试数:664Number of Passing Test: 664
未通过的数目 (失败,已跳过,等等...):264Number of non-Passing (failing, skipped, etc…): 264
LTP 测试运行日志LTP Test Run Logs

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

chroot

生成14931Build 14931

有关生成14931的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14931 visit the Windows Blog.

固定Fixed

  • 由于控件之外的情况, 对于适用于 Linux 的 Windows 子系统, 此版本中没有更新。Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. 定期计划的更新将在下一版本中继续进行。Regularly scheduled updates will resume in the next release.

生成14926Build 14926

有关生成14926的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14926 visit the Windows Blog.

固定Fixed

  • Ping 现在适用于没有管理员权限的控制台Ping now works in consoles which do not have administrator privileges
  • 现在还支持 Ping6, 无需管理员权限Ping6 now supported, also without administrator privileges
  • Inotify 支持通过 WSL 修改的文件。Inotify support for files modified through WSL. (GH #216)(GH #216)
    • 支持的标志:Flags supported:
      • inotify_init1:LX_O_CLOEXEC, LX_O_NONBLOCKinotify_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_SELFinotify_add_watch events: 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_ONLYDIRinotify_add_watch attributes: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
      • 读取输出:LX_IN_ISDIR, LX_IN_IGNOREDread output: LX_IN_ISDIR, LX_IN_IGNORED
    • 已知问题:修改 Windows 应用程序中的文件不会生成任何事件Known issue: Modifying files from Windows applications does not generate any events
  • Unix 套接字现在支持 SCM_CREDENTIALSUnix socket now supports SCM_CREDENTIALS

LTP 结果:LTP Results:

通过的测试数:651Number of Passing Test: 651
未通过的数目 (失败,已跳过,等等...):258Number of non-Passing (failing, skipped, etc…): 258
LTP 测试运行日志LTP Test Run Logs


生成14915Build 14915

有关生成14915的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14915 visit the Windows Blog.

固定Fixed

  • Socketpair for unix 数据报套接字 (GH #262)Socketpair for unix datagram sockets (GH #262)
  • 适用于 SO_REUSEADDR 的 Unix 套接字支持Unix socket support for SO_REUSEADDR
  • UNIX 套接字支持 SO_BROADCAST (GH #568)UNIX socket support for SO_BROADCAST (GH #568)
  • 适用于 SOCK_SEQPACKET (GH #758, #546) 的 Unix 套接字支持Unix socket support for SOCK_SEQPACKET (GH #758, #546)
  • 添加对 unix 数据报套接字发送、接收和关闭的支持Adding support for unix datagram socket send, recv and shutdown
  • 由于非固定地址的 mmap 参数验证无效, 因此修复了检测错误。Fix bugcheck due to invalid mmap parameter validation for non-fixed addresses. (GH #847)(GH #847)
  • 支持暂停/继续停止状态Support for suspend / resume of terminal states
  • 支持 TIOCPKT ioctl 阻止屏幕实用工具 (GH #774)Support for TIOCPKT ioctl to unblock the Screen utility (GH #774)
    • 已知问题:功能键不可操作Known issue: Function keys not operational
  • 更正了 TimerFd 中的争用, 这可能导致 LxpTimerFdWorkerRoutine (GH #814) 访问已释放的成员 "ReaderReady"Corrected a race in TimerFd that could cause a freed member 'ReaderReady' to be accessed by LxpTimerFdWorkerRoutine (GH #814)
  • 为 futex、投票和 clock_nanosleep 启用可重启的系统调用支持Enable restartable system call support for futex, poll, and clock_nanosleep
  • 添加了 bind 装载支持Added bind mount support
  • 用于装载命名空间支持的取消共享unshare for mount namespace support
    • 已知问题:使用unshare(CLONE_NEWNS)当前工作目录创建新的装载命名空间时, 将继续指向旧命名空间Known issue: When creating a new mount namespace with unshare(CLONE_NEWNS) the current working directory will continue to point to the old namespace
  • 其他改进和 bug 修复Additional improvements and bug fixes

生成14905Build 14905

有关生成14905的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14905 visit the Windows Blog.

固定Fixed

  • 现在支持可重启的系统调用 (GH #349, GH #520)Restartable system calls are now supported (GH #349, GH #520)
  • 符号链接结束/立即操作的目录 (GH #650)Symlinks to directories ending in / now operational (GH #650)
  • 为/dev/random 实现了 RNDGETENTCNT ioctlImplemented RNDGETENTCNT ioctl for /dev/random
  • 实现了/proc/[pid]/mounts、/proc/[pid]/mountinfo 和/proc/[pid]/mountstats 文件Implemented the /proc/[pid]/mounts, /proc/[pid]/mountinfo and /proc/[pid]/mountstats files
  • 其他 bug 修复和改进Additional bugfixes and improvements

生成14901Build 14901

Windows 10 周年更新版本的第一批内幕构建。First Insider build for the post Windows 10 Anniversary Update release.

有关生成14901的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14901 visit the Windows Blog.

固定Fixed

  • 修复了尾随斜杠问题Fixed trailing slash issue
    • 像现在这样$ mv a/c/ a/b/的命令Commands such as $ mv a/c/ a/b/ now work
  • 如果 Ubuntu 区域设置应设置为 Windows 区域设置, 则立即安装Installing now prompts if Ubuntu locale should be set to Windows locale
  • Procfs 支持 ns 文件夹Procfs support for ns folder
  • 添加了 tmpfs、procfs 和 sysfs 文件系统的装载和卸载Added mount and unmount for tmpfs, procfs and sysfs file systems
  • 修复 mknod [at] 32 位 ABI 签名Fix mknod[at] 32-bit ABI signature
  • Unix 套接字已移动到调度模型Unix sockets moved to dispatch model
  • INET 套接字接收使用 setsockopt 设置的缓冲区大小应遵守INET socket recv buffer size set using the setsockopt should be honored
  • 实现 MSG_CMSG_CLOEXEC unix 套接字接收消息标志Implement MSG_CMSG_CLOEXEC unix socket receive message flag
  • Linux 进程 stdin/stdout 管道重定向 (GH #2)Linux process stdin/stdout pipe redirection (GH #2)
    • 允许在 CMD 中管道的 bash 命令。Allows for piping of bash -c commands in CMD. 示例: > dir |bash-c "grep foo"Example: >dir | bash -c "grep foo"
  • Bash 现在可以安装在具有多个页面页面 (GH #538, #358) 的系统上Bash can now be installed on systems with multiple pagefiles (GH #538, #358)
  • 默认的 INET 套接字缓冲区大小应与默认 Ubuntu 安装程序的大小匹配Default INET Socket buffer size should match that of default Ubuntu setup
  • 将 xattr syscall 与 listxattr 对齐Align xattr syscalls to listxattr
  • 仅返回具有 SIOCGIFCONF 的有效 IPv4 地址的接口Only return interfaces with a valid IPv4 address from SIOCGIFCONF
  • 修复 ptrace 注入的信号默认操作Fix signal default action when injected by ptrace
  • 实现/proc/sys/vm/min_free_kbytesimplement /proc/sys/vm/min_free_kbytes
  • 还原 sigreturn 中的上下文时使用计算机上下文寄存器值Use machine context register values when restoring context in sigreturn
    • 这解决了某些用户的 java 和 javac 挂起的问题This resolves the issue where java and javac were hanging for some users
  • 实现/proc/sys/kernel/hostnameImplement /proc/sys/kernel/hostname

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

waitid
epoll_pwait


生成14388到 Windows 10 周年更新Build 14388 to Windows 10 Anniversary Update

有关生成14388的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14388 visit the Windows Blog.

固定Fixed

  • 修复了8/2 上 Windows 10 周年更新的准备工作Fixes to prepare for the Windows 10 Anniversary Update on 8/2
    • 有关周年更新中的 WSL 的详细信息, 请参阅我们的博客More information about WSL in the Anniversary Update can be found on our blog

生成14376Build 14376

有关生成14376的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14376 visit the Windows Blog.

固定Fixed

  • 删除了一些实例, 其中 apt 挂起 (GH #493)Removed some instances where apt-get hangs (GH #493)
  • 修复了未正确处理空装载的问题Fixed an issue where empty mounts were not handled correctly
  • 修复了 ramdisks 未正确装载的问题Fixed an issue where ramdisks were not mounted correctly
  • 更改 unix 套接字接受以支持标志 (部分 GH #451)Change unix socket accept to support flags (partial GH #451)
  • 修复了与通用网络相关的蓝屏Fixed common network related bluescreen
  • 修复了访问/proc/时的蓝屏 [pid]/task (GH #523)Fixed bluescreen when accessing /proc/[pid]/task (GH #523)
  • 修复了某些 pty 方案的高 CPU 使用率 (GH #488, #504)Fixed high CPU utilization for some pty scenarios (GH #488, #504)
  • 其他 bug 修复和改进Additional bugfixes and improvements

生成14371Build 14371

有关生成14371的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14371 visit the Windows Blog.

固定Fixed

  • 使用 ptrace 更正计时争用与 SIGCHLD 和 wait ()Corrected timing race with SIGCHLD and wait() when using ptrace
  • 当路径具有尾随/(GH #432) 时更正了某些行为Corrected some behavior when paths have a trailing / (GH #432)
  • 修复了重命名/取消链接因打开子句柄而失败的问题Fixed issue with rename/unlink failing due to open handles to children
  • 其他 bug 修复和改进Additional bugfixes and improvements

生成14366Build 14366

有关生成14366的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14366 visit the Windows Blog.

固定Fixed

  • 通过符号链接在文件创建中修复Fix in file creation through symlinks
  • 添加了适用于 Python 的 listxattr (GH 385)Added listxattr for Python (GH 385)
  • 其他 bug 修复和改进Additional bugfixes and improvements

Syscall 支持Syscall Support

  • 下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

listxattr

生成14361Build 14361

有关生成14361的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14361 visit the Windows Blog.

固定Fixed

  • 在 Windows 上的 Ubuntu 上运行 Bash 时, DrvFs 现在区分大小写。DrvFs is now case sensitive when running in Bash on Ubuntu on Windows.
    • 用户可以为 .txt 和 CASE。/Mnt/c 驱动器上的 TXTUsers may case.txt and CASE.TXT on their /mnt/c drives
    • Windows 上的 Bash 中仅支持区分大小写。Case sensitivity is only supported within Bash on Ubuntu on Windows. 在 Bash NTFS 外, 会正确报告文件, 但可能会发生意外行为, 与 Windows 中的文件交互。When outside of Bash NTFS will report the files correctly, but unexpected behavior may occur interacting with the files from Windows.
    • 每个卷的根目录 (即/mnt/c) 不区分大小写The root of each volume (i.e. /mnt/c) is not case sensitive
    • 可在此处找到有关如何处理 Windows 中的这些文件的详细信息。More information on handling these files in Windows can be found here.
  • 大大增强了 pty/tty 支持。Greatly enhanced pty / tty support. 现在支持 TMUX 等应用程序 (GH #40)Applications like TMUX now supported (GH #40)
  • 修复了不总是创建用户帐户的安装问题Fixed install issue where user accounts not always created
  • 优化的命令行 arg 结构, 允许非常长的参数列表。Optimized command line arg structure allowing for extremely long argument list. (GH #153)(GH #153)
  • 现可从 DrvFs 删除和 chmod read_only 文件Now able to delete and chmod read_only files from DrvFs
  • 修复了终端在断开连接时挂起的某些实例 (GH #43)Fixed some instances where the terminal hangs on disconnect (GH #43)
  • chmod 和 chown 现在可在 tty 设备上工作chmod and chown now work on tty devices
  • 允许连接到0.0.0.0 和:: 作为 localhost (GH #388)Allow connection to 0.0.0.0 and :: as localhost (GH #388)
  • Sendmsg/recvmsg 现在处理 > 1 (partial GH #376) 的 IO 矢量长度Sendmsg/recvmsg now handle an IO vector length of >1 (partial GH #376)
  • 用户现在可以选择退出自动生成的 hosts 文件 (GH #398)Users can now opt-out of auto-generated hosts file (GH #398)
  • 在安装期间自动将 Linux 区域设置与 NT 区域设置匹配 (GH #11)Automatically match Linux locale to the NT locale during install (GH #11)
  • 添加了/proc/sys/vm/swappiness 文件 (GH #306)Added the /proc/sys/vm/swappiness file (GH #306)
  • 跟踪来现已正确退出strace now exits correctly
  • 允许通过/proc/self/fd 重新打开管道 (GH #222)Allow pipes to be reopened through /proc/self/fd (GH #222)
  • 隐藏%LOCALAPPDATA%\lxss 中的目录 DrvFs (GH #270)Hide directories under %LOCALAPPDATA%\lxss from DrvFs (GH #270)
  • 更好地处理 bash ~。Better handling of bash.exe ~. 现在支持类似于 "bash ~-c ls" 的命令 (GH #467)Commands like “bash ~ -c ls” now supported (GH #467)
  • 插座现在会通知 epoll 读取在关闭期间可用 (GH #271)Sockets now notify epoll read available during shutdown (GH #271)
  • lxrun/uninstall 更好地删除文件和文件夹lxrun /uninstall does a better job of deleting the files and folders
  • 更正的 ps-f (GH #246)Corrected ps -f (GH #246)
  • 改善了对 x11 应用的支持, 如 xEmacs (GH #481)Improved support for x11 apps such as xEmacs (GH #481)
  • 已更新初始线程堆栈大小以匹配默认 Ubuntu 设置, 并正确报告 get_rlimit syscall 的大小 (GH #172, #258)Updated initial thread stack size to match default Ubuntu setting and reporting the size correctly to the get_rlimit syscall (GH #172, #258)
  • 改善了 pico 进程映像名称 (例如, 审核) 的报告Improved reporting of pico process image names (e.g., for auditing)
  • 为 df 命令实现了/proc/mountinfoImplemented /proc/mountinfo for df command
  • 修复了子名称的符号链接错误代码。Fixed symlink error code for child name . 和。and ..
  • 其他改进 bug 修复和改进Additional improvements bugfixes and improvements

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE

生成14352Build 14352

有关生成14352的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14352 visit the Windows Blog.

固定Fixed

  • 修复了找不到正确下载/创建大型文件的问题。Fixed issue where large files were not downloaded / created correctly. 这应取消阻止 npm 和其他方案 (GH #3, GH #313)This should unblock npm and other scenarios (GH #3, GH #313)
  • 删除了套接字挂起的一些实例Removed some instances where sockets hang
  • 更正了一些 ptrace 错误Corrected some ptrace errors
  • 修复了 WSL 的问题, 允许文件名超过255个字符Fixed issue with WSL allowing filenames longer than 255 characters
  • 改进了对非英语字符的支持Improved support for non-English characters
  • 添加当前 Windows 时区数据并将其设置为默认值Add current Windows timezone data and set as default
  • 每个装入点的唯一设备 id (jre fix – GH #49)Unique device id’s for each mount point (jre fix – GH #49)
  • 更正包含 "." 的路径的问题Correct issue with paths containing “.” 和 "..."and “..”
  • 添加了 Fifo 支持 (GH #71)Added Fifo support (GH #71)
  • 已更新 resolv.conf 格式, 以匹配本地 Ubuntu 格式Updated format of resolv.conf to match native Ubuntu format
  • 某些 procfs 清理Some procfs cleanup
  • 为管理员控制台启用了 ping (GH #18)Enabled ping for Administrator consoles (GH #18)

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

FALLOCATE
EXECVE
LGETXATTR
FGETXATTR

生成14342Build 14342

有关Windows 博客上版本14342的常规 windows 信息。For general Windows information on build 14342 the Windows Blog.

有关 VolFs 和 DriveFs 的信息, 请参阅WSL 博客Information on VolFs and DriveFs can be found on the WSL Blog.

固定Fixed

  • 修复了 Windows 用户在用户名中包含 Unicode 字符时的安装问题Fixed install issue when the Windows user had Unicode characters in the username
  • 默认情况下, 在首次运行时, 默认情况下提供常见问题中的 apt-get update udev 解决方法The apt-get update udev workaround in the FAQ is now provided by default on first run
  • 已启用 DriveFs (/mnt/) 目录中的符号链接Enabled symlinks in DriveFs (/mnt/) directories
  • 符号链接在 DriveFs 和 VolFs 之间工作Symlinks now work between DriveFs and VolFs
  • 解决了顶层路径分析问题: ls.//现在将按预期方式工作Addressed top level path parsing issue: ls .// will now work as expected
  • npm 安装在 DriveFs 上并且-g 选项现在正在工作npm install on DriveFs and the -g options are now working
  • 修复了阻止 PHP 服务器启动的问题Fixed issue preventing PHP server from launching
  • 更新了默认环境值, 例如 $PATH 以便更接近本地 UbuntuUpdated default environment values, such as $PATH to closer match native Ubuntu
  • 在 Windows 中添加了每周维护任务以更新 apt 包缓存Added a weekly maintenance task in Windows to update the apt package cache
  • 修复了 ELF 标头验证问题, WSL 现在支持所有 Melkor 选项Fixed issue with ELF header validation, WSL now supports all Melkor options
  • Zsh shell 正常运行Zsh shell is functional
  • 现在支持预编译的中转二进制文件Precompiled Go binaries are now supported
  • 在 Bash 首次运行时提示现在已正确本地化Prompting on Bash.exe first run is now localized correctly
  • /proc/meminfo 现在返回正确的信息/proc/meminfo now returns correct information
  • VFS 现在支持套接字Sockets now supported in VFS
  • /dev 现在装载为 tempfs/dev now mounted as tempfs
  • 现在支持 FifoFifo now supported
  • 多核系统现在在/proc/cpuinfo 中显示正确Multi-core systems now showing correctly in /proc/cpuinfo
  • 首次运行时下载的其他改进和错误消息Additional improvements and error messages downloading during first run
  • Syscall 改进和 bug 修复。Syscall improvements and bugfixes. 下面支持的 syscall 列表。Supported syscall list below.
  • 其他 bug 修复和改进Additional bugfixes and improvements

已知问题Known Issues

  • 不解析 "..."Not resolving ‘..’ 在某些情况下, 在 DriveFs 上正确correctly on DriveFs in some cases

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新的或增强的 syscall 的列表。Below are a list of new or enhanced syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

生成14332Build 14332

有关生成14332的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14332 visit the Windows Blog.

固定Fixed

  • 更好的 resolv.conf 生成, 包括优先级 DNS 条目Better resolv.conf generation including prioritizing DNS entries
  • 在/mnt 和非/mnt 驱动器之间移动文件和目录时出现的问题Issue with moving files and directories between /mnt and non-/mnt drives
  • 现在可以通过符号链接创建 Tar 文件。Tar files can now be created with symlinks
  • 创建实例时添加了默认的/run/lock 目录Added default /run/lock directory on instance creation
  • 更新/dev/null 以返回正确的 stat 信息Update /dev/null to return proper stat info
  • 首次运行期间下载时出现的其他错误Additional errors when downloading during first run
  • Syscall 改进和 bug 修复。Syscall improvements and bugfixes. 下面支持的 syscall 列表。Supported syscall list below.
  • 其他改进 bug 修复和改进Additional improvements bugfixes and improvements

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的新 syscall。Below is the new syscall that has some implementation in WSL. 此列表中的 syscall 至少在一种方案中受支持, 但目前不支持所有参数。The syscall on this list is supported in at least one scenario, but may not have all parameters supported at this time.

READLINKAT

生成14328Build 14328

有关生成14332的常规 Windows 信息, 请访问Windows 博客For general Windows information on build 14332 visit the Windows Blog.

新功能New Features

  • 现在支持 Linux 用户。Now support Linux users. 在 Windows 上的 Ubuntu 上安装 Bash 将提示创建 Linux 用户。Installing Bash on Ubuntu on Windows will prompt for creation of a Linux user. 有关详细信息, 请访问 https://aka.ms/wslusersFor more information, visit https://aka.ms/wslusers
  • 现在, 主机名设置为 Windows 计算机名称, 不能再@localhostHostname is now set to the Windows computer name, no more @localhost
  • 有关生成14328的详细信息, 请访问: https://aka.ms/wip14328For more information on build 14328, visit: https://aka.ms/wip14328

固定Fixed

  • 非/mnt/文件的符号改进Symlink improvements for non /mnt/ files
    • npm 安装现可正常运行npm install now works
    • 现在使用此处的说明可安装 jdk/jre。jdk / jre now installable using instructions found here.
    • 已知问题: 符号链接不适用于 Windows 安装。known issue: symlinks do not work for Windows mounts. 功能将在以后的版本中提供Functionality will be available in a later build
  • 顶部和 htop 现在显示top and htop now display
  • 某些安装失败的其他错误消息Additional error messages for some install failures
  • Syscall 改进和 bug 修复。Syscall improvements and bugfixes. 下面支持的 syscall 列表。Supported syscall list below.
  • 其他改进 bug 修复和改进Additional improvements bugfixes and improvements

Syscall 支持Syscall Support

下面是在 WSL 中具有一些实现的 syscall 的列表。Below is a list of syscalls that have some implementation in WSL. 此列表上的 syscall 在至少一个方案中受支持, 但目前不支持所有参数。Syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

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