適用於 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 --mountIntroduce wsl.exe --mount for mounting physical or virtual disks. 如需詳細資訊,請參閱在 Windows 和 WSL 2 中存取 Linux 檔案系統2For 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]
  • 確定安裝到 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 執行個體無法啟動的錯誤。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 --install。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% 或 8GB,以較小者為準 [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 Update。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 -- 安裝命令列選項,以輕鬆設定 WSL。Introduce wsl.exe --install command line option to easily set up WSL.
  • 引進 wsl.exe -- 更新命令列選項,以管理 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] 使用記憶體 cgroup 來限制用來安裝和轉換作業的記憶體數量 [GH 4669][WSL2] Use a memory cgroup to limit the amount of memory used by install and conversion operations [GH 4669]
  • 當用來改善功能發現性的 Windows 子系統 Linux 版選用元件未啟用,請顯示 wsl.exe。Make wsl.exe present when the Windows Subsystem for Linux optional component is not enabled to improve feature discoverability.
  • 如果未安裝 WSL 選用元件,請變更 wsl.exe 以列印說明文字Change wsl.exe to print help text if the WSL optional component is not installed
  • 建立執行個體時修正競爭條件Fix race condition when creating instances
  • 建立包含所有命令列功能的 wslclient.dllCreate wslclient.dll that contains all command line functionality
  • 防止在 LxssManagerUser 服務停止期間損毀Prevent crash during LxssManagerUser service stop
  • 修正 wslapi.dll 在 distroName 參數為 Null 時快速失敗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
  • 當符號連結為非相對時,處理 /etc/resolv.conf 符號連結的建立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] 修正 interop 伺服器以處理逾時的要求,讓不正確的呼叫者無法使伺服器停止回應[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 關閉的輕微問題,該問題不會取消執行個體閒置計時器。[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 為檔案時的 interop 問題 [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] 如果目前的程序沒有環境變數,請從 interop 伺服器查詢散發版本的名稱[WSL2] Query the distro name from the interop server if the current process does not have the environment variable
  • [WSL2] 修正 stdin 為檔案時的 interop 問題[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 Interop [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] 支援電池和 AC 介面卡通過[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] 修正 config 剖析程式庫,以正確地處理空值。[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] 如果檔案系統不支援 EAs,則傳回 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
  • 方案 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 刪除程式碼中的鎖死 [GH 3922]Deadlock in epoll delete code [GH 3922]
  • 處理 --import 和 –export 的引數中空格 [GH 3932]Handle spaces in arguments to --import and –export [GH 3932]
  • 擴充 mmap 的檔案無法正常運作 [GH 3939]Extending mmap'd files does not work properly [GH 3939]
  • 修正 ARM64 \\wsl$ 存取無法正常運作的問題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. 這些檔案可透過命令列存取,而 Windows 應用程式 (例如檔案總管、VSCode 等) 則可以與這些檔案互動。These files can be accessed through the command line, and also Windows apps, like file explorer, VSCode, etc. can interact with these files. 瀏覽至 \\wsl$\<distro_name> 以存取您的檔案,或瀏覽至 \\wsl$ 來查看執行中的散發套件清單Access your files by navigating to \\wsl$\<distro_name>, or see a list of running distributions by navigating to \\wsl$
  • 新增額外的 CPU 資訊標記並修正 Cpus_allowed [_list] 值 [GH 2234]Add additional CPU info tags and fix Cpus_allowed[_list] values [GH 2234]
  • 支援來自非領導者執行緒的 exec [GH 3800]Support exec from non-leader thread [GH 3800]
  • 將設定更新失敗視為非嚴重 [GH 3785]Treat configuration update failures as non-fatal [GH 3785]
  • 更新 binfmt 以適當地處理位移 [GH 3768]Update binfmt to properly handle offsets [GH 3768]
  • 啟用方案 9 的對應網路磁碟機 [GH 3854]Enable mapping network drives for Plan 9 [GH 3854]
  • 支援 Windows -> Linux 和 Linux -> Windows 路徑轉譯以進行繫結掛接Support Windows -> Linux and Linux -> Windows path translation for bind mounts
  • 在以唯讀狀態開啟的檔案上建立對應的唯讀區段Create read-only sections for mappings on files opened read-only

組建 18334Build 18334

如需組建 18334 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 18334 visit the Windows blog.

WSLWSL

  • 重新設計 Windows 時區對應到 Linux 時區的方式 [GH 3747]Redesign the way that Windows time zone is mapped to a Linux time zone [GH 3747]
  • 修正記憶體流失並加入新的字串轉譯函式 [GH 3746]Fix memory leaks and add new string translation functions [GH 3746]
  • 不含執行緒的 threadgroup 上的 SIGCONT 是沒有操作 [GH 3741]SIGCONT on a threadgroup with no threads is a no-op [GH 3741]
  • 在 /proc/self/fd 中正確顯示通訊端和 epoll 檔案描述項Correctly display socket and epoll file descriptors in /proc/self/fd

組建 18305Build 18305

如需組建 18305 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 18305 visit the Windows blog.

WSLWSL

  • pthreads 在主要執行緒結束時遺失檔案的存取權 [GH 3589]pthreads lose access to files when the primary thread exits [GH 3589]
  • TIOCSCTTY 應該忽略 "force" 參數,除非該參數是必要的 [GH 3652]TIOCSCTTY should ignore the "force" parameter unless it is required [GH 3652]
  • wsl.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. 已修正此問題,並將於下一週的測試人員快速組建中提供。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

  • 修正無法收穫或無限期地維持廢止程序的問題。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]
  • 允許 DrvFs 上唯讀檔案的 fsync 成功 [GH 3556]Allow fsync to succeed for read-only files on DrvFs [GH 3556]
  • 在 /bin 和 /sbin 目錄內部建立符號連結之前,請先確認 /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]
  • 較佳的 threadgroup 領導者檔案描述項清除處理。Better handling of threadgroup leader file descriptor cleanup.
  • 將 WSL 切換為使用 KeQueryInterruptTimePrecise 而不是 KeQueryPerformanceCounter,以避免溢位 [GH 3252]Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
  • Ptrace attach 可能會造成系統呼叫的錯誤傳回值 [GH 1731]Ptrace attach may cause bad return value from system calls [GH 1731]
  • 修正數個 AF_UNIX 相關問題 [GH 3371]Fix several AF_UNIX related issues [GH 3371]
  • 修正當目前的工作目錄長度少於 5 個字元時,可能導致 WSL 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 stub 檔案 [GH 2893]Add /proc/sys/fs/file-max stub file [GH 2893]
  • 更精確的 IPV6 範圍資訊。More accurate IPV6 scope information.
  • PR_SET_PTRACER 支援 [GH 3053]PR_SET_PTRACER support [GH 3053]
  • 管道檔案系統不小心清除邊緣觸發的 epoll 事件 [GH 3276]Pipe filesystem inadvertently clearing edge-triggered epoll event [GH 3276]
  • 透過 NTFS 符號連結啟動的 Win32 可執行檔不遵守符號連結名稱 [GH 2909]Win32 executable launched via NTFS symlink doesn't respect symlink name [GH 2909]
  • 改良的廢止支援 [GH 1353]Improved zombie support [GH 1353]
  • 新增用於控制 Windows interop 行為的 wsl.conf 項目 [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]
  • 非封鎖的 Unix 通訊端使用 EAGAIN 無限期失敗 [GH 3191]Non-blocking Unix sockets failing indefinitely with EAGAIN [GH 3191]
  • case=off 是新的預設 drvfs 掛接類型 [GH 2937,3212,3328]case=off is the new default drvfs mount type [GH 2937, 3212, 3328]
    • 如需相關資訊,請參閱部落格See blog for more information.
  • 新增 wslconfig/terminate 以停止執行散發套件。Add wslconfig /terminate to stop running distributions.
  • 修正未正確處理具有空格之路徑的 WSL 命令介面內容功能表項目問題。Fix issue with the WSL shell context menu entries that do not correctly handle paths with spaces.
  • 以擴充屬性的形式公開每個目錄的區分大小寫Expose per-directory case sensitivity as an extended attribute
  • ARM64:模擬快取維護作業。ARM64: Emulate cache maintenance operations. 解決 dotnet 問題Resolve dotnet issue.
  • DrvFs:僅 unescape 與逸出字元對應私用範圍中的字元。DrvFs: only unescape characters in the private range that correspond to an escaped character.
  • 修正 ELF parser 解譯器長度驗證中的逐一錯誤 [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]
  • 新增 explorer 內容功能表以啟動 WSL [GH 437,603,1836]。Add explorer context menu to launch WSL [GH 437, 603, 1836]. 若要使用,請按住 shift 鍵,並在 explorer 視窗中按一下滑鼠右鍵。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 選項,在不使用命令介面的情況下叫用單一二進位檔。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 (向前跳過)Build 18252 (Skip Ahead)

如需組建 18252 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 18252 visit the Windows Blog.

WSLWSL

  • 將 init 和 bsdtar 二進位檔從 lxssmanager dll 移到另一個工具資料夾Move init and bsdtar binaries out of lxssmanager dll and into a separate tools folder
  • 修正使用 CLONE_FILES 時有關關閉檔案描述項的競爭Fix race around closing file descriptor when using CLONE_FILES
  • 轉換 DrvFs 路徑時,處理 /proc/pid/mountinfo 中的選擇性欄位Handle optional fields in /proc/pid/mountinfo when translating DrvFs paths
  • 允許 DrvFs mknod 成功,但不支援 S_IFREG 的中繼資料Allow DrvFs mknod to succeed without metadata support for S_IFREG
  • 在 DrvFs 上建立的唯讀檔案應具有唯讀屬性集 [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 (快速)Build 17738 (Fast)

如需組建 17738 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17738 visit the Windows Blog.

WSLWSL

  • Setpriority syscall 權限檢查太嚴格,無法變更相同的執行緒優先順序 [GH 1838]Setpriority syscall permission check too strict for changing same thread priority [GH 1838]
  • 確保開機時間使用非偏誤中斷時間,以避免針對 clock_gettime(CLOCK_BOOTTIME) 傳回負值 [GH 3434]Ensure that unbiased interrupt time is used for boot time to avoid returning negative values for clock_gettime(CLOCK_BOOTTIME) [GH 3434]
  • 在 WSL binfmt 解譯器中處理符號連結 [GH 3424]Handle symlinks in the WSL binfmt interpreter [GH 3424]
  • 較佳的 threadgroup 領導者檔案描述項清除處理。Better handling of threadgroup leader file descriptor cleanup.

組建 17728 (快速)Build 17728 (Fast)

如需組建 17728 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17728 visit the Windows Blog.

WSLWSL

  • 將 WSL 切換為使用 KeQueryInterruptTimePrecise 而不是 KeQueryPerformanceCounter,以避免溢位 [GH 3252]Switch WSL to use KeQueryInterruptTimePrecise instead of KeQueryPerformanceCounter to avoid overflow [GH 3252]
  • Ptrace attach 可能會造成系統呼叫的錯誤傳回值 [GH 1731]Ptrace attach may cause bad return value from system calls [GH 1731]
  • 修正一些 AF_UNIX 相關問題 [GH 3371]Fix a number of AF_UNIX related issues [GH 3371]
  • 修正當目前的工作目錄長度少於 5 個字元時,可能導致 WSL 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 (向前跳過)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 (快速)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 stub 檔案 [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

  • 改良的廢止支援 [GH 1353]Improved zombie support [GH 1353]
  • 新增用於控制 Windows interop 行為的 wsl.conf 項目 [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]
  • 非封鎖的 Unix 通訊端使用 EAGAIN 無限期失敗 [GH 3191]Non-blocking Unix sockets failing indefinitely with EAGAIN [GH 3191]
  • case=off 是新的預設 drvfs 掛接類型 [GH 2937,3212,3328]case=off is the new default drvfs mount type [GH 2937, 3212, 3328]
    • 如需相關資訊,請參閱部落格See blog for more information.
  • 新增 wslconfig/terminate 以停止執行散發套件。Add wslconfig /terminate to stop running distributions.

組建 17692Build 17692

如需組建 17692 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17692 visit the Windows Blog.

WSLWSL

  • 修正未正確處理具有空格之路徑的 WSL 命令介面內容功能表項目問題。Fix issue with the WSL shell context menu entries that do not correctly handle paths with spaces.
  • 以擴充屬性的形式公開每個目錄的區分大小寫Expose per-directory case sensitivity as an extended attribute
  • ARM64:模擬快取維護作業。ARM64: Emulate cache maintenance operations. 解決 dotnet 問題Resolve dotnet issue.
  • DrvFs:僅 unescape 與逸出字元對應私用範圍中的字元。DrvFs: only unescape characters in the private range that correspond to an escaped character.

組建 17686Build 17686

如需組建 17686 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17686 visit the Windows Blog.

WSLWSL

  • 修正 ELF parser 解譯器長度驗證中的逐一錯誤 [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]. 修正已準備就緒,可對測試人員組建分支進行。A fix is ready and making its way to the Insider Build branch.

  • 新增 explorer 內容功能表以啟動 WSL [GH 437,603,1836]。Add explorer context menu to launch WSL [GH 437, 603, 1836]. 若要使用,請按住 shift 鍵,並在 explorer 視窗中按一下滑鼠右鍵。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 選項,在不使用命令介面的情況下叫用單一二進位檔。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 (向前跳過)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 syscall 介面。syslog sycall interface is not yet supported. 因此,某些 dmesg 命令列選項,例如 -S-C 無法正常執行。And, so, some of the dmesg command line options such as -S, -C don't work.
  • 已修正即使檔案存在,多執行緒作業還是會傳回 ENOENT 的問題。Fixed an issue where multithreaded operations could return ENOENT even though the file exists. [GH 2712][GH 2712]

組建 17639 (向前跳過)Build 17639 (Skip Ahead)

如需組建 17639 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17639 visit the Windows Blog.

WSLWSL

  • 變更序列裝置的預設 gid 和模式以符合原生 [GH 3042]Change default gid and mode of serial devices to match native [GH 3042]
  • DrvFs 現在支援擴充屬性。DrvFs now supports extended attributes.
    • 注意:DrvFs 在擴充屬性的名稱上有一些限制。Note: DrvFs has some limitations on the name of extended attributes. 特別的是,不允許某些字元(例如 '/'、':' 和 '*'),而且擴充屬性名稱在 DrvFs 上不區分大小寫In particular, some characters (like '/', ':' and '*') are not allowed, and extended attribute names are not case sensitive on DrvFs

組建 17133 (快速)Build 17133 (Fast)

如需組建 17133 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17133 visit the Windows Blog.

WSLWSL

  • 修正 WSL 中的停止回應。Fix for hang in WSL. [GH 3039,3034][GH 3039, 3034]

組建 17128 (快速)Build 17128 (Fast)

如需組建 17128 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17128 visit the Windows Blog.

WSLWSL

  • None

組建 17627 (向前跳過)Build 17627 (Skip Ahead)

如需組建 17627 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17627 visit the Windows Blog.

WSLWSL

  • 新增對 futex pi 感知作業的支援。Add support for the futex pi-aware operations. [GH 1006][GH 1006]
    • 請注意,優先順序目前不是支援的 WSL 功能,因此有一些限制,但應該解除封鎖標準使用方式。Note that priorities are not currently a supported WSL feature so there are limitations, but standard usage should be unblocked.
  • 適用於 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 時,請遵循使用者的預設命令介面。Respect user's default shell when using wsl.exe. [GH 2372][GH 2372]
  • 將所有網路介面報告為乙太網路。Report all network interfaces as ethernet. [GH 2996][GH 2996]
  • 更好的處理損毀的 /etc/passwd 檔案。Better handling of corrupt /etc/passwd file. [GH 3001][GH 3001]

主控台Console

  • 沒有任何修正。No fixes.

LTP 結果:LTP Results:

正在進行測試。Testing in progress.

組建 17618 (向前跳過)Build 17618 (Skip Ahead)

如需組建 17618 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17618 visit the Windows Blog.

WSLWSL

  • 引進 NT interop 的 pseudoconsole 功能 [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=force" (舊行為) 需要設定登錄機碼。Using "case=force" (the old behavior) requires setting a registry key. 執行下列命令,以在您需要使用 "case=force" 時加以啟用:reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1Run the following command to enable "case=force" if you need to use it: reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
    • 如果您在舊版 Windows 中使用 WSL 建立的現有目錄需要區分大小寫,請使用 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
  • 從 uname syscall 傳回的 Null 終止字串。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.
  • 修正使用 CLEARTID 和 SETTID 旗標複製短期程序的競爭情形,而不需要清除 TID 位址即可結束。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 字元,支援包含不合法 NTFS 字元的檔案名稱。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 等等傳回讀取和寫入準備就緒。[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. 這應該只會針對您從 Microsoft 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 和通訊端),現在可以從 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 可透過 wsl.conf 更容易設定WSL is more configurable with wsl.conf

我們為您新增了一種方法,自動設定 WSL 中的特定功能,在您每次啟動子系統時套用。We added a method for you to automatically configure certain functionality in WSL that will be applied every time you launch the subsystem. 這包括自動掛接選項和網路設定。This includes automount options and network configuration. 在我們的部落格文章中深入了解,位置是: https://aka.ms/wslconfLearn more about it in our blog post at: https://aka.ms/wslconf

AF_UNIX 允許 WSL 和 Windows 原生程序上 Linux 程序之間的通訊端連線AF_UNIX allows socket connections between Linux processes on WSL and Windows native processes

WSL 和 Windows 應用程式現在可以透過 Unix 通訊端彼此通訊。WSL and Windows applications can now communicate with each other over Unix sockets. 假設您想要在 Windows 中執行服務,並讓 Windows 和 WSL 應用程式都能使用它。Imagine you want to run a service in Windows and make it available to both Windows and WSL apps. 現在,您可以使用 Unix 通訊端來做到這一點。Now, that's possible with Unix sockets. 在我們的部落格文章中深入了解,位置是: https://aka.ms/afunixinteropRead more in our blog post at https://aka.ms/afunixinterop

WSLWSL

  • 支援 mmap() 與 MAP_NORESERVE [GH 121,2784]Support mmap() with MAP_NORESERVE [GH 121, 2784]
  • 支援 CLONE_PTRACE 和 CLONE_UNTRACED [GH 121,2781]Support CLONE_PTRACE and CLONE_UNTRACED [GH 121, 2781]
  • 處理複製中的非 SIGCHLD 終止信號 [GH 121,2781]Handle non-SIGCHLD termination signal in clone [GH 121, 2781]
  • 虛設常式 /proc/sys/fs/inotify/max_user_instances 和 /proc/sys/fs/inotify/max_user_watches [GH 1705]Stub /proc/sys/fs/inotify/max_user_instances and /proc/sys/fs/inotify/max_user_watches [GH 1705]
  • 載入包含載入標頭 (具有非零位移) 的 ELF 二進位檔時發生錯誤 [GH 1884]Error loading ELF binaries that contain load headers with non-zero offsets [GH 1884]
  • 載入影像時,有零的尾端分頁位元組。Zero out trailing page bytes when loading images.
  • 減少 execve 以無訊息方式終止程序的情況Reduce cases where execve silently terminates process

主控台Console

  • 沒有任何修正。No fixes.

LTP 結果:LTP Results:

正在進行測試。Testing in progress.

組建 17083Build 17083

如需組建 17083 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17083 visit the Windows Blog.

WSLWSL

  • 已修正與 epoll 相關的檢查錯誤 [GH 2798,2801,2857]Fixed bugcheck related to epoll [GH 2798, 2801, 2857]
  • 已修正關閉 ASLR 時的停止回應 [GH 1185,2870]Fixed hangs when turning off ASLR [GH 1185, 2870]
  • 確保 mmap 作業看起來不可部分完成 [GH 2732]Ensure mmap operations appear atomic [GH 2732]

主控台Console

  • 沒有任何修正。No fixes.

LTP 結果:LTP Results:

正在進行測試。Testing in progress.

組建 17074Build 17074

如需組建 17074 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17074 visit the Windows Blog.

WSLWSL

  • 已修正 DrvFs 中繼資料的儲存格式 [GH 2777]Fixed storage format of DrvFs metadata [GH 2777]
    重要事項: 在此組建之前建立的 DrvFs 中繼資料將不會正確地顯示,或根本不會出現。Important: DrvFs metadata created before this build will show up incorrectly or not at all. 若要修正受影響的檔案,請使用 chmod 和 chown 來重新套用中繼資料。To fix affected files, use chmod and chown to re-apply the metadata.
  • 已修正多個信號和可重新啟動 syscalls 的問題。Fixed issue with multiple signals and restartable syscalls.

主控台Console

  • 沒有任何修正。No fixes.

LTP 結果:LTP Results:

正在進行測試。Testing in progress.

組建 17063Build 17063

如需組建 17063 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17063 visit the Windows Blog.

WSLWSL

  • DrvFs 支援其他 Linux 中繼資料。DrvFs supports additional Linux metadata. 這可讓您使用 chmod/chown 來設定檔案的擁有者和模式,以及建立特殊檔案 (例如 fifos、unix 通訊端和裝置檔案)。This allows setting the owner and mode of files using chmod/chown, and also the creation of special files such as fifos, unix sockets and device files. 預設會停用這項功能,因為它仍然是實驗性質。This is disabled by default for now since it's still experimental. 注意: 我們已修正 DrvFs 所使用中繼資料格式的錯誤。Note: We fixed a bug in the metadata format used by DrvFs. 雖然中繼資料針對實驗目的可在此組建上運作,但未來的組建無法正確讀取此組建所建立的中繼資料。While metadata works on this build for experimentation, future builds will not correctly read metadata created by this build. 您可能需要手動更新已修改檔案的擁有者,而且必須重新建立具有自訂裝置識別碼的裝置。You might need to manually update owner for modified files and devices with a custom device ID will have to be recreated.

    若要啟用,請使用中繼資料選項掛接 DrvFs (若要在現有的掛接上啟用,您必須先將它卸載):To enable, mount DrvFs with the metadata option (to enable it on an existing mount, you must first unmount it):

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

    Linux 權限會當做額外的中繼資料新增至檔案;它們不會影響 Windows 權限。Linux permissions are added as additional metadata to the file; they do not affect the Windows permissions. 請記住,使用 Windows 編輯器編輯檔案可能會移除中繼資料。Remember, editing a file using a Windows editor may remove the metadata. 在此情況下,檔案將會還原為其預設權限。In this case, the file will revert to its default permissions.

  • 已將掛接選項新增至 DrvFs,以控制沒有中繼資料的檔案。Added mount options to DrvFs to control files without metadata.

    • uid:用於所有檔案擁有者的使用者識別碼。uid: the user ID used for the owner of all files.
    • gid:用於所有檔案擁有者的群組識別碼。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
    

    結合中繼資料選項來指定沒有中繼資料的檔案預設權限。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)

  • 讀取/寫入適用於非常大的 IO 大小 (GH 2653)read/write works for very large IO sizes (GH 2653)

  • waitpid 適用於程序群組識別碼 (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)

  • 過量使用模式中的分頁錯誤修正;修正 sbcl (GH 1128)page fault fixes in overcommit mode; fixes sbcl (GH 1128)

  • 複製支援更多旗標組合clone supports more flags combinations

  • 支援 epoll 檔案的 select/epoll (先前為沒有操作)。Support select/epoll of epoll files (previously a no-op).

  • 通知 ptrace 未實作的 syscalls。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]

  • 其他錯誤修正和改善。Additional bug fixes and improvements.

適用於 Windows 開發人員的 Linux 工具Linux tools available to developers on Windows

  • Windows 命令列工具鏈包括 bsdtar (tar) 和捲曲。Windows Command line Toolchain includes bsdtar (tar) and curl. 請參閱此部落格,深入了解如何新增這兩項新工具,並了解其如何塑造 Windows 上的開發人員經驗。Read this blog to learn more about the addition of these two new tools and see how they're shaping the developer experience on Windows.

  • AF_UNIX 可在 Windows 測試人員 SDK (17061+)中取得。AF_UNIX is available in the Windows Insider SDK (17061+). 請參閱此部落格,以深入了解 AF_UNIX,以及 Windows 開發人員可以如何使用它。Read this blog to learn more about AF_UNIX and how developers on Windows can use it.

主控台Console

  • 沒有任何修正。No fixes.

LTP 結果:LTP Results:

正在進行測試。Testing in progress.

組建 17046Build 17046

如需組建 17046 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 17046 visit the Windows Blog.

固定式Fixed

WSLWSL

  • 允許程序在沒有使用中終端機的情況下執行。Allow processes to run without an active terminal. [GH 709,1007,1511,2252,2391 等等][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.
  • 其他改進功能和錯誤修正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]
  • 其他改進功能和錯誤修正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]
  • 其他改進功能和錯誤修正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
  • 其他改進功能和錯誤修正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]
  • 修正主控台/tty 的複製/貼上行為,並新增更好的完整緩衝區處理 [GH 2204,2131]Fix copy/paste behavior for console/tty, and add better full buffer handling [GH 2204, 2131]
  • 設定 AT_SECURE 在輔助向量中用於 set-user-ID 和 set-group-ID 程式 [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]
  • 其他改進功能和錯誤修正Additional improvements and bug fixes

主控台Console

LTP 結果:LTP Results:

自 16251 開始沒有任何變更No change since 16251

Syscall 支援Syscall Support

以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

prlimit64

已知問題Known Issues

GitHub 問題2392:WSL 無法辨識的 Windows 資料夾GitHub Issue 2392: Windows Folders not recognized by WSL ...

在組建 16257 中,WSL 在透過 /mnt/c/... 列舉 Windows 檔案/資料夾時發生問題。In build 16257, WSL has issues when enumerating Windows files/folders via /mnt/c/.... 此問題已獲得修正,應在 8/14/2017 開始一週期間,於測試人員組建中發行。This issue has been fixed and should be released in Insiders build during week commencing 8/14/2017.


組建 16251Build 16251

如需組建 16251 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 16251 visit the Windows Blog.

固定式Fixed

WSLWSL

  • 從 WSL 選用元件移除 Beta 標記,如需詳細資訊,請參閱部落格文章Remove beta tag from WSL optional component, see blog post for details.
  • 在 exec 上正確初始化 saved-set uid 和 gid,用於 set-user-ID 和 set-group-ID 二進位檔 [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
  • 其他改進功能和錯誤修正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 逸出程式碼中的非粗體/-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 時的主控台轉譯錯誤 [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]
  • 其他改進功能和錯誤修正Additional improvements and bug fixes

組建 16237Build 16237

如需組建 16237 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 16237 visit the Windows Blog.

固定式Fixed

  • 在 lxfs 中使用檔案 (不含 EAs) 的預設屬性 (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]
  • 已修正 ttys 的初始 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) 的 "stat" 修正不正確的區塊計數 [GH 1894]Fix incorrect block count in "stat" for DrvFs (and LxFs) [GH 1894]
  • 其他改進功能和錯誤修正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 相關的 syscalls 支援 (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 預留位置和 Compact OS 壓縮檔的支援。Improved support for OneDrive placeholders, GVFS placeholders, and Compact OS compressed files.
  • 其他改進功能和錯誤修正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 與 threadgroup 終止之間的競爭條件 [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 掛接移至 init daemon [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]
  • 已新增適用於應用程式節點、追蹤路由、發掘、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.SYS 支援Enable CDFS support in drvfs
    • 在 drvfs 中正確處理網路檔案系統的權限Correctly handle permissions for network file systems in drvfs
    • 將遠端磁碟機的支援新增至 drvfsAdd 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 Creators UpdateBuild 15046 to Windows 10 Creators Update

尚未規劃要加入 Windows 10 Creators Update 中的 WSL 修正或功能。There are no more WSL fixes or features planned for inclusion in the Creators Update to Windows 10. WSL 的版本資訊將會在接下來的幾週內繼續,作為下一個主要 Windows Update 的新增目標。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) 偶爾會行為失常的錯誤。Fixed a bug where time(2) would sporadically misbehave.
  • 已修正併發出 * SIGPROCMASK syscalls 可能會損毀信號遮罩的問題。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]
  • 已修正 ptys 在大量 tmux IO 後停止回應的錯誤。Fixed bug where ptys would hang after heavy tmux IO. [GH 1358][GH 1358]
  • 已修正許多系統呼叫中的逾時驗證 (futex、semtimedop、ppoll、sigtimedwait、itimer、timer_create)Fixed timeout validation in many system calls (futex, semtimedop, ppoll, sigtimedwait, itimer, timer_create)
  • 已新增 eventfd EFD_SEMAPHORE 支援 [GH 452]Added eventfd EFD_SEMAPHORE support [GH 452]
  • 其他修正和改進Additional fixes and improvements

LTP 結果:LTP Results:

通過測試的數目:737Number of Passing Test: 737
未通過的數目 (失敗、略過等...):255Number of non-Passing (failing, skipped, etc…): 255
LTP 測試回合記錄LTP Test Run Logs


組建 15025Build 15025

如需組建 15025 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 15025 visit the Windows Blog.

固定式Fixed

  • 修正中斷 grep 2.27 的錯誤 [GH 1578]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() 未等候的錯誤 [GH 1609]Fixed bug where epoll_wait() wasn't waiting [GH 1609]
  • 實作 /proc/version_signatureImplement /proc/version_signature
  • 如果兩個檔案描述元都參考相同的管道,則 Tee 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 preformace 的變更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

  • 已修正不正確回報 procfs 中針對 htop 等工具的 CPU 使用量錯誤 (GH 823,945,971)Fixed bug that incorrectly reported CPU usage in procfs for tools like htop (GH 823, 945, 971)
  • 在現有檔案上以 O_TRUNC 呼叫 open() 時,現在會在 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 套件更新背景工作現在會從檢視隱藏執行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 現在會在空間 (而非 EINVAL) 用盡時失敗,並出現 ENOSPC (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

Syscalls 總計: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

  • 有一個已知錯誤,主控台無法辨識某些 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. 這是每個終端機的對應,而且必須在「每次」啟動時執行。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:

  • 有一個已知錯誤,主控台無法辨識某些 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. 這是每個終端機的對應,而且必須在「每次」啟動時執行。This mapping is per terminal and will have to be done every time bash is launched. 使用者可以探索選項,將此包含在其 .bashrcUsers can explore the option to include this in their .bashrc
  • 當 WSL 正在執行時,系統執行緒會耗用 100% 的 CPU 核心。While WSL is running a system thread will consume 100% of a CPU core. 根本原因已於內部解決和修正。The root cause has been addressed and fixed internally.

固定式Fixed

  • 所有 bash 工作階段現在都必須在相同的權限層級建立。All bash sessions must now be created at the same permission level. 嘗試在不同層級啟動工作階段將會遭到封鎖。Attempting to start a session at a different level will be blocked. 這表示系統管理員和非系統管理員的主控台無法同時執行。This means admin and non-admin consoles cannot run at the same time. (GH #626)(GH #626)
  • 已執行下列 NETLINK_ROUTE 訊息 (需要 Windows 系統管理員)Implemented the following NETLINK_ROUTE messages (requires Windows admin)
    • RTM_NEWADDR (支援 ip addr add)RTM_NEWADDR (supports ip addr add)
    • RTM_NEWROUTE (支援 ip route add)RTM_NEWROUTE (supports ip route add)
    • RTM_DELADDR (支援 ip addr del)RTM_DELADDR (supports ip addr del)
    • RTM_DELROUTE (支援 ip route del)RTM_DELROUTE (supports ip route del)
  • 針對要更新的套件已排程的工作檢查,將不再於計量付費連線上執行 (GH #1371)Scheduled task checking for packages to update will no longer run on a metered connection (GH #1371)
  • 已修正管道停滯的錯誤,亦即 bash -c "ls -alR /" | bash -c "cat" (GH #1214)Fixed error where piping gets stuck i.e. bash -c "ls -alR /" | bash -c "cat" (GH #1214)
  • 已實作 TCP_KEEPCNT 通訊端選項 (GH #843)Implemented TCP_KEEPCNT socket option (GH #843)
  • 已實作 IP_MTU_DISCOVER INET 通訊端選項 (GH #720,717,170,69)Implemented IP_MTU_DISCOVER INET socket option (GH #720, 717, 170, 69)
  • 已移除舊版功能,以使用 NT 路徑查閱從 init 執行 NT 二進位檔。Removed legacy functionality to run NT binaries from init with NT path lookup. (GH #1325)(GH #1325)
  • 修正 /dev/kmsg 的模式,以允許群組/其他讀取存取權 (0644) (GH #1321)Fix mode of /dev/kmsg to allow group / other read access (0644) (GH #1321)
  • 實作 /proc/sys/kernel/random/uuid (GH #1092)Implemented /proc/sys/kernel/random/uuid (GH #1092)
  • 已更正處理開始時間顯示為 2432 年的錯誤 (GH #974)Corrected error where process start time was showing as year 2432 (GH #974)
  • 已將預設 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 的剖析邏輯。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.exe 時,正常地失敗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)
  • 已修正在 WSL 中截斷 Windows 路徑的問題Fixed issue where Windows path was truncated in WSL
  • 其他修正和改進Additional fixes and improvements

LTP 結果:LTP Results:

通過測試的數目:690Number of Passing Test: 690
未通過的數目 (失敗、略過等...):274Number of non-Passing (failing, skipped, etc…): 274
LTP 測試回合記錄LTP Test Run Logs


Syscall 支援Syscall Support

以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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 的檢查錯誤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 中正確地回報 (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 要求會失敗,並且有 EINVALFixed 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" 公用程式包含一個錯誤,如果 WSL 報告 32 位元組的硬體位址,它會損毀。Note that the Linux "ip" utility contains a bug where it will crash if WSL reports a 32-byte hardware address. 這是 "ip" 中的錯誤,而不是 WSL。This is a bug in "ip", not WSL. "ip" 公用程式會硬式編碼用來列印硬體位址的字串緩衝區長度,而該緩衝區太小,無法列印 32 位元組的硬體位址。The "ip" utility hard-codes the length of the string buffer used to print the hardware address, and that buffer is too small to print a 32-byte hardware address.
  • 其他修正和改進Additional fixes and improvements

LTP 結果:LTP Results:

通過測試的數目:669Number of Passing Test: 669
未通過的數目 (失敗、略過等...):258Number of non-Passing (failing, skipped, etc…): 258
LTP 測試回合記錄LTP Test Run Logs


Syscall 支援Syscall Support

以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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)

  • 其他錯誤修正與改進功能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
  • 其他錯誤修正與改進功能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 程序重新導向至檔案不一定都能運作的錯誤Terminal 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
  • 其他錯誤修正與改進功能Additional bugfixes and improvements

LTP 結果:LTP Results:

通過測試的數目:665Number of Passing Test: 665
未通過的數目 (失敗、略過等...):263Number of non-Passing (failing, skipped, etc…): 263
LTP 測試回合記錄LTP Test Run Logs


組建 14946Build 14946

如需組建 14946 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 14946 visit the Windows Blog.

固定式Fixed

  • 已修正無法為包含空格或引號的 NT 使用者名稱建立 WSL 使用者帳戶的問題。Fixed an issue that prevented creating WSL user accounts for users with NT usernames that contain spaces or quotes.

  • 變更 VolFs 和 DrvFs,使其在 stat 中針對目錄的連結計數傳回 0Change VolFs and DrvFs to return 0 for directory's link count in stat

  • 支援 IPV6_MULTICAST_HOPS 通訊端選項。Support IPV6_MULTICAST_HOPS socket option.

  • 將每個 tty 限制為單一主控台 I/O 迴圈。Limit to a single console I/O loop per tty. 範例:以下是可行的命令:Example: the following command is possible:

    • bash -c "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

  • 其他錯誤修正與改進功能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

  • 有一些檢查錯誤已提出,包括「嘗試執行 NOEXECUTE 記憶體」網路損毀,但封鎖了 SSHA number of bugchecks addressed, including the "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY" networking crash which was blocking SSH
  • DrvFs 上 Windows 應用程式所產生通知的 inotifiy 支援現已推出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
  • 其他錯誤修正與改進功能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 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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.exe/安裝或第一次執行 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. 檢查錯誤會將本身視為損毀,並出現「嘗試執行 NOEXECUTE 記憶體」錯誤。The bugcheck manifests itself as a crash with the error "ATTEMPTED EXECUTE OF NOEXECUTE MEMORY". 此問題最常見的表現是使用 ssh 時的損毀。The most common manifestation of this issue is a crash when using ssh. 內部組建已修正根本原因,並且會盡快將其推送給測試人員。The root cause is fixed on internal builds and will be pushed to Insiders at the earliest opportunity.

固定式Fixed

  • 實作 chroot 系統呼叫Implemented the chroot system call
  • inotify 中的改進功能包括支援 DrvFs 上 Windows 應用程式所產生的通知Improvements in inotify including support for notifications generated from Windows applications on DrvFs
    • 修正:Inotify 對於源自 Windows 應用程式的變更,目前不提供支援。Correction: Inotify support for changes originating from Windows applications not available at this time.
  • 繫結至 IPV6:: 的通訊端現在支援 IPV6_V6ONLY (GH #68,#157,#393,#460,#674,#740,#982,#996)Socket binding to IPV6:: now supports IPV6_V6ONLY (GH #68, #157, #393, #460, #674, #740, #982, #996)
  • 已實作 waitid systemcall 的 WNOWAIT 行為 (GH #638)WNOWAIT behavior for waitid systemcall implemented (GH #638)
  • 支援 IP 通訊端選項 IP_HDRINCL 和 IP_TTLSupport for IP socket options IP_HDRINCL and IP_TTL
  • 長度為零的 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
  • 其他錯誤修正與改進功能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 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

chroot

組建 14931Build 14931

如需組建 14931 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 14931 visit the Windows Blog.

固定式Fixed

  • 由於不在我們的控制範圍內,適用於 Linux 的 Windows 子系統的此組建中不會有任何更新。Due to circumstances beyond our control there are no updates in this build for the Windows Subsystem for Linux. 定期排程的更新將會在下一版中繼續。Regularly scheduled updates will resume in the next release.

組建 14926Build 14926

如需組建 14926 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 14926 visit the Windows Blog.

固定式Fixed

  • Ping 現在適用於沒有系統管理員權限的主控台Ping now works in consoles which do not have administrator privileges
  • 現在也支援 Ping6,而且沒有系統管理員權限Ping6 now supported, also without administrator privileges
  • Inotify 支援透過 WSL 修改的檔案。Inotify support for files modified through WSL. (GH #216)(GH #216)
    • 支援的旗標:Flags supported:
      • inotify_init1:LX_O_CLOEXEC,LX_O_NONBLOCKinotify_init1: LX_O_CLOEXEC, LX_O_NONBLOCK
      • inotify_add_watch 事件:LX_IN_ACCESS、LX_IN_MODIFY、LX_IN_ATTRIB、LX_IN_CLOSE_WRITE、LX_IN_CLOSE_NOWRITE、LX_IN_OPEN、LX_IN_MOVED_FROM、LX_IN_MOVED_TO、LX_IN_CREATE、LX_IN_DELETE、LX_IN_DELETE_SELF、LX_IN_MOVE_SELFinotify_add_watch events: LX_IN_ACCESS, LX_IN_MODIFY, LX_IN_ATTRIB, LX_IN_CLOSE_WRITE, LX_IN_CLOSE_NOWRITE, LX_IN_OPEN, LX_IN_MOVED_FROM, LX_IN_MOVED_TO, LX_IN_CREATE, LX_IN_DELETE, LX_IN_DELETE_SELF, LX_IN_MOVE_SELF
      • inotify_add_watch 屬性:LX_IN_DONT_FOLLOW、LX_IN_EXCL_UNLINK、LX_IN_MASK_ADD、LX_IN_ONESHOT、LX_IN_ONLYDIRinotify_add_watch attributes: LX_IN_DONT_FOLLOW, LX_IN_EXCL_UNLINK, LX_IN_MASK_ADD, LX_IN_ONESHOT, LX_IN_ONLYDIR
      • 讀取輸出:LX_IN_ISDIR、LX_IN_IGNOREDread output: LX_IN_ISDIR, LX_IN_IGNORED
    • 已知問題:從 Windows 應用程式修改檔案並不會產生任何事件Known issue: Modifying files from Windows applications does not generate any events
  • Unix 通訊端現在支援 SCM_CREDENTIALSUnix socket now supports SCM_CREDENTIALS

LTP 結果:LTP Results:

通過測試的數目:651Number of Passing Test: 651
未通過的數目 (失敗、略過等...):258Number of non-Passing (failing, skipped, etc…): 258
LTP 測試回合記錄LTP Test Run Logs


組建 14915Build 14915

如需組建 14915 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 14915 visit the Windows Blog.

固定式Fixed

  • Socketpair for unix 資料包通訊端 (GH #262)Socketpair for unix datagram sockets (GH #262)
  • 適用於 SO_REUSEADDR 的 Unix 通訊端支援Unix socket support for SO_REUSEADDR
  • 適用於 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 資料包通訊端傳送、接收和關閉的支援Adding support for unix datagram socket send, recv and shutdown
  • 修正因為非固定位址的 mmap 參數驗證無效而產生的檢查錯誤。Fix bugcheck due to invalid mmap parameter validation for non-fixed addresses. (GH #847)(GH #847)
  • 支援暫停/繼續終端機狀態Support for suspend / resume of terminal states
  • 支援 TIOCPKT ioctl 來解除封鎖螢幕公用程式 (GH #774)Support for TIOCPKT ioctl to unblock the Screen utility (GH #774)
    • 已知問題:功能鍵無法運作Known issue: Function keys not operational
  • 已更正 TimerFd 中可能造成 LxpTimerFdWorkerRoutine 存取已釋放成員 '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
  • 其他改進功能和錯誤修正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
  • 其他錯誤修正與改進功能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 syscalls 對齊 listxattrAlign 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 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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
  • 已修正未正確掛接 ramdisks 的問題Fixed an issue where ramdisks were not mounted correctly
  • 變更 unix 通訊端接受以支援旗標 (部分 GH #451)Change unix socket accept to support flags (partial GH #451)
  • 已修正一般網路相關的藍色畫面Fixed common network related bluescreen
  • 已修正存取 /proc/[pid]/task 時的藍色畫面 (GH #523)Fixed bluescreen when accessing /proc/[pid]/task (GH #523)
  • 已針對某些 pty 案例修正高 CPU 使用率 (GH #488,#504)Fixed high CPU utilization for some pty scenarios (GH #488, #504)
  • 其他錯誤修正與改進功能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
  • 其他錯誤修正與改進功能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)
  • 其他錯誤修正與改進功能Additional bugfixes and improvements

Syscall 支援Syscall Support

  • 以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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 刪除和 chmod read_only 檔案Now able to delete and chmod read_only files from DrvFs
  • 已修正終端機在中斷連線時停止回應的某些執行個體 (GH #43)Fixed some instances where the terminal hangs on disconnect (GH #43)
  • chmod 和 chown 現在可以在 tty 裝置上執行chmod and chown now work on tty devices
  • 允許連線到 0.0.0.0 和 :: 作為 localhost (GH #388)Allow connection to 0.0.0.0 and :: as localhost (GH #388)
  • Sendmsg/recvmsg 現在會處理長度 > 1 的 IO 向量 (部分 GH #376)Sendmsg/recvmsg now handle an IO vector length of >1 (partial GH #376)
  • 使用者現在可以退出自動產生的主機檔案 (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 讀取可用 (GH #271)Sockets now notify epoll read available during shutdown (GH #271)
  • lxrun/uninstall 可以更佳地刪除檔案和資料夾lxrun /uninstall does a better job of deleting the files and folders
  • 已更正 ps -f (GH #246)Corrected ps -f (GH #246)
  • 改進的 x11 應用程式 (例如 xEmacs) 支援 (GH #481)Improved support for x11 apps such as xEmacs (GH #481)
  • 已更新初始執行緒堆疊大小以符合預設 Ubuntu 設定,並將大小正確地報告給 get_rlimit syscall (GH #172,#258)Updated initial thread stack size to match default Ubuntu setting and reporting the size correctly to the get_rlimit syscall (GH #172, #258)
  • 已改進 pico 程序影像名稱的報告 (例如,用於審核)Improved reporting of pico process image names (e.g., for auditing)
  • 已針對 df 命令實作 /proc/mountinfoImplemented /proc/mountinfo for df command
  • 已修正子系名稱的符號連結錯誤碼。Fixed symlink error code for child name . and ..
  • 其他改進功能的錯誤修正和改進Additional improvements bugfixes and improvements

Syscall 支援Syscall Support

以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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
  • 每個掛接點的唯一裝置識別碼 (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 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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.

如需有關 VolFs 和 DriveFs 的資訊,請參閱 WSL 部落格Information on VolFs and DriveFs can be found on the WSL Blog.

固定式Fixed

  • 已修正 Windows 使用者在使用者名稱中具有 Unicode 字元時的安裝問題Fixed install issue when the Windows user had Unicode characters in the username
  • 常見問題集中的 apt-get update udev 因應措施現在預設會在第一次執行時提供The apt-get update udev workaround in the FAQ is now provided by default on first run
  • 已啟用 DriveFs (/mnt/) 目錄中的符號連結Enabled symlinks in DriveFs (/mnt/) directories
  • 符號連結現在可在 DriveFs 和 VolFs 之間運作Symlinks now work between DriveFs and VolFs
  • 已解決最上層路徑剖析問題:ls .// 現在會如預期般運作Addressed top level path parsing issue: ls .// will now work as expected
  • DriveFs 上的 npm install 和 -g 選項現在可以運作npm install on DriveFs and the -g options are now working
  • 已修正導致 PHP 伺服器無法啟動的問題Fixed issue preventing PHP server from launching
  • 已更新預設的環境值,例如 $PATH,更接近原生 UbuntuUpdated default environment values, such as $PATH to closer match native Ubuntu
  • 在 Windows 中新增每週維護工作以更新 apt 套件快取Added a weekly maintenance task in Windows to update the apt package cache
  • 已修正 ELF 標頭驗證的問題,WSL 現在支援所有 Melkor 選項Fixed issue with ELF header validation, WSL now supports all Melkor options
  • Zsh 命令介面功能正常Zsh shell is functional
  • 現在支援先行編譯的 Go 二進位檔Precompiled Go binaries are now supported
  • 在 Bash.exe 第一次執行時提示現在已正確當地語系化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 改進功能與錯誤修正。Syscall improvements and bugfixes. 支援的 syscall 清單如下。Supported syscall list below.
  • 其他錯誤修正與改進功能Additional bugfixes and improvements

已知問題Known Issues

  • 未解析 '..'Not resolving '..' 在某些情況下,於 DriveFs 上正確運作correctly on DriveFs in some cases

Syscall 支援Syscall Support

以下是在 WSL 中部分實作的全新或增強 syscalls 清單。Below are a list of new or enhanced syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。The syscalls on this list are supported in at least one scenario, but may not have all parameters supported at this time.

FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR

組建 14332Build 14332

如需組建 14332 的一般 Windows 資訊,請造訪 Windows 部落格For general Windows information on build 14332 visit the Windows Blog.

固定式Fixed

  • 更好的 resolv.conf 產生,包括排列 DNS 項目的優先順序Better resolv.conf generation including prioritizing DNS entries
  • 在 /mnt 與非 /mnt 磁碟機之間移動檔案和目錄的問題Issue with moving files and directories between /mnt and non-/mnt drives
  • 現在可以使用符號連結來建立 Tar 檔案Tar files can now be created with symlinks
  • 已在建立執行個體時新增預設 /run/lock 目錄Added default /run/lock directory on instance creation
  • 更新 /dev/null 以傳回適當的 stat 資訊Update /dev/null to return proper stat info
  • 第一次執行期間下載的其他錯誤Additional errors when downloading during first run
  • Syscall 改進功能與錯誤修正。Syscall improvements and bugfixes. 支援的 syscall 清單如下。Supported syscall list below.
  • 其他改進功能的錯誤修正和改進Additional improvements bugfixes and improvements

Syscall 支援Syscall Support

以下是在 WSL 中具有一些實作的新 syscall。Below is the new syscall that has some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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 install 現在可以運作npm install now works
    • 現在可以使用這裡的指示來安裝 jdk/jre。jdk / jre now installable using instructions found here.
    • 已知問題:符號連結不適用於 Windows 掛接。known issue: symlinks do not work for Windows mounts. 功能將在稍後的組建中提供Functionality will be available in a later build
  • 現在會顯示 top 和 htoptop and htop now display
  • 某些安裝失敗的其他錯誤訊息Additional error messages for some install failures
  • Syscall 改進功能與錯誤修正。Syscall improvements and bugfixes. 支援的 syscall 清單如下。Supported syscall list below.
  • 其他改進功能的錯誤修正和改進Additional improvements bugfixes and improvements

Syscall 支援Syscall Support

以下是在 WSL 中具有一些實作的 syscalls 清單。Below is a list of syscalls that have some implementation in WSL. 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。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