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

内部版本 20211Build 20211

有关内部版本 20211 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 20211 visit the Windows blog.

  • 用于装载物理或虚拟磁盘的 wsl.exe --mount 简介。Introduce wsl.exe --mount for mounting physical or virtual disks. 有关详细信息,请参阅访问 Windows 和 WSL 2 中的 Linux 文件系统For more information see Access Linux filesystems in Windows and WSL 2.
  • 解决检查 VM 是否处于空闲状态时 LxssManager 服务发生崩溃的问题。Fix crash in LxssManager service when checking if the VM is idle. [GH 5768][GH 5768]
  • 支持压缩的 VHD 文件。Support for compressed VHD files. [GH 4103][GH 4103]
  • 确保在 OS 升级期间保留安装到 c:\windows\system32\lxss\lib 的 Linux 用户模式库。Ensure that Linux user mode libs installed to c:\windows\system32\lxss\lib are preserved across OS upgrade. [GH 5848][GH 5848]
  • 添加了功能:列出可使用 wsl --install --list-distributions 安装的可用分发。Added the ability to list available distributions that can be installed with wsl --install --list-distributions.
  • 现在,当用户注销时,WSL 实例会终止运行。WSL instances are now terminated when the user logs off.

内部版本 20190Build 20190

有关内部版本 20190 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 20190 visit the Windows blog.

  • 修复阻止 WSL1 实例启动的 bug。Fix bug preventing WSL1 instances from launching. [GH 5633][GH 5633]
  • 修复重定向 Windows 进程输出时出现的挂起。Fix hang when redirecting Windows process output. [GH 5648][GH 5648]
  • 添加 %userprofile%\.wslconfig 选项以控制 VM 空闲超时 (wsl2.vmIdleTimeout=<time_in_ms>)。Add %userprofile%\.wslconfig option to control the VM idle timeout (wsl2.vmIdleTimeout=<time_in_ms>).
  • 支持从 WSL 启动应用执行别名。Support launching app execution aliases from WSL.
  • 添加了对安装 WSL2 内核和 wsl.exe 发行版的支持 - 安装。Added support for installing the WSL2 kernel and distributions to wsl.exe --install.

内部版本 20175Build 20175

有关内部版本 20175 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 20175 visit the Windows blog.

  • 将 WSL2 VM 的默认内存分配调整为主机内存的 50% 或 8 GB(以较小者为准)[GH 4166]。Adjust default memory assignment of WSL2 VM to be 50% of host memory or 8GB, whichever is less [GH 4166].
  • 将 \\wsl$ 前缀更改为 \\wsl 以支持 URI 分析。Change \\wsl$ prefix to \\wsl to support URI parsing. 旧的 \\wsl$ 路径仍然受到支持。The old \\wsl$ path is still supported.
  • 在 amd64 上为 WSL2 默认启用嵌套虚拟化。Enable nested virtualization for WSL2 by default on amd64. 你可通过 %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false) 来禁用此设置。You can disable this via %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false).
  • 使 wsl.exe --update 要求启动 Microsoft 更新。Make wsl.exe --update demand start Microsoft Update.
  • 支持在 DrvFs 中对只读文件进行重命名。Support renaming over a read-only file in DrvFs.
  • 确保始终在正确的代码页中打印错误消息。Ensure error messages are always printed in the correct codepage.

内部版本 20150Build 20150

有关内部版本 20150 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 20150 visit the Windows blog.

  • 有关 WSL2 GPU 计算,请参阅 Windows 博客以了解详细信息。WSL2 GPU compute see Windows blog for more information.
  • 引入 wsl.exe --install 命令行选项以轻松设置 WSL。Introduce wsl.exe --install command line option to easily set up WSL.
  • 引入 wsl.exe --install 命令行选项以管理对 WSL2 内核的更新。Introduce wsl.exe --update command line option to manage updates to the WSL2 kernel.
  • 将 WSL2 设置为默认值。Set WSL2 as the default.
  • 增加 WSL2 VM 正常关闭超时。Increase WSL2 vm graceful shutdown timeout.
  • 修复映射设备内存 virtio-9p 争用情况。Fix virtio-9p race condition when mapping device memory.
  • 如果禁用了 UAC,请勿运行提升的 9p 服务器。Don't run an elevated 9p server if UAC is disabled.

内部版本 19640Build 19640

有关内部版本 19640 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19640 visit the Windows blog.

  • [WSL2] virtio-9p (drvfs) 的稳定性改进。[WSL2] Stability improvements for virtio-9p (drvfs).

内部版本 19555Build 19555

有关内部版本 19555 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19555 visit the Windows blog.

  • [WSL2] 使用 memory cgroup 限制了安装和转换操作使用的内存量 [GH 4669][WSL2] Use a memory cgroup to limit the amount of memory used by install and conversion operations [GH 4669]
  • 在未启用适用于 Linux 的 Windows 子系统可选组件时使 wsl.exe 存在,以提高功能的可发现性。Make wsl.exe present when the Windows Subsystem for Linux optional component is not enabled to improve feature discoverability.
  • 更改了 wsl.exe 以在未安装 WSL 可选组件时输出帮助文本Change wsl.exe to print help text if the WSL optional component is not installed
  • 修复了创建实例时的争用条件Fix race condition when creating instances
  • 创建了包含所有命令行功能的 slclient.dllCreate wslclient.dll that contains all command line functionality
  • 防止了在 LxssManagerUser 服务停止期间发生崩溃Prevent crash during LxssManagerUser service stop
  • 修复了当 distroName 参数为 NULL 时的 wslapi.dll 快速失败Fix wslapi.dll fast fail when distroName parameter is NULL

内部版本 19041Build 19041

有关内部版本 19041 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19041 visit the Windows blog.

  • [WSL2] 在启动进程之前清除信号掩码[WSL2] Clear the signal mask before launching the processes
  • [WSL2] 将 Linux 内核更新到 4.19.84[WSL2] Update Linux kernel to 4.19.84
  • 当 symlink 非相关时,处理 /etc/resolv.conf symlink 的创建Handle creation of /etc/resolv.conf symlink when the symlink is non-relative

内部版本 19028Build 19028

有关内部版本 19028 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19028 visit the Windows blog.

  • [WSL2] 将 Linux 内核更新到 4.19.81[WSL2] Update Linux kernel to 4.19.81
  • [WSL2] 将 /dev/net/tun 的默认权限更改为 0666 [GH 4629][WSL2] Change the default permission of /dev/net/tun to 0666 [GH 4629]
  • [WSL2] 将分配给 Linux VM 的默认内存量调整为主机内存的 80%[WSL2] Tweak default amount of memory assigned to Linux VM to be 80% of host memory
  • [WSL2] 修复互操作服务器以便使用“超时”功能处理请求,从而使不良调用方无法挂起服务器[WSL2] fix interop server to handle requests with a timeout so bad callers cannot hang the server

内部版本 19018Build 19018

有关内部版本 19018 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19018 visit the Windows blog.

  • [WSL2] 使用 cache=mmap 作为 9p 装入点的默认值来修复 dotnet 应用[WSL2] Use cache=mmap as the default for 9p mounts to fix dotnet apps
  • [WSL2] localhost 中继的修补程序 [GH 4340][WSL2] Fixes for localhost relay [GH 4340]
  • [WSL2] 引入了用于在发行版之间共享状态的跨发行版共享 tmpfs 装入点[WSL2] Introduce a cross-distro shared tmpfs mount for sharing state between distros
  • 修复了 \\wsl$ 的永久网络驱动器还原Fix restoring persistent network drive for \\wsl$

内部版本 19013Build 19013

有关内部版本 19013 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19013 visit the Windows blog.

  • [WSL2] 提高 WSL 实用工具 VM 的内存性能。[WSL2] Improve memory performance of WSL utility VM. 不再处于使用状态的内存将释放回主机。Memory that is no longer in use will be freed back to the host.
  • [WSL2] 将内核版本更新到 4.19.79。[WSL2] Update kernel version to 4.19.79. (添加 CONFIG_HIGH_RES_TIMERS、CONFIG_TASK_XACCT、CONFIG_TASK_IO_ACCOUNTING、CONFIG_SCHED_HRTICK 和 CONFIG_BRIDGE_VLAN_FILTERING)。(add CONFIG_HIGH_RES_TIMERS, CONFIG_TASK_XACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_SCHED_HRTICK, and CONFIG_BRIDGE_VLAN_FILTERING).
  • [WSL2] 修复了输入中继,以处理 stdin 为未关闭管道句柄的情况 [GH 4424][WSL2] Fix input relay to handle cases where stdin is a pipe handle that is not closed [GH 4424]
  • 检查 \\wsl$ 是否不区分大小写。Make the check for \\wsl$ case-insensitive.
[wsl2]
pageReporting = <bool>    # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).

版本 19002Build 19002

有关版本 19002 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 19002 visit the Windows blog.

  • [WSL] 解决了有关处理某些 Unicode 字符的问题: https://github.com/microsoft/terminal/issues/2770[WSL] Fix issue with handling of some Unicode characters: https://github.com/microsoft/terminal/issues/2770
  • [WSL] 解决了在版本到版本升级后立即启动时可能会注销发行版的罕见情况。[WSL] Fix rare cases where distros could be unregistered if launched immediately after a build-to-build upgrade.
  • [WSL] 解决了 wsl.exe --shutdown 的以下小问题:无法取消实例空闲计时器。[WSL] Fix minor issue with wsl.exe --shutdown where instance idle timers were not cancelled.

内部版本 18995Build 18995

有关内部版本 18995 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18995 visit the Windows blog.

  • [WSL2] 修复了 DrvFs 装载在某项操作被中断(例如 ctrl-c)后失效的问题 [GH 4377][WSL2] Fix an issue where DrvFs mounts stopped working after an operation was interrupted (e.g. ctrl-c) [GH 4377]
  • [WSL2] 修复了处理极大型 hvsocket 消息的问题 [GH 4105][WSL2] Fix handling of very large hvsocket messages [GH 4105]
  • [WSL2] 修复了当 stdin 为文件时互操作出现的问题 [GH 4475][WSL2] Fix issue with interop when stdin is a file [GH 4475]
  • [WSL2] 修复了当遇到意外网络状态时服务崩溃的问题 [GH 4474][WSL2] Fix service crash when unexpected network state is encountered [GH 4474]
  • [WSL2] 在当前进程没有环境变量的情况下从互操作服务器查询发行版名称[WSL2] Query the distro name from the interop server if the current process does not have the environment variable
  • [WSL2] 修复了当 stdin 为文件时互操作出现的问题[WSL2] Fix issue with interop whe stdin is a file
  • [WSL2] 将 Linux 内核版本更新到 4.19.72[WSL2] Update Linux kernel version to 4.19.72
  • [WSL2] 添加了通过 .wslconfig 指定其他内核命令行参数的功能[WSL2] Add ability to specify additional kernel command line parameters via .wslconfig
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments

版本 18990Build 18990

有关版本 18990 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18990 visit the Windows blog.

  • 提高 \\wsl$ 中目录列表的性能Improve the performance for directory listings in \\wsl$
  • [WSL2] 注入额外的启动熵 [GH 4416][WSL2] Inject additional boot entropy [GH 4416]
  • [WSL2] 修复使用 su/sudo 时的 Windows 互操作 [GH 4465][WSL2] Fix for Windows interop when using su / sudo [GH 4465]

内部版本 18980Build 18980

有关内部版本 18980 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18980 visit the Windows blog.

  • 修复拒绝 FILE_READ_DATA 的读取符号链接。Fix reading symlinks that deny FILE_READ_DATA. 这包括 Windows 为了实现后向兼容而创建的所有符号链接(例如“C:\Document and Settings”),以及用户配置文件目录中的一些符号链接。This includes all the symlinks Windows creates for backwards compatibility such as "C:\Document and Settings" and a bunch of symlinks in the user profile directory
  • 使意外的文件系统状态变得不严重 [GH 4334、4305]Make unexpected filesystem state non-fatal [GH 4334, 4305]
  • [WSL2] 添加当 CPU/固件支持虚拟化时对 arm64 的支持[WSL2] Add support for arm64 if your CPU / firmware supports virtualization
  • [WSL2] 允许无特权用户查看内核日志[WSL2] Allow unprivileged users to view kernel log
  • [WSL2] 修复关闭 stdout/stderr 套接字后的输出中继 [GH 4375][WSL2] Fix output relay when stdout / stderr sockets have been closed [GH 4375]
  • [WSL2] 支持电池和交流适配器直通[WSL2] Support battery and AC adapter passthrough
  • [WSL2] 将 Linux 内核更新到 4.19.67[WSL2] Update Linux kernel to 4.19.67
  • 添加在 /etc/wsl.conf 中设置默认用户名的功能:Add the ability to set default username in /etc/wsl.conf:
[user]
default=<string>

内部版本 18975Build 18975

有关内部版本 18975 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18975 visit the Windows blog.

  • [WSL2] 修复大量 localhost 可靠性问题 [GH 4340][WSL2] Fixed a number of localhost reliability issues [GH 4340]

内部版本 18970Build 18970

有关内部版本 18970 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18970 visit the Windows blog.

  • [WSL2] 当系统从睡眠状态恢复时,使时间与主机时间同步 [GH 4245][WSL2] Sync time with host time when system resumes from sleep state [GH 4245]
  • [WSL2] 在可能的情况下,在 Windows 卷上创建 NT 符号链接。[WSL2] Create NT symlinks on the Windows volumes when possible.
  • [WSL2] 在 UTS、IPC、PID 和 Mount 命名空间中创建分发版。[WSL2] Create distros in UTS, IPC, PID, and Mount namespaces.
  • [WSL2] 修复当服务器直接绑定到 localhost 时的 localhost 端口中继 [GH 4353][WSL2] Fix localhost port relay when server binds to localhost directly [GH 4353]
  • [WSL2] 修复重定向输出时的 interop [GH 4337][WSL2] Fix interop when output is redirected [GH 4337]
  • [WSL2] 支持转换绝对 NT 符号链接。[WSL2] Support translating absolute NT symlinks.
  • [WSL2] 将内核更新到 4.19.59[WSL2] Update kernel to 4.19.59
  • [WSL2] 正确设置 eth0 的子网掩码。[WSL2] Properly set subnet mask for eth0.
  • [WSL2] 发出退出事件信号时更改逻辑,以中断控制台工作线程循环。[WSL2] Change logic to break out of console worker loop when exit event is signaled.
  • [WSL2] 分发版未运行时弹出分发版 VHD。[WSL2] Eject distribution vhd when the distro is not running.
  • [WSL2] 修复配置分析库以正确处理空值。[WSL2] Fix config parsing library to correctly handle empty values.
  • [WSL2] 通过创建跨分发版装入点来支持 Docker Desktop。[WSL2] Support Docker Desktop by creating cross distro mounts. 分发版可以通过将以下行添加到 /etc/wsl.conf 文件来启用此行为:A distro can opt-in to this behavior by adding the following line to the /etc/wsl.conf file:
[automount]
crossDistro = true

内部版本 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$\distro(例如 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] 修复 interop.enabled /etc/wsl.conf 选项 [GH 4140][WSL2] Fix for interop.enabled /etc/wsl.conf option [GH 4140]
  • [WSL2] 如果文件系统不支持 EA,则返回 ENOTSUP[WSL2] Return ENOTSUP if the file system does not support EAs
  • [WSL2] 修复 \\wsl$ 时 CopyFile 挂起的问题[WSL2] Fix CopyFile hang with \\wsl$
  • 将默认 umask 切换为 0022,并将 filesystem.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.exe --list --verbose、wsl.exe --list --quiet 和 wsl.exe --import --version 选项添加到 wsl.exeAdd wsl.exe --list --verbose, wsl.exe --list --quiet, and wsl.exe --import --version options to wsl.exe
  • 添加 wsl.exe --shutdown 选项Add wsl.exe --shutdown option
  • Plan 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]
  • 在终端中输入 EOF 可能会阻塞后续读取 [GH 3421]EOF input to terminal can block subsequent reads [GH 3421]
  • 更新 resolv.conf 标头以引用 wsl.conf [在 GH 3928 中介绍]Update resolv.conf header to refer to wsl.conf [discussed in GH 3928]
  • epoll delete 代码中的死锁 [GH 3922]Deadlock in epoll delete code [GH 3922]
  • 处理 --import 和 –export 的参数中的空格 [GH 3932]Handle spaces in arguments to --import and –export [GH 3932]
  • 无法正常扩展 mmap'd 文件 [GH 3939]Extending mmap'd files does not work properly [GH 3939]
  • 修复了 ARM64 \\wsl$ 访问不正常的问题Fix issue with ARM64 \\wsl$ access not working properly
  • 为 wsl.exe 添加更好的默认图标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. 可以通过命令行访问这些文件,此外,文件资源管理器、VSCode 等 Windows 应用可与这些文件交互。These files can be accessed through the command line, and also Windows apps, like file explorer, VSCode, etc. can interact with these files. 通过导航到 \\wsl$\<分发版名称> 访问文件,或通过导航到 \\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]
  • 支持从非领先线程执行 [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]
  • 为 Plan 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]
  • 不包含任何线程的线程组上的 SIGCONT 是一个 no-op [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.exe 命令行,并添加导入/导出功能。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]
  • 忽略 umount syscall 的 MNT_FORCE 标志 [GH 3605]Ignore the MNT_FORCE flag for umount syscall [GH 3605]
  • 切换 WSL interop 以使用官方的 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. 该问题已修复,下周发布的 Insider Fast 内部版本将会应用修复程序。The issue has been fixed and will be in next week's Insider Fast build. 如果已安装此内部版本,可以使用“设置”->“更新和安全”>“恢复”中的“回退到 Windows 10 的上一个版本”回退到上一 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

  • 修复 zombie 进程不会回收,而是无限期保留的问题。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]
  • 在内部创建符号链接之前,确保 /bin 和 /sbin 目录存在 [GH 3584]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]
  • 更好地处理线程组领先者文件描述符清理。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 interop 失败 [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]
  • 改善了 zombie 支持 [GH 1353]Improved zombie support [GH 1353]
  • 添加 wsl.conf 项用于控制 Windows interop 行为 [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 不是始终返回 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 上的 interop [GH 3246、3291]Support interop on mounted VHDs [GH 3246, 3291]
  • 修复根文件夹的权限检查问题 [GH 3304]Fix permission checking issue on root folder [GH 3304]
  • 对 TTY 键盘 ioctl 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 -u 或 --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]
  • 使用 EAGAIN 时非阻塞 Unix 套接字无限期失败 [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. 解决 .NET 问题Resolve dotnet issue.
  • DrvFs:只取消转义专用范围中与已转义字符对应的字符。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].
  • 为 wsl.exe 添加 --exec 选项,以便在不使用 shell 的情况下调用单个二进制文件。Add --exec option for wsl.exe to invoke a single binary without a shell.
  • 为 wsl.exe 添加 --distribution 选项,以选择特定的分发版。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 (Skip Ahead)Build 18252 (Skip Ahead)

有关内部版本 18252 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18252 visit the Windows Blog.

WSLWSL

  • 将 init 和 bsdtar 二进制文件移出 lxssmanager dll,移入单独的 tools 文件夹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 上创建的只读文件设置只读属性 [GH 3411]Readonly files created on DrvFs should have the readonly attribute set [GH 3411]
  • 添加 /sbin/mount.drvfs 帮助器用于处理 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 (Fast)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]
  • 更好地处理线程组领先者文件描述符清理。Better handling of threadgroup leader file descriptor cleanup.

内部版本 17728 (Fast)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 interop 失败 [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 (Skip Ahead)Build 18204 (Skip Ahead)

有关内部版本 18204 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 18204 visit the Windows Blog.

WSLWSL

  • 管道文件系统意外清除边缘触发的 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 (Fast)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]
  • 管道文件系统意外清除边缘触发的 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

  • 改善了 zombie 支持 [GH 1353]Improved zombie support [GH 1353]
  • 添加 wsl.conf 项用于控制 Windows interop 行为 [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 不是始终返回 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 上的 interop [GH 3246、3291]Support interop on mounted VHDs [GH 3246, 3291]
  • 修复根文件夹的权限检查问题 [GH 3304]Fix permission checking issue on root folder [GH 3304]
  • 对 TTY 键盘 ioctl 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 -u 或 --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]
  • 使用 EAGAIN 时非阻塞 Unix 套接字无限期失败 [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. 解决 .NET 问题Resolve dotnet issue.
  • DrvFs:只取消转义专用范围中与已转义字符对应的字符。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

警告:某个问题会阻止 WSL 在某些 AMD 芯片组上运行 [GH 3134]。WARNING: There is an issue preventing WSL from running on some AMD chipsets [GH 3134]. 修复程序已准备就绪,即将在 Insider Build 分支中发布。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].
  • 为 wsl.exe 添加 --exec 选项,以便在不使用 shell 的情况下调用单个二进制文件。Add --exec option for wsl.exe to invoke a single binary without a shell.
  • 为 wsl.exe 添加 --distribution 选项,以选择特定的分发版。Add --distribution option for wsl.exe to select a specific distro.

内部版本 17655 (Skip Ahead)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 (Skip Ahead)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 (Fast)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 (Fast)Build 17128 (Fast)

有关内部版本 17128 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 17128 visit the Windows Blog.

WSLWSL

  • None

内部版本 17627 (Skip Ahead)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.
  • 对 WSL 进程的 Windows 防火墙支持。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.exe 时遵循用户的默认 shell。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 (Skip Ahead)Build 17618 (Skip Ahead)

有关内部版本 17618 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 17618 visit the Windows Blog.

WSLWSL

  • 引入用于 NT interop 的伪控制台功能 [GH 988、1366、1433、1542、2370、2406]。Introduce pseudoconsole functionality for NT interop [GH 988, 1366, 1433, 1542, 2370, 2406].
  • 传统的安装机制 (lxrun.exe) 已弃用。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=dir”(旧行为)需要设置注册表项。Using "case=force" (the old behavior) requires setting a registry key. 如果需要使用“case=dir”,请运行以下命令来启用它: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 创建的现有目录需要区分大小写,请使用 fsutil.exe 将其标记为区分大小写:fsutil.exe file 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

  • 支持主 pty 终结点上的 TCSETSF 和 TCSETSW [GH 2552]。Support TCSETSF and TCSETSW on master pty endpoints [GH 2552].
  • 启动同步 interop 进程可能会导致 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、poll、epoll 等命令返回 read 和 write ready [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 消息,以便能够使用更新版本(上游 4.14)的 iproute2。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. 对于从 Store 安装的每个分发版,只需执行此操作一次。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.conf 禁用此行为。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 和 sockets)现在可以从 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.conf 更方便地配置 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 上的 Linux 进程与 Windows 本机进程之间建立套接字连接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 相关的 bug 检查 [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 使用的元数据格式的 bug。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.

  • 已将 mount 选项添加到 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 是在从 Win32 启动 WSL 进程或者从 WSL 启动 Win32 进程时可以包含的环境变量的冒号分隔列表。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.

    • 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.
    • u:仅当从 Win32 调用 WSL 时才应该包含该值u: The value should only be included when invoking WSL from Win32
    • w:仅当从 WSL 调用 Win32 时才应该包含该值w: The value should only be included when invoking Win32 from WSL

    可以在 .bashrc 中或者在用户的自定义 Windows 环境中设置 WSLENVYou 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)

  • read/write 适用于极大的 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 的个性化支持;修复 maxima 和 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)

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

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

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

  • 通知未实现的 syscall 的 ptrace。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) 和 curl。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 等][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.exe)。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 等][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].
  • 更多 interop 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 为非交互式用户创建 WSL 实例(ssh 和计划任务支持)[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].
  • 有限支持终止通过 interop 调用的控制台应用 [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 interop 应用挂起,并等待在没有更多数据的管道中提供输入的问题。Fix some Win32 interop app hangs, waiting for input on a pipe that has no more data.
  • tty/pty 文件的 O_ASYNC 支持。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 UpdateFall 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 interop 中不会正确处理制表符或引号的问题 [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 堆栈挂起的问题 [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.exe 取消注册部分安装的 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 的 copy/paste 行为,并添加更适当的完整缓冲区处理 [GH 2204、2131]Fix copy/paste behavior for console/tty, and add better full buffer handling [GH 2204, 2131]
  • 在 set-user-ID 和 set-group-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/.... 此问题已修复,修复程序将在 2017 年 8 月 14 日开始的周内,在预览体验成员内部版本中发布。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.
  • 在执行时正确初始化 set-user-ID 和 set-group-ID 二进制文件的 saved-set uid 和 gid [GH 962、1415、2072]Correctly 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]
  • 添加了对包含 NT_FPREGSET 的 ptrace PTRACE_GETFPREGS 和 PTRACE_GETREGSET 的支持 [GH 555]Added support for ptrace PTRACE_GETFPREGS and PTRACE_GETREGSET with NT_FPREGSET [GH 555]
  • 修复了 ptrace 在忽略信号时停止的问题Fixed 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

  • 修复输出跨行 DEC 的错误字符的问题,最初报告位于此处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 转义代码中根本没有 Un-Bold/-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-L 不会清屏 [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 [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 功能的全局注册表项重写(interop/驱动器装载)Added global registry key override for disabling WSL features (interop / drive mounting)
  • 修复 DrvFs(和 LxFs)的“统计信息”中的错误块计数 [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).
  • security.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 占位符和精简 OS 压缩文件的支持。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.exe 添加清理部分安装或已卸载的分发版的功能。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 与终止线程组之间的争用状态 [GH 1973]Race condition between sending SIGCONT and a threadgroup terminating [GH 1973]
  • 更改 tty 和 pty 设备以报告 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 装载移到初始化守护程序 [GH 1862、1968、1767、1933]Moved DrvFs mounting to init daemon [GH 1862, 1968, 1767, 1933]
  • 在 DrvFs 中添加了遵循 NT 符号链接的支持。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.exe /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-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]
  • 为应用节点、traceroute、dig、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

  • 支持套接字选项 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

我们未计划在 Windows 10 创意者更新中包含其他 WSL 修复或功能。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

  • 修复了 time(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 现在会针对 GDB 挂起通过 ptrace 报告线程退出。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 的 bug [GH 1578]Fix 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
  • 现在,如果两个文件描述符引用同一管道,则 syscall 会返回失败Tee syscall now returns failure if both file descriptors refer to the same pipe
  • 为 Unix 套接字的 SO_PEERCRED 实现了正确的行为Implemented correct behavior for SO_PEERCRED for Unix sockets
  • 修复了 tkill syscall 处理无效参数的方法Fixed tkill syscall invalid parameter handling
  • 做出更改以提高 drvfs 的性能Changes to increase the preformace of drvfs
  • 针对 Ruby IO 阻塞的次要修复Minor fix for Ruby IO blocking
  • 修复了 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

  • 修复了 htop 等工具在 procfs 中错误报告 CPU 使用率的 bug(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]
  • 为 GO 语言实现 /proc/sys/net/core/somaxconnImplement /proc/sys/net/core/somaxconn for the GO language
  • Apt-get package update 后台任务现在会在视图中以隐藏方式运行Apt-get package update background task now runs hidden from view
  • 清除 ipv6 localhost 的范围(Spring-Framework(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)
  • 当空间耗尽时,fallocate 现在会失败并返回 ENOSPC,而不是返回 EINVAL (GH #1571)fallocate 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 \^kFor 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 中将网络接口物理地址截断为 16 个字节(GH #1452、1414、1343、468、308)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 \^kFor 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 addRTM_NEWADDR (supports ip addr add)
    • RTM_NEWROUTE(支持 ip route addRTM_NEWROUTE (supports ip route add)
    • RTM_DELADDR(支持 ip addr delRTM_DELADDR (supports ip addr del)
    • RTM_DELROUTE(支持 ip route delRTM_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)
  • 已将默认 TERM 环境变量切换为 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)
  • 修复了错误地验证程序标头必须小于(或等于)PATH_MAX 的 elf 分析逻辑。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 实现了 statfs 回调 (GH #1378)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
  • 添加了在 interop 无法访问 LxFs 下的工作目录(即 notepad.exe .bashrc)时显示的错误消息Added error message when interop is unable to access a working directory under LxFs (i.e. notepad.exe .bashrc)
  • 修复了 Windows 路径在 WSL 中截断的问题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 IOCTL 的 bug 检查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:' 时会启动 Bash.exe (GH #1259)Bash.exe now launches when input directed to 'nul:' (GH #1259)
  • 现在,procfs 中会正确报告线程 ID (GH #967)Thread IDs now reported correctly in procfs (GH #967)
  • 现在,inotify_add_watch() 中支持 IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | 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.000ms 的问题 (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)中的一个 bug。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 套接字 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,无需将 System32 添加到 Linux 路径)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

  • 修复错误地假设解释器路径长度必须小于 64 个字符的 ELF 验证逻辑。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)

  • 修复了当目标名称包含尾随斜杠时 rename() 失败的错误 (GH #1008)Fixeed error where rename() failed with trailing slash on target name (GH #1008)

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

  • 修复了计时器精度导致的 0.000ms 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.exe 时出现的错误 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 (Trusty) 实例的用户不会自动升级。Users with existing 14.04 (Trusty) instances will not be automatically upgraded.
  • 现在会显示安装过程中指定的区域设置Locale set during install is now displayed
  • 终端改进,包括修复了不是总能将 WSL 进程重定向到文件的 bugTerminal improvements including bug where redirecting a WSL process to a file does not always work
  • 控制台生存期应与 bash.exe 生存期密切关联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,以在统计信息中返回 0 作为目录的链接计数Change 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 "echo data" | 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

  • 解决了一些 bug 检查问题,包括阻止 SSH 的“尝试执行不可执行的内存”网络崩溃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
  • 实现 mongod 的 TCP_KEEPIDLE 和 TCP_KEEPINTVL。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 (Trusty)。Note: WSL will install Ubuntu version 16.04 (Xenial) instead of Ubuntu 14.04 (Trusty) in an upcoming release. 此更改将应用到安装新实例的预览体验版(lxrun /install 或首次运行 bash.exe)。This change will apply to Insiders installing new instances (lxrun.exe /install or first run of bash.exe). 包含 Trusty 的现有实例不会自动升级。Existing instances with Trusty will not be upgraded automatically. 用户可以使用 do-release-upgrade 命令将其 Trusty 映像升级到 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. bug 检查将自身显示为崩溃,出现错误“尝试执行不可执行的内存”。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
  • inotifiy 的改进,包括支持从 DrvFs 上的 Windows 应用程序生成通知Improvements in inotify including support for notifications generated from Windows applications on DrvFs
    • 更正:对源自 Windows 应用程序的更改的 Inotify 支持目前不可用。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 系统调用的 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
  • 零长度 read() 应立即返回 (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.
  • 对 /dev/null 的 epoll 支持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
  • 对通过 WSL 修改的文件的 Inotify 支持。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

  • Unix 数据报套接字的套接字对 (GH #262)Socketpair for unix datagram sockets (GH #262)
  • 对 SO_REUSEADDR 的 Unix 套接字支持Unix socket support for SO_REUSEADDR
  • 对 SO_BROADCAST 的 UNIX 套接字支持 (GH #568)UNIX socket support for SO_BROADCAST (GH #568)
  • 对 SOCK_SEQPACKET 的 Unix 套接字支持(GH #758、#546)Unix socket support for SOCK_SEQPACKET (GH #758, #546)
  • 添加对 Unix 数据报套接字 send、recv 和 shutdown 的支持Adding support for unix datagram socket send, recv and shutdown
  • 修复对非固定地址的无效 mmap 参数验证导致的 bug 检查。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 阻止 Screen 实用工具 (GH #774)Support for TIOCPKT ioctl to unblock the Screen utility (GH #774)
    • 已知问题:功能键不起作用Known issue: Function keys not operational
  • 更正了 TimerFd 中的一种争用状态,该状态可能导致 LxpTimerFdWorkerRoutine 访问已释放的成员“ReaderReady” (GH #814)Corrected a race in TimerFd that could cause a freed member 'ReaderReady' to be accessed by LxpTimerFdWorkerRoutine (GH #814)
  • 为 futex、poll 和 clock_nanosleep 启用可重启系统调用支持Enable restartable system call support for futex, poll, and clock_nanosleep
  • 添加了绑定装载支持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
  • 对 ns 文件夹的 Procfs 支持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
  • 应遵循使用 setsockopt 设置的 INET 套接字接收缓冲区大小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 -c 命令。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


Windows 10 周年更新的内部版本 14388Build 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-get 挂起问题的实例 (GH #493)Removed some instances where apt-get hangs (GH #493)
  • 修复了不正确处理空装入点的问题Fixed an issue where empty mounts were not handled correctly
  • 修复了不正确装载 ramdisk 的问题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.
    • 用户可在其 /mnt/c 驱动器中保存 case.txt 和 CASE.TXTUsers may case.txt and CASE.TXT on their /mnt/c drives
    • 只有 Windows 上的 Ubuntu 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
  • 优化了命令行参数结构,允许极长的参数列表。Optimized command line arg structure allowing for extremely long argument list. (GH #153)(GH #153)
  • 现在可对 DrvFs 中的只读文件执行删除和 chmodNow able to delete and chmod read_only files from DrvFs
  • 修复了一些在断开连接时终端会挂起的实例 (GH #43)Fixed some instances where the terminal hangs on disconnect (GH #43)
  • 现在可在 tty 设备上正常运行 chmod 和 chownchmod and chown now work on tty devices
  • 允许连接到作为 localhost 的 0.0.0.0 和 :: (GH #388)Allow connection to 0.0.0.0 and :: as localhost (GH #388)
  • Sendmsg/recvmsg 现在可处理大于 1 的 IO 矢量长度(在 GH #376 中做了部分描述)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 现在会正常退出strace now exits correctly
  • 允许通过 /proc/self/fd 重新打开管道 (GH #222)Allow pipes to be reopened through /proc/self/fd (GH #222)
  • 在 DrvFs 中隐藏 %LOCALAPPDATA%\lxss 下的目录 (GH #270)Hide directories under %LOCALAPPDATA%\lxss from DrvFs (GH #270)
  • 更好地处理 bash.exe ~。Better handling of bash.exe ~. 现在支持类似于“bash ~ -c ls”的命令 (GH #467)Commands like "bash ~ -c ls" now supported (GH #467)
  • 现在,在关闭期间,套接字会通知 epoll read 可用 (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)
  • 改善了对 xEmacs 等 x11 应用的支持 (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 修复 – 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

有关内部版本 14342 的一般 Windows 信息,请访问 Windows 博客For general Windows information on build 14342 the Windows Blog.

WSL 博客中可以找到有关 VolFs 和 DriveFs 的信息。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
  • DriveFs 上的 npm install 和 -g 选项现在可正常工作npm install on DriveFs and the -g options are now working
  • 修复了阻止 PHP 服务器启动的问题Fixed issue preventing PHP server from launching
  • 更新了默认环境值(例如 $PATH),以便与本机 Ubuntu 更匹配Updated 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
  • 现在支持预编译的 Go 二进制文件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 以返回正确的统计信息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 installnpm 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
  • 现在会显示 top 和 htoptop 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