適用於 Linux 的 Windows 子系統版本資訊
本文內容
組建 21364
組建 21354
組建 21286
組建 20226
組建 20211
組建 20190
組建 20175
組建 20150
組建 19640
組建 19555
組建 19041
組建 19028
組建 19018
組建 19013
組建 19002
組建 18995
組建 18990
組建 18980
組建 18975
組建 18970
組建 18945
組建 18917
組建 18890
組建 18342
組建 18334
組建 18305
組建 18277
組建 18272
組建 18267
組建 17763 (1809)
組建 18252 (向前跳過)
組建 17738 (快速)
組建 17728 (快速)
組建 18204 (向前跳過)
組建 17723 (快速)
組建 17713
組建 17704
組建 17692
組建 17686
組建 17677
組建 17666
組建 17655 (向前跳過)
組建 17639 (向前跳過)
組建 17133 (快速)
組建 17128 (快速)
組建 17627 (向前跳過)
組建 17618 (向前跳過)
組建 17110
組建 17107
組建 17101
組建 17093
組建 17083
組建 17074
組建 17063
組建 17046
組建 17040
組建 17035
組建 17025
組建 17017
Fall Creators Update
組建 16288
組建 16278
組建 16275
組建 16273
組建 16257
組建 16251
組建 16241
組建 16237
組建 16232
組建 16226
組建 16215
組建 16199
組建 16193
組建 16184
組建 16179
組建 16176
組建 16170
組建 15046 至 Windows 10 Creators Update
組建 15042
組建 15031
組建 15025
組建 15019
組建 15014
組建 15007
組建 15002
組建 14986
組建 14971
組建 14965
組建 14959
組建 14955
組建 14951
組建 14946
組建 14942
組建 14936
組建 14931
組建 14926
組建 14915
組建 14905
組建 14901
Windows 10 年度更新版的組建 14388
組建 14376
組建 14371
組建 14366
組建 14361
組建 14352
組建 14342
組建 14332
組建 14328
顯示其他 104 個
如需組建 21364 的一般 Windows 資訊,請造訪 Windows 部落格 。
GUI 應用程式現已推出! 如需詳細資訊,請參閱這篇部落格文章 。
解決透過 \\wsl.localhost\ 存取檔案時發生的錯誤。
修正 LxssManager 服務中潛在的死結。
如需組建 21354 的一般 Windows 資訊,請造訪 Windows 部落格 。
將 \wsl 前置詞切換至 \wsl.localhost,以避免網路上有名為 "wsl" 的電腦時發生問題。 \wsl$ 會繼續運作。
啟用 Wow 處理序的 Linux 快速存取圖示。
更新一律透過 wslapi RegisterDistribution 傳遞第 2 版的問題。
將 /usr/lib/wsl/lib 目錄的 fmask 變更為 222,因此檔案會標示為可執行檔 [GH 3847]
如果未啟用虛擬機器平台,請修正 wsl 服務損毀。
如需組建 21286 的一般 Windows 資訊,請造訪 Windows 部落格 。
引進 wsl.exe --cd 命令,以設定命令的目前工作目錄。
改善從 NTSTATUS 到 Linux 錯誤碼的對應。 [GH 6063]
改善 wsl.exe -- 掛接錯誤報表。
已將選項新增至 /etc/wsl.conf,以啟用啟動命令:
[boot]
command=<string>
如需組建 20226 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正 LxssManager 服務的損毀。 [GH 5902]
如需組建 20211 的一般 Windows 資訊,請造訪 Windows 部落格 。
引進用於掛接實體或虛擬磁碟的 wsl.exe --mount
。 如需詳細資訊,請參閱在 Windows 和 WSL 2 中存取 Linux 檔案系統2 。
在檢查 VM 是否閒置時,修正 LxssManager 服務中的當機。 [GH 5768]
支援壓縮的 VHD 檔案。 [GH 4103]
確定安裝到 c:\windows\system32\lxss\lib 的 Linux 使用者模式程式庫會在作業系統升級期間保留。 [GH 5848]
可讓您列出可以利用 wsl --install --list-distributions
安裝的可用發行版本。
WSL 實例現在會在使用者登出時終止。
如需組建 20190 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正導致 WSL1 執行個體無法啟動的錯誤。 [GH 5633]
修正重新導向 Windows 程序輸出時的停止回應。 [GH 5648]
新增 %userprofile%\.wslconfig 選項,以控制 VM 閒置逾時 (wsl2.vmIdleTimeout=<time_in_ms>)。
支援從 WSL 啟動應用程式執行別名。
已將安裝 WSL2 核心和散發套件的支援新增至 wsl.exe --install。
如需組建 20175 的一般 Windows 資訊,請造訪 Windows 部落格 。
將 WSL2 VM 的預設記憶體指派調整為主機記憶體的 50% 或 8GB,以較小者為準 [GH 4166]。
將 \\wsl$ 前置詞變更為 \\wsl,以支援 URI 剖析。 仍然支援舊的 \\wsl$ 路徑。
依預設,在 amd64 上啟用 WSL2 的巢狀虛擬化。 您可以透過 %userprofile%\.wslconfig ([wsl2] nestedVirtualization=false) 來停用此功能。
讓 wsl.exe --update 指定啟動 Microsoft Update。
支援在 DrvFs 中重新命名唯讀檔案。
確保錯誤訊息一律會列印在正確的字碼頁中。
如需組建 20150 的一般 Windows 資訊,請造訪 Windows 部落格 。
WSL2 GPU 計算,如需詳細資訊,請參閱 Windows 部落格 。
引進 wsl.exe -- 安裝命令列選項,以輕鬆設定 WSL。
引進 wsl.exe -- 更新命令列選項,以管理 WSL2 核心的更新。
將 WSL2 設定為預設值。
增加 WSL2 vm 正常關機逾時。
修正在對應裝置記憶體時的 virtio-9p 競爭條件。
若已停用 UAC,則請勿執行提高權限的 9p 伺服器。
如需組建 19640 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 改善 virtio-9p (drvfs) 的穩定性。
如需組建 19555 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 使用記憶體 cgroup 來限制用來安裝和轉換作業的記憶體數量 [GH 4669]
當用來改善功能發現性的 Windows 子系統 Linux 版選用元件未啟用,請顯示 wsl.exe。
如果未安裝 WSL 選用元件,請變更 wsl.exe 以列印說明文字
建立執行個體時修正競爭條件
建立包含所有命令列功能的 wslclient.dll
防止在 LxssManagerUser 服務停止期間損毀
修正 wslapi.dll 在 distroName 參數為 Null 時快速失敗
如需組建 19041 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 在啟動處理程序之前清除信號遮罩
[WSL2] 將 Linux 核心更新為 4.19.84
當符號連結為非相對時,處理 /etc/resolv.conf 符號連結的建立
如需組建 19028 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 將 Linux 核心更新為 4.19.81
[WSL2] 將 /dev/net/tun 的預設權限變更為 0666 [GH 4629]
[WSL2] 將已指派給 Linux VM 的預設記憶體數量調整為 80% 的主機記憶體
[WSL2] 修正 interop 伺服器以處理逾時的要求,讓不正確的呼叫者無法使伺服器停止回應
如需組建 19018 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 使用 cache=mmap 作為 9p 裝載的預設值以修正 dotnet 應用程式
[WSL2] 修正 localhost 轉送 [GH 4340]
[WSL2] 引進跨散發版本的共用 tmpfs 裝載,以在散發版本間共用狀態
針對 \\wsl$ 修正還原持續網路磁碟機
如需組建 19013 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 改善 WSL 公用程式 VM 的記憶體效能。 不再使用的記憶體將會釋回主機。
[WSL2] 將核心版本更新為 4.19.79。 (新增 CONFIG_HIGH_RES_TIMERS、CONFIG_TASK_XACCT、CONFIG_TASK_IO_ACCOUNTING、CONFIG_SCHED_HRTICK 和 CONFIG_BRIDGE_VLAN_FILTERING)。
[WSL2] 修正輸入轉送以處理 stdin 是未關閉管道控制碼的案例 [GH 4424]
檢查 \\wsl$ 為不區分大小寫。
[wsl2]
pageReporting = <bool> # Enable or disable the free memory page reporting feature (default true).
idleThreshold = <integer> # Set the idle threshold for memory compaction, 0 disables the feature (default 1).
如需組建 19002 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 18995 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 修正在操作中斷之後,DrvFs 掛接停止運作的問題 (例如 ctrl-c) [GH 4377]
[WSL2] 修正非常大型 hvsocket 訊息的處理 [GH 4105]
[WSL2] 修正 stdin 為檔案時的 interop 問題 [GH 4475]
[WSL2] 修正當發生未預期的網路狀態時,服務損毀的問題 [GH 4474]
[WSL2] 如果目前的程序沒有環境變數,請從 interop 伺服器查詢散發版本的名稱
[WSL2] 修正 stdin 為檔案時的 interop 問題
[WSL2] 將 Linux 核心版本更新為 4.19.72
[WSL2] 新增透過 .wslconfig 指定其他核心命令列參數的功能
[wsl2]
kernelCommandLine = <string> # Additional kernel command line arguments
如需組建 18990 的一般 Windows 資訊,請造訪 Windows 部落格 。
改善 \\wsl$ 中目錄清單的效能
[WSL2] 插入額外的開機熵 [GH 4416]
[WSL2] 使用 su/sudo 時修正 Windows Interop [GH 4465]
如需組建 18980 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正拒絕 FILE_READ_DATA 的讀取符號連結。 這包括 Windows 針對回溯相容性所建立的所有符號連結,例如「C:\Document and Settings」和使用者設定檔目錄中的一堆符號連結
使非預期的檔案系統狀態不嚴重 [GH 4334,4305]
[WSL2] 如果您的 CPU/韌體支援虛擬化,請新增對 arm64 的支援
[WSL2] 允許無權限的使用者檢視核心記錄
[WSL2] 修正 stdout/stderr 通訊端已關閉時的輸出轉送 [GH 4375]
[WSL2] 支援電池和 AC 介面卡通過
[WSL2] 將 Linux 核心更新為 4.19.67
新增在 /etc/wsl.conf 中設定預設使用者名稱的功能:
[user]
default=<string>
如需組建 18975 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 已修正一些 localhost 可靠性問題 [GH 4340]
如需組建 18970 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 當系統從睡眠狀態恢復時,同步處理時間與主機時間 [GH 4245]
[WSL2] 盡可能在 Windows 磁碟區上建立 NT 符號連結。
[WSL2] 在 UTS、IPC、PID 和 Mount 命名空間中建立散發版本。
[WSL2] 當伺服器直接繫結至 localhost 時,修正 localhost 連接埠轉送 [GH 4353]
[WSL2] 修正輸出重新導向時的 interop [GH 4337]
[WSL2] 支援轉譯絕對 NT 符號連結。
[WSL2] 將核心更新為 4.19.59
[WSL2] 已正確設定 eth0 的子網路遮罩。
[WSL2] 變更邏輯,以在結束事件收到信號時中斷主控台背景工作角色迴圈。
[WSL2] 當散發版本未執行時,退出散發套件 vhd。
[WSL2] 修正 config 剖析程式庫,以正確地處理空值。
[WSL2] 藉由建立跨散發版本掛接來支援 Docker Desktop。 散發版本可以藉由在 /etc/wsl.conf 檔案中新增下列程式碼行來加入宣告此行為:
[automount]
crossDistro = true
如需組建 18945 的一般 Windows 資訊,請造訪 Windows 部落格 。
[WSL2] 允許使用 localhost:port 從主機存取 WSL2 中的接聽 tcp 通訊端
[WSL2] 修正安裝/轉換失敗和其他診斷以追蹤未來問題 [GH 4105]
[WSL2] 改善 WSL2 網路問題的診斷
[WSL2] 將核心版本更新為 4.19.55
[WSL2] 使用 docker 所需的設定選項更新核心 [GH 4165]
[WSL2] 增加指派給輕量型公用程式 VM 的 CPU 數目,使其與主機相同 (之前在核心設定中 CONFIG_NR_CPUS 的上限為 8) [GH 4137]
[WSL2] 建立 WSL2 輕量型 VM 的分頁檔
[WSL2] 允許透過 \\wsl$\distro 顯示使用者掛接 (例如 sshfs) [GH 4172]
[WSL2] 改善 9p 檔案系統效能
[WSL2] 確保 vhd ACL 沒有無限成長 [GH 4126]
[WSL2] 更新核心設定以支援 squashfs 和 xt_conntrack [GH 4107,4123]
[WSL2] 修正 interop.enabled /etc/wsl.conf 選項 [GH 4140]
[WSL2] 如果檔案系統不支援 EAs,則傳回 ENOTSUP
[WSL2] 修正具有 \\wsl$ 的 CopyFile 停止回應
將預設 umask 切換至 0022,並將 filesystem.umask 設定新增至 /etc/wsl.conf
修正 wslpath 以適當地解決符號連結,這是在 19h1 中迴歸 [GH 4078]
引進 %UserProfile%\.wslconfig 檔案以調校 WSL2 設定
[wsl2]
kernel=<path> # An absolute Windows path to a custom Linux kernel.
memory=<size> # How much memory to assign to the WSL2 VM.
processors=<number> # How many processors to assign to the WSL2 VM.
swap=<size> # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path> # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB
如需組建 18917 的一般 Windows 資訊,請造訪 Windows 部落格 。
WSL 2 現已推出! 如需詳細資訊,請參閱部落格 。
修正透過符號連結啟動 Windows 程序的迴歸無法正常運作 [GH 3999]
將 wsl.exe --list --verbose、wsl.exe --list --quiet 和 wsl.exe --import --version 選項新增至 wsl.exe
新增 wsl.exe --shutdown 選項
方案 9:允許開啟目錄讓寫入成功
如需組建 18890 的一般 Windows 資訊,請造訪 Windows 部落格 。
非封鎖通訊端洩漏 [GH 2913]
對終端機的 EOF 輸入可以封鎖後續讀取 [GH 3421]
更新 resolv.conf 標頭以參考 wsl.conf [在 GH 3928 中討論]
epoll 刪除程式碼中的鎖死 [GH 3922]
處理 --import 和 –export 的引數中空格 [GH 3932]
擴充 mmap 的檔案無法正常運作 [GH 3939]
修正 ARM64 \\wsl$ 存取無法正常運作的問題
為 wsl.exe 新增更好的預設圖示
如需組建 18342 的一般 Windows 資訊,請造訪 Windows 部落格 。
我們新增了一項功能,讓使用者從 Windows 存取 WSL 散發版本中的 Linux 檔案。 這些檔案可透過命令列存取,而 Windows 應用程式 (例如檔案總管、VSCode 等) 則可以與這些檔案互動。 瀏覽至 \\wsl$\<distro_name> 以存取您的檔案,或瀏覽至 \\wsl$ 來查看執行中的散發套件清單
新增額外的 CPU 資訊標記並修正 Cpus_allowed [_list] 值 [GH 2234]
支援來自非領導者執行緒的 exec [GH 3800]
將設定更新失敗視為非嚴重 [GH 3785]
更新 binfmt 以適當地處理位移 [GH 3768]
啟用方案 9 的對應網路磁碟機 [GH 3854]
支援 Windows -> Linux 和 Linux -> Windows 路徑轉譯以進行繫結掛接
在以唯讀狀態開啟的檔案上建立對應的唯讀區段
如需組建 18334 的一般 Windows 資訊,請造訪 Windows 部落格 。
重新設計 Windows 時區對應到 Linux 時區的方式 [GH 3747]
修正記憶體流失並加入新的字串轉譯函式 [GH 3746]
不含執行緒的 threadgroup 上的 SIGCONT 是沒有操作 [GH 3741]
在 /proc/self/fd 中正確顯示通訊端和 epoll 檔案描述項
如需組建 18305 的一般 Windows 資訊,請造訪 Windows 部落格 。
pthreads 在主要執行緒結束時遺失檔案的存取權 [GH 3589]
TIOCSCTTY 應該忽略 "force" 參數,除非該參數是必要的 [GH 3652]
wsl.exe 命令列改進和匯入/匯出功能的新增。
Usage: wsl.exe [Argument] [Options...] [CommandLine]
Arguments to run Linux binaries:
If no command line is provided, wsl.exe launches the default shell.
--exec, -e <CommandLine>
Execute the specified command without using the default Linux shell.
--
Pass the remaining command line as is.
Options:
--distribution, -d <DistributionName>
Run the specified distribution.
--user, -u <UserName>
Run as the specified user.
Arguments to manage Windows Subsystem for Linux:
--export <DistributionName> <FileName>
Exports the distribution to a tar file.
The filename can be - for standard output.
--import <DistributionName> <InstallLocation> <FileName>
Imports the specified tar file as a new distribution.
The filename can be - for standard input.
--list, -l [Options]
Lists distributions.
Options:
--all
List all distributions, including distributions that are currently
being installed or uninstalled.
--running
List only distributions that are currently running.
-setdefault, -s <DistributionName>
Sets the distribution as the default.
--terminate, -t <DistributionName>
Terminates the distribution.
--unregister <DistributionName>
Unregisters the distribution.
--upgrade <DistributionName>
Upgrades the distribution to the WslFs file system format.
--help
Display usage information.
如需組建 18277 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正組建 18272 中引進的「不支援此種介面」錯誤 [GH 3645]
忽略 umount syscall 的 MNT_FORCE 旗標 [GH 3605]
切換 WSL interop 以使用官方 CreatePseudoConsole API
FUTEX_WAIT 重新啟動時維持無逾時值
如需組建 18272 的一般 Windows 資訊,請造訪 Windows 部落格 。
警告: 此組建中的問題導致 WSL 無法運作。 嘗試啟動您的發行版本時,您會看到「不支援此種介面」錯誤。 已修正此問題,並將於下一週的測試人員快速組建中提供。 如果您已安裝此組建,您可以使用 設定-Update> 和 Security-Recovery> 中的「回到舊版 Windows 10」,回復到先前的 Windows 組建。
如需組建 18267 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正無法收穫或無限期地維持廢止程序的問題。
如果錯誤訊息超過最大長度,WslRegisterDistribution 就會停止回應 [GH 3592]
允許 DrvFs 上唯讀檔案的 fsync 成功 [GH 3556]
在 /bin 和 /sbin 目錄內部建立符號連結之前,請先確認 /bin 和 /sbin 目錄是否存在 [GH 3584]
已新增 WSL 執行個體的執行個體終止逾時機制。 逾時目前設定為 15 秒,表示執行個體會在最後一個 WSL 程序結束的 15 秒後終止。 若要立即終止散發套件,請使用:
wslconfig.exe /terminate <DistributionName>
如需組建 17763 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 18252 的一般 Windows 資訊,請造訪 Windows 部落格 。
將 init 和 bsdtar 二進位檔從 lxssmanager dll 移到另一個工具資料夾
修正使用 CLONE_FILES 時有關關閉檔案描述項的競爭
轉換 DrvFs 路徑時,處理 /proc/pid/mountinfo 中的選擇性欄位
允許 DrvFs mknod 成功,但不支援 S_IFREG 的中繼資料
在 DrvFs 上建立的唯讀檔案應具有唯讀屬性集 [GH 3411]
新增 /sbin/mount.drvfs 協助程式以處理 DrvFs 掛接
在 DrvFs 中使用 POSIX rename。
允許磁碟區上沒有磁碟區 GUID 的路徑轉譯。
如需組建 17738 的一般 Windows 資訊,請造訪 Windows 部落格 。
Setpriority syscall 權限檢查太嚴格,無法變更相同的執行緒優先順序 [GH 1838]
確保開機時間使用非偏誤中斷時間,以避免針對 clock_gettime(CLOCK_BOOTTIME) 傳回負值 [GH 3434]
在 WSL binfmt 解譯器中處理符號連結 [GH 3424]
較佳的 threadgroup 領導者檔案描述項清除處理。
如需組建 17728 的一般 Windows 資訊,請造訪 Windows 部落格 。
將 WSL 切換為使用 KeQueryInterruptTimePrecise 而不是 KeQueryPerformanceCounter,以避免溢位 [GH 3252]
Ptrace attach 可能會造成系統呼叫的錯誤傳回值 [GH 1731]
修正一些 AF_UNIX 相關問題 [GH 3371]
修正當目前的工作目錄長度少於 5 個字元時,可能導致 WSL interop 失敗的問題 [GH 3379]
如需組建 18204 的一般 Windows 資訊,請造訪 Windows 部落格 。
管道檔案系統不小心清除邊緣觸發的 epoll 事件 [GH 3276]
透過 NTFS 符號連結啟動的 Win32 可執行檔不遵守符號連結名稱 [GH 2909]
如需組建 17723 的一般 Windows 資訊,請造訪 Windows 部落格 。
避免一秒延遲失敗的回送連線到不存在的連接埠 [GH 3286]
新增 /proc/sys/fs/file-max stub 檔案 [GH 2893]
更精確的 IPV6 範圍資訊。
PR_SET_PTRACER 支援 [GH 3053]
管道檔案系統不小心清除邊緣觸發的 epoll 事件 [GH 3276]
透過 NTFS 符號連結啟動的 Win32 可執行檔不遵守符號連結名稱 [GH 2909]
如需組建 17713 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 17704 的一般 Windows 資訊,請造訪 Windows 部落格 。
新增 wsl -u 或 --user 選項 [GH 1203]
修正啟用快速啟動時的 WSL 啟動問題 [GH 2576]
Unix 通訊端需要保留中斷連線的對等認證 [GH 3183]
非封鎖的 Unix 通訊端使用 EAGAIN 無限期失敗 [GH 3191]
case=off 是新的預設 drvfs 掛接類型 [GH 2937,3212,3328]
新增 wslconfig/terminate 以停止執行散發套件。
如需組建 17692 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正未正確處理具有空格之路徑的 WSL 命令介面內容功能表項目問題。
以擴充屬性的形式公開每個目錄的區分大小寫
ARM64:模擬快取維護作業。 解決 dotnet 問題 。
DrvFs:僅 unescape 與逸出字元對應私用範圍中的字元。
如需組建 17686 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正 ELF parser 解譯器長度驗證中的逐一錯誤 [GH 3154]
WSL 過去時間的絕對計時器不會引發 [GH 3091]
確保新建立的重新分析點在上層目錄中列出。
以不可分割方式在 DrvFs 中建立區分大小寫的目錄。
如需組建 17677 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正即使檔案存在,多執行緒作業還是會傳回 ENOENT 的其他問題。 [GH 2712]
已修正啟用 UMCI 時的 WSL 啟動失敗。 [GH 3020]
如需組建 17666 的一般 Windows 資訊,請造訪 Windows 部落格 。
警告:有一個問題導致 WSL 無法在某些 AMD 晶片組上執行 [GH 3134]。 修正已準備就緒,可對測試人員組建分支進行。
新增 explorer 內容功能表以啟動 WSL [GH 437,603,1836]。 若要使用,請按住 shift 鍵,並在 explorer 視窗中按一下滑鼠右鍵。
修正 unix 通訊端未封鎖的行為 [GH 2822,3100]
修正 GH 2026 中所報告的停止回應 NETLINK 命令。
新增對掛接傳播旗標的支援 [GH 2911]。
修正不會造成 inotify 事件的截斷問題 [GH 2978]。
新增 wsl.exe 的 --exec 選項,在不使用命令介面的情況下叫用單一二進位檔。
新增 wsl.exe 的 --distribution 選項,以選取特定的散發版本。
如需組建 17655 的一般 Windows 資訊,請造訪 Windows 部落格 。
有限的 dmesg 支援。 應用程式現在可以登入 dmesg。 WSL 驅動程式會將有限的資訊記錄到 dmesg。 未來您可以擴充此功能,以從驅動程式中攜帶其他資訊/診斷。
注意:目前透過 /dev/kmsg
裝置介面支援 dmesg。 尚不支援 syslog
syscall 介面。 因此,某些 dmesg
命令列選項,例如 -S
、-C
無法正常執行。
已修正即使檔案存在,多執行緒作業還是會傳回 ENOENT 的問題。 [GH 2712]
如需組建 17639 的一般 Windows 資訊,請造訪 Windows 部落格 。
變更序列裝置的預設 gid 和模式以符合原生 [GH 3042]
DrvFs 現在支援擴充屬性。
注意:DrvFs 在擴充屬性的名稱上有一些限制。 特別的是,不允許某些字元 (例如 '/'、':' 和 '*'),而且擴充屬性名稱在 DrvFs 上不區分大小寫
如需組建 17133 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正 WSL 中的停止回應。 [GH 3039,3034]
如需組建 17128 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 17627 的一般 Windows 資訊,請造訪 Windows 部落格 。
新增對 futex pi 感知作業的支援。 [GH 1006]
請注意,優先順序目前不是支援的 WSL 功能,因此有一些限制,但應該解除封鎖標準使用方式。
適用於 WSL 程序的 Windows 防火牆支援。 [GH 1852]
例如,若要允許 WSL python 程序在任何連接埠上接聽,請使用提升權限的 Windows 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
如需有關如何新增防火牆規則的其他詳細資訊,請參閱連結
使用 wsl.exe 時,請遵循使用者的預設命令介面。 [GH 2372]
將所有網路介面報告為乙太網路。 [GH 2996]
更好的處理損毀的 /etc/passwd 檔案。 [GH 3001]
正在進行測試。
如需組建 17618 的一般 Windows 資訊,請造訪 Windows 部落格 。
引進 NT interop 的 pseudoconsole 功能 [GH 988、1366、1433、1542、2370、2406]。
舊版安裝機制 (lxrun.exe) 已被取代。 安裝散發套件的支援機制是透過 Microsoft Store。
正在進行測試。
如需組建 17110 的一般 Windows 資訊,請造訪 Windows 部落格 。
允許從 Windows 終止 /init [GH 2928]。
根據預設,DrvFs 現在會使用每個目錄的區分大小寫 (相當於 "case=dir" 掛接選項)。
使用 "case=force" (舊行為) 需要設定登錄機碼。 執行下列命令,以在您需要使用 "case=force" 時加以啟用:reg add HKLM\SYSTEM\CurrentControlSet\Services\lxss /v DrvFsAllowForceCaseSensitivity /t REG_DWORD /d 1
如果您在舊版 Windows 中使用 WSL 建立的現有目錄需要區分大小寫,請使用 fsutil.exe 將它們標示為區分大小寫:fsutil.exe file setcasesensitiveinfo <path>
enable
從 uname syscall 傳回的 Null 終止字串。
正在進行測試。
如需組建 17107 的一般 Windows 資訊,請造訪 Windows 部落格 。
支援主要 pty 端點上的 TCSETSF 和 TCSETSW [GH 2552]。
啟動同時 interop 程序可能會導致 EINVAL [GH 2813]。
修正 PTRACE_ATTACH 以在 /proc/pid/status 中顯示適當的追蹤狀態。
修正使用 CLEARTID 和 SETTID 旗標複製短期程序的競爭情形,而不需要清除 TID 位址即可結束。
從 17093 前版本的組建升級 Linux 檔案系統目錄時,顯示一則訊息。 如需 17093 檔案系統變更的詳細資料,請參閱 17093 的版本資訊。
正在進行測試。
如需組建 17101 的一般 Windows 資訊,請造訪 Windows 部落格 。
支援 signalfd。 [GH 129]
透過將不合法 NTFS 字元編碼為私人 Unicode 字元,支援包含不合法 NTFS 字元的檔案名稱。 [GH 1514]
當不支援寫入時,自動掛接將會回復為唯讀。 [GH 2603]
允許貼上 Unicode 代理配對 (如表情圖示字元)。 [GH 2765]
/proc 和 /sys 中的虛擬檔案應該會從 select、poll、epoll 等等傳回讀取和寫入準備就緒。[GH 2838]
修正可能導致服務在登錄遭篡改或損毀時進入無限迴圈的問題。
修正 netlink 訊息,以使用較新 (上游 4.14) 版本的 iproute2。
正在進行測試。
如需組建 17093 的一般 Windows 資訊,請造訪 Windows 部落格 。
升級至這個組建之後,第一次啟動 WSL 時,它需要執行一些工作來升級 Linux 檔案系統目錄。 這可能需要幾分鐘的時間,因此 WSL 的啟動速度可能會變慢。 這應該只會針對您從 Microsoft Store 安裝的每個散發套件執行一次。
改善 DrvFs 中的區分大小寫支援。
DrvFs 現在支援每個目錄區分大小寫。 這是可以在目錄上設定的新旗標,以指出這些目錄中的所有作業都應該視為區分大小寫,這可讓 Windows 應用程式能夠正確開啟只有大小寫不同的檔案。
DrvFs 有新的掛接選項,可以每個目錄為基礎控制區分大小寫
case=force:將所有目錄視為區分大小寫 (磁碟機根目錄除外)。 使用 WSL 建立的新目錄會標示為區分大小寫。 這是舊版的行為,但會將新的目錄標記為區分大小寫。
case=dir:只有具有每個目錄區分大小寫旗標的目錄會被視為區分大小寫;其他目錄則不區分大小寫。 使用 WSL 建立的新目錄會標示為區分大小寫。
case=off:只有具有每個目錄區分大小寫旗標的目錄會被視為區分大小寫;其他目錄則不區分大小寫。 使用 WSL 建立的新目錄會標示為不區分大小寫。
注意:在舊版中,WSL 所建立的目錄並不會設定此旗標,因此如果您使用 "case=dir" 選項,則不會將其視為區分大小寫。 即將推出在現有目錄上設定此旗標的方法。
使用這些選項掛接的範例 (針對現有的磁碟機,您必須先卸載,才可以使用不同的選項進行掛接):sudo mount -t drvfs C: /mnt/c -o case=dir
目前,case=force 仍然是預設選項。 未來將會變更為 case=dir。
在掛接 DrvFs 時,您現在可以在 Windows 路徑中使用正斜線,例如:sudo mount -t drvfs //server/share /mnt/share
WSL 現在會在執行個體啟動期間處理 /etc/fstab 檔案 [GH 2636]。
這會在自動掛接 DrvFs 磁碟機之前完成。fstab 已掛接的任何磁碟機將不會自動重新掛接,可讓您變更特定磁碟機的掛接點。
您可以使用 wsl.conf 來關閉此行為。
/proc 中的 mount、mountinfo 和 mountstats 檔案會適當地逸出特殊字元,例如反斜線和空格 [GH 2799]
在啟用中繼資料時,使用 DrvFs 建立的特殊檔案 (例如 WSL 符號連結,或 fifos 和通訊端),現在可以從 Windows 複製和移動。
我們為您新增了一種方法,自動設定 WSL 中的特定功能,在您每次啟動子系統時套用。 這包括自動掛接選項和網路設定。 在我們的部落格文章中深入了解,位置是:https://aka.ms/wslconf
AF_UNIX 允許 WSL 和 Windows 原生程序上 Linux 程序之間的通訊端連線
WSL 和 Windows 應用程式現在可以透過 Unix 通訊端彼此通訊。 假設您想要在 Windows 中執行服務,並讓 Windows 和 WSL 應用程式都能使用它。 現在,您可以使用 Unix 通訊端來做到這一點。 在我們的部落格文章中深入了解,位置是:https://aka.ms/afunixinterop
支援 mmap() 與 MAP_NORESERVE [GH 121,2784]
支援 CLONE_PTRACE 和 CLONE_UNTRACED [GH 121,2781]
處理複製中的非 SIGCHLD 終止信號 [GH 121,2781]
虛設常式 /proc/sys/fs/inotify/max_user_instances 和 /proc/sys/fs/inotify/max_user_watches [GH 1705]
載入包含載入標頭 (具有非零位移) 的 ELF 二進位檔時發生錯誤 [GH 1884]
載入影像時,有零的尾端分頁位元組。
減少 execve 以無訊息方式終止程序的情況
正在進行測試。
如需組建 17083 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正與 epoll 相關的檢查錯誤 [GH 2798,2801,2857]
已修正關閉 ASLR 時的停止回應 [GH 1185,2870]
確保 mmap 作業看起來不可部分完成 [GH 2732]
正在進行測試。
如需組建 17074 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正 DrvFs 中繼資料的儲存格式 [GH 2777] 重要事項: 在此組建之前建立的 DrvFs 中繼資料會顯示不正確或根本不顯示。 若要修正受影響的檔案,請使用 chmod 和 chown 來重新套用中繼資料。
已修正多個信號和可重新啟動 syscalls 的問題。
正在進行測試。
如需組建 17063 的一般 Windows 資訊,請造訪 Windows 部落格 。
DrvFs 支援其他 Linux 中繼資料。 這可讓您使用 chmod/chown 來設定檔案的擁有者和模式,以及建立特殊檔案 (例如 fifos、unix 通訊端和裝置檔案)。 預設會停用這項功能,因為它仍然是實驗性質。
注意: 我們已修正 DrvFs 所使用中繼資料格式的錯誤。 雖然中繼資料針對實驗目的可在此組建上運作,但未來的組建無法正確讀取此組建所建立的中繼資料。 您可能需要手動更新已修改檔案的擁有者,而且必須重新建立具有自訂裝置識別碼的裝置。
若要啟用,請使用中繼資料選項掛接 DrvFs (若要在現有的掛接上啟用,您必須先將它卸載):
mount -t drvfs C: /mnt/c -o metadata
Linux 權限會當做額外的中繼資料新增至檔案;它們不會影響 Windows 權限。 請記住,使用 Windows 編輯器編輯檔案可能會移除中繼資料。 在此情況下,檔案將會還原為其預設權限。
已將掛接選項新增至 DrvFs,以控制沒有中繼資料的檔案。
uid:用於所有檔案擁有者的使用者識別碼。
gid:用於所有檔案擁有者的群組識別碼。
umask:要針對所有檔案和目錄排除的權限八進位遮罩。
fmask:要針對所有一般檔案排除的權限八進位遮罩。
dmask:要針對所有目錄排除的權限八進位遮罩。
例如:
mount -t drvfs C: /mnt/c -o uid=1000,gid=1000,umask=22,fmask=111
結合中繼資料選項來指定沒有中繼資料的檔案預設權限。
引進新的環境變數 WSLENV
,以設定環境變數在 WSL 與 Win32 之間的流動方式。
例如:
WSLENV=GOPATH/l:USERPROFILE/pu:DISPLAY
WSLENV
是以冒號分隔的環境變數清單,可在從 Win32 啟動 WSL 程序或從 WSL 啟動 Win32 程序時納入。 每個變數都可以加上斜線,後面接著旗標,以指定轉譯的方式。
p:此值是應該在 WSL 路徑和 Win32 路徑之間轉譯的路徑。
l:值是路徑的清單。 在 WSL 中,它是以冒號分隔的清單。 在 Win32 中,它是以分號分隔的清單。
u:從 Win32 叫用 WSL 時,應該只包含此值
w:從 WSL 叫用 Win32 時,應該只包含此值
您可以在 .bashrc 中或在自訂 Windows 環境中,為您的使用者設定 WSLENV
。
drvfs 掛接會正確保留 tar、cp-p 的時間戳記 (GH 1939)
drvfs 符號連結報告正確的大小 (GH 2641)
讀取/寫入適用於非常大的 IO 大小 (GH 2653)
waitpid 適用於程序群組識別碼 (GH 2534)
大幅改善大型保留區域的 mmap 效能;改善 ghc 效能 (GH 1671)
特性支援 READ_IMPLIES_EXEC;修正 maxima 和 clisp (GH 1185)
mprotect 支援 PROT_GROWSDOWN;修正 clisp (GH 1128)
過量使用模式中的分頁錯誤修正;修正 sbcl (GH 1128)
複製支援更多旗標組合
支援 epoll 檔案的 select/epoll (先前為沒有操作)。
通知 ptrace 未實作的 syscalls。
忽略產生 resolv.conf 名稱伺服器時未啟動的介面 [GH 2694]
列舉沒有實體位址的網路介面。 [GH 2685]
其他錯誤修正和改善。
正在進行測試。
如需組建 17046 的一般 Windows 資訊,請造訪 Windows 部落格 。
正在進行測試。
如需組建 17040 的一般 Windows 資訊,請造訪 Windows 部落格 。
正在進行測試。
如需組建 17035 的一般 Windows 資訊,請造訪 Windows 部落格 。
在 DrvFs 上存取檔案時,偶爾會發生 EINVAL 失敗。 [GH 2448]
在 VT 模式下插入/刪除線條時,某些色彩會遺失。
正在進行測試。
如需組建 17025 的一般 Windows 資訊,請造訪 Windows 部落格 。
在新的前景程序群組中啟動初始程序 [GH 1653,2510]。
SIGHUP 傳遞修正 [GH 2496]。
如果未提供,則產生預設虛擬橋接器名稱 [GH 2497]。
實作 /proc/sys/kernel/random/boot_id [GH 2518]。
更多 interop stdout/stderr 管線修正。
虛設常式 syncfs 系統呼叫。
修正第三方主控台的輸入 VT 轉譯 [GH 111]
正在進行測試。
如需組建 17017 的一般 Windows 資訊,請造訪 Windows 部落格 。
忽略空的 ELF 程式標頭 [GH 330]。
允許 LxssManager 建立非互動式使用者的 WSL 執行個體 (ssh 和排程的工作支援) [GH 777,1602]。
支援 WSL->Win32->WSL (「起始」) 案例 [GH 1228]。
限制針對透過 interop 叫用的主控台應用程式終止的支援 [GH 1614]。
支援 devpts 的掛接選項 [GH 1948]。
Ptrace 封鎖子啟動 [GH 2333]。
EPOLLET 遺漏某些事件 [GH 2462]。
傳回 PTRACE_GETSIGINFO 的更多資料。
具有 lseek 的 Getdents 會提供不正確的結果。
修正某些 Win32 interop 應用程式停止回應,等候沒有其他資料管線上的輸入。
對 tty/pty 檔案的 O_ASYNC 支援。
其他改進功能和錯誤修正
正在進行測試。
如需組建 16288 的一般 Windows 資訊,請造訪 Windows 部落格 。
正確初始化和報告通訊端檔案描述項的 uid、gid 和模式 [GH 2490]
其他改進功能和錯誤修正
自 16273 開始沒有任何變更
如需組建 162738 的一般 Windows 資訊,請造訪 Windows 部落格 。
卸除 LX MM 狀態時,明確取消對應檔案支援區段檢視的對應 [GH 2415]
其他改進功能和錯誤修正
自 16273 開始沒有任何變更
如需組建 162735 的一般 Windows 資訊,請造訪 Windows 部落格 。
自 16273 開始沒有任何變更
如需組建 16273 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正 DrvFs 有時會回報錯誤的目錄檔案類型的問題 [GH 2392]
允許建立 NETLINK_KOBJECT_UEVENT 通訊端來解除封鎖使用 uevent 的程式 [GH 1121、2293、2242、2295、2235、648、637]
新增對非封鎖型連線的支援 [GH 903、1391、1584、1585、1829、2290、2314]
執行 CLONE_FS 複製系統呼叫旗標 [GH 2242]
修正不會在 NT interop 中正確處理索引標籤或引號的問題 [GH 1625,2164]
解決嘗試重新啟動 WSL 執行個體時發生的拒絕存取錯誤 [GH 651,2095]
執行 futex FUTEX_REQUEUE 和 FUTEX_CMP_REQUEUE 作業 [GH 2242]
修正各種 SysFs 檔案的權限 [GH 2214]
修正安裝期間的 Haskell 堆疊停止回應 [GH 2290]
實作 binfmt_misc 'C' 'O' 和 'P' 旗標 [GH 2103]
新增 /proc/sys/kernel /shmmax /shmmni 和 /threads-max [GH 1753]
新增 ioprio_set 系統呼叫的部分支援 [GH 498]
虛設常式 SO_REUSEPORT 和新增 netlink 通訊端的 SO_PASSCRED 支援 [GH 69]
如果目前正在安裝或解除安裝發行版本,則會從 RegisterDistribuiton 傳回不同的錯誤碼。
允許透過 wslconfig.exe 取消註冊部分安裝的 WSL 散發套件
從 udp::msg_peek 修正 python 通訊端測試停止回應
其他改進功能和錯誤修正
測試總計:1904
已略過的測試總數:209
失敗總計:229
如需組建 16257 的一般 Windows 資訊,請造訪 Windows 部落格 。
實作 prlimit64 系統呼叫
新增對 ulimit -n 的支援 (setrlimit RLIMIT_NOFILE) [GH 1688]
TCP 通訊端的虛設常式 MSG_MORE [GH 2351]
修正不正確 AT_EXECFN 輔助向量行為 [GH 2133]
修正主控台/tty 的複製/貼上行為,並新增更好的完整緩衝區處理 [GH 2204,2131]
設定 AT_SECURE 在輔助向量中用於 set-user-ID 和 set-group-ID 程式 [GH 2031]
虛擬-終端機主要端點未處理 TIOCPGRP [GH 1063]
修正 lseek 在 LxFs 中倒轉目錄 [GH 2310]
/dev/ptmx 在高使用量之後鎖定 [GH 1882]
其他改進功能和錯誤修正
自 16251 開始沒有任何變更
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
prlimit64
在組建 16257 中,WSL 在透過 /mnt/c/...
列舉 Windows 檔案/資料夾時發生問題。
此問題已獲得修正,應在 8/14/2017 開始一週期間,於測試人員組建中發行。
如需組建 16251 的一般 Windows 資訊,請造訪 Windows 部落格 。
從 WSL 選用元件移除 Beta 標記,如需詳細資訊,請參閱部落格文章 。
在 exec 上正確初始化 saved-set uid 和 gid,用於 set-user-ID 和 set-group-ID 二進位檔 [GH 962,1415,2072]
已新增對 ptrace PTRACE_O_TRACEEXIT 的支援 [GH 555]
已新增對使用 NT_FPREGSET 的 ptrace PTRACE_GETFPREGS 和 PTRACE_GETREGSET 的支援 [GH 555]
已修正 ptrace 以停止忽略的信號
其他改進功能和錯誤修正
通過測試的數目:768 失敗測試的數目:244 略過測試的數目:96
如需組建 16241 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正針對跨行 DEC 的不正確字元輸出,原始是在這裡 報告
修正字碼頁 65001 中未顯示輸出文字 (utf8)
在選取範圍變更時,請勿將對某個色彩 RGB 值所做的變更傳送到調色盤的其他部分。 這會讓主控台屬性工作表更容易使用。
Ctrl+S 似乎無法正常運作
ANSI 逸出程式碼中的非粗體/-Dim 完全不存在 [GH 2174]
主控台未正確支援 Vim 色彩主題 [GH 1706]
無法貼上特定字元 [GH 2149]
自動重排調整大小會使互動變得奇怪,並在編輯/命令列上有內容時調整 bash 視窗的大小 [GH ConEmu 1123]
Ctrl-L 讓螢幕保持不變 [GH 1978]
在 HDPI 上顯示 VT 時的主控台轉譯錯誤 [GH 1907]
Unicode 字元 U+30FB 的日文字元看起來很奇怪 [GH 2146]
其他改進功能和錯誤修正
如需組建 16237 的一般 Windows 資訊,請造訪 Windows 部落格 。
在 lxfs 中使用檔案 (不含 EAs) 的預設屬性 (root, root, 0000)
已新增使用擴充屬性的散發套件支援
修正 getdents 和 getdents64 所傳回項目的填補
修正 shmctl SHM_STAT 系統呼叫的權限檢查 [GH 2068]
已修正 ttys 的初始 epoll 狀態不正確 [GH 2231]
修正 DrvFs readdir 未傳回所有項目 [GH 2077]
修正檔案未連結時的 LxFs readdir [GH 2077]
允許透過 procfs 重新開啟未連結的 drvfs 檔案
已新增用來停用 WSL 功能的全域登錄機碼覆寫 (interop/磁碟機掛接)
針對 DrvFs (和 LxFs) 的 "stat" 修正不正確的區塊計數 [GH 1894]
其他改進功能和錯誤修正
如需組建 16232 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 16226 的一般 Windows 資訊,請造訪 Windows 部落格 。
xattr 相關的 syscalls 支援 (getxattr、setxattr、listxattr,、removexattr)。
security.capability xattr 支援。
改善與特定檔案系統和篩選器的相容性,包括非 MS SMB 伺服器。 [GH #1952]
改善對 OneDrive 預留位置、GVFS 預留位置和 Compact OS 壓縮檔的支援。
其他改進功能和錯誤修正
如需組建 16215 的一般 Windows 資訊,請造訪 Windows 部落格 。
WSL 不再需要開發人員模式。
支援 drvfs 中的目錄連接。
處理 WSL 散發套件 appx 套件的解除安裝。
更新 procfs 以顯示私人和共用對應。
新增 wslconfig.exe 的功能,以清除部分安裝或解除安裝的散發套件。
已針對 TCP 通訊端新增 IP_MTU_DISCOVER 的支援。 [GH 1639,2115,2205]
推斷通訊協定系列以取得 AF_INADDR 的路由。
序列裝置改善 [GH 1929]。
如需組建 16199 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 16193 的一般 Windows 資訊,請造訪 Windows 部落格 。
傳送 SIGCONT 與 threadgroup 終止之間的競爭條件 [GH 1973]
將 tty 和 pty 裝置變更為報告 FILE_DEVICE_NAMED_PIPE,而不是 FILE_DEVICE_CONSOLE [GH 1840]
IP_OPTIONS 的 SSH 修正
已將 DrvFs 掛接移至 init daemon [GH 1862,1968,1767,1933]
已在 DrvFs 中新增下列 NT 符號連結的支援。
如需組建 16184 的一般 Windows 資訊,請造訪 Windows 部落格 。
已移除 apt 套件維護工作 (lxrun.exe /update)
已修正的輸出未顯示在 node.js 中的 Windows 程序 [GH 1840]
放寬 lxcore 中的對齊需求 [GH 1794]
已修正一些系統呼叫中的 AT_EMPTY_PATH 旗標處理。
已修正使用開啟的控制代碼刪除 DrvFs 檔案將導致檔案出現未定義行為的問題 [GH 544,966,1357,1535,1615]
/etc/hosts 現在會繼承 Windows hosts 檔案 (%windir%\system32\drivers\etc\hosts) 中的項目 [GH 1495]
如需組建 16179 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 16176 的一般 Windows 資訊,請造訪 Windows 部落格 。
啟用的序列支援
已新增 IP 通訊端選項 IP_OPTIONS [GH 1116]
實作 pwritev 函式 (在上傳檔案至 nginx/PHP-FPM 時) [GH 1506]
已新增 IP 通訊端選項 IP_MULTICAST_IF 和 IPV6_MULTICAST_IF [GH 990]
支援通訊端選項 IP_MULTICAST_LOOP 和 IPV6_MULTICAST_LOOP [GH 1678]
已新增適用於應用程式節點、追蹤路由、發掘、nslookup、主機的 IP(V6)_MTU 通訊端選項
已新增 IP 通訊端選項 IPV6_UNICAST_HOPS
檔案系統改進功能
允許掛接 UNC 路徑
在 drvfs 中啟用 CDFS.SYS 支援
在 drvfs 中正確處理網路檔案系統的權限
將遠端磁碟機的支援新增至 drvfs
在 drvfs 中啟用 FAT 支援
其他修正和改進
自 15042 開始沒有任何變更
如需組建 16170 的一般 Windows 資訊,請造訪 Windows 部落格 。
我們已發行新的部落格文章 ,討論我們對測試 WSL 的努力。
支援通訊端選項 IP_ADD_MEMBERSHIP 和 IPV6_ADD_MEMBERSHIP [GH 1678]
新增對 PTRACE_OLDSETOPTIONS 的支援。 [GH 1692]
其他修正和改進
自 15042 開始沒有任何變更
組建 15046 至 Windows 10 Creators Update
尚未規劃要加入 Windows 10 Creators Update 中的 WSL 修正或功能。 WSL 的版本資訊將會在接下來的幾週內繼續,作為下一個主要 Windows Update 的新增目標。 如需組建 15046 和未來測試人員版本的一般 Windows 資訊,請造訪 Windows 部落格 。
如需組建 15042 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正移除結尾為 "..." 的路徑時的鎖死
已修正 FIONBIO 未在成功時傳回 0 的問題 [GH 1683]
已修正長度為零的 inet 資料包通訊端讀取的問題
修正因 drvfs inode 查閱中的競爭條件而造成的可能鎖死 [GH 1675]
擴充對 unix 通訊端輔助資料的支援;SCM_CREDENTIALS 和 SCM_RIGHTS [GH 514,613,1326]
其他修正和改進
通過測試的數目:737 未通過的數目 (失敗、略過等...):255
如需組建 15031 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正 time(2) 偶爾會行為失常的錯誤。
已修正併發出 * SIGPROCMASK syscalls 可能會損毀信號遮罩的問題。
現在,在 WSL 程序建立通知中傳回完整的命令列長度。 [GH 1632]
WSL 現在會針對 GDB 停止回應,透過 ptrace 來報告執行緒結束。 [GH 1196]
已修正 ptys 在大量 tmux IO 後停止回應的錯誤。 [GH 1358]
已修正許多系統呼叫中的逾時驗證 (futex、semtimedop、ppoll、sigtimedwait、itimer、timer_create)
已新增 eventfd EFD_SEMAPHORE 支援 [GH 452]
其他修正和改進
通過測試的數目:737 未通過的數目 (失敗、略過等...):255
如需組建 15025 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正中斷 grep 2.27 的錯誤 [GH 1578]
已實作 eventfd2 syscall 的 EFD_SEMAPHORE 旗標 [GH 452]
已實作 /proc/[pid]/net/ipv6_route [GH 1608]
unix 串流通訊端的信號驅動 IO 支援 [GH 393,68]
支援 F_GETPIPE_SZ 和 F_SETPIPE_SZ [GH 1012]
實作 recvmmsg() syscall [GH 1531]
已修正 epoll_wait() 未等候的錯誤 [GH 1609]
實作 /proc/version_signature
如果兩個檔案描述元都參考相同的管道,則 Tee syscall 現在會傳回失敗
已為 Unix 通訊端的 SO_PEERCRED 實作正確行為
已修正 tkill syscall 無效參數處理
提升 drvfs 效能的變更
Ruby IO 封鎖的次要修正
已修正 recvmsg() 針對 inet 通訊端的 MSG_DONTWAIT 旗標傳回 EINVAL [GH 1296]
其他修正和改進
通過測試的數目:732 未通過的數目 (失敗、略過等...):255
如需組建 15019 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正不正確回報 procfs 中針對 htop 等工具的 CPU 使用量錯誤 (GH 823,945,971)
在現有檔案上以 O_TRUNC 呼叫 open() 時,現在會在 IN_OPEN 之前產生 IN_MODIFY
修正 unix 通訊端 getsockopt SO_ERROR 以啟用 postgres [GH 61,1354]
實作 GO 語言的 /proc/sys/net/core/somaxconn
Apt-get 套件更新背景工作現在會從檢視隱藏執行
清除 ipv6 localhost (Spring-Framework(Java) 失敗) 的範圍。
其他修正和改進
通過測試的數目:714 未通過的數目 (失敗、略過等...):249
如需組建 15014 的一般 Windows 資訊,請造訪 Windows 部落格 。
Ctrl+C 現在可如預期運作
htop 和 ps auxw 現在會顯示正確的資源使用率 (GH #516)
NT 例外狀況與信號的基本轉譯。 (GH #513)
fallocate 現在會在空間 (而非 EINVAL) 用盡時失敗,並出現 ENOSPC (GH #1571)
已新增 /proc/sys/kernel/sem。
已實作 semop 和 semtimedop 系統呼叫
已修正使用 IP_RECVTOS 和 IPV6_RECVTCLASS 通訊端選項的 nslookup 錯誤 (GH 69)
支援通訊端選項 IP_RECVTTL 和 IPV6_RECVHOPLIMIT
其他修正和改進
通過測試的數目:709 未通過的數目 (失敗、略過等...):255
Syscall 總計:384 已實作總計:235 已虛設總計:22 未實作總計:127
如需組建 15007 的一般 Windows 資訊,請造訪 Windows 部落格 。
已更正執行 WSL 會耗用 100% CPU 核心的問題
現在支援通訊端選項 IP_PKTINFO、IPV6_RECVPKTINFO。 (GH #851,987)
在 lxcore 中將網路介面實體位址截斷為 16 個位元組 (GH #1452,1414,1343,468,308)
其他修正和改進
通過測試的數目:709 未通過的數目 (失敗、略過等...):255
如需組建 15002 的一般 Windows 資訊,請造訪 Windows 部落格 。
兩個已知問題:
所有 bash 工作階段現在都必須在相同的權限層級建立。 嘗試在不同層級啟動工作階段將會遭到封鎖。 這表示系統管理員和非系統管理員的主控台無法同時執行。 (GH #626)
已執行下列 NETLINK_ROUTE 訊息 (需要 Windows 系統管理員)
RTM_NEWADDR (支援 ip addr add
)
RTM_NEWROUTE (支援 ip route add
)
RTM_DELADDR (支援 ip addr del
)
RTM_DELROUTE (支援 ip route del
)
針對要更新的套件已排程的工作檢查,將不再於計量付費連線上執行 (GH #1371)
已修正管道停滯的錯誤,亦即 bash -c "ls -alR /" | bash -c "cat" (GH #1214)
已實作 TCP_KEEPCNT 通訊端選項 (GH #843)
已實作 IP_MTU_DISCOVER INET 通訊端選項 (GH #720,717,170,69)
已移除舊版功能,以使用 NT 路徑查閱從 init 執行 NT 二進位檔。 (GH #1325)
修正 /dev/kmsg 的模式,以允許群組/其他讀取存取權 (0644) (GH #1321)
實作 /proc/sys/kernel/random/uuid (GH #1092)
已更正處理開始時間顯示為 2432 年的錯誤 (GH #974)
已將預設 TERM 環境變數切換為 xterm-256color (GH #1446)
已修改程序分支期間計算程序認可的方式。 (GH #1286)
已實作 /proc/sys/vm/overcommit_memory。 (GH #1286)
已實作 /proc/net/route 檔案 (GH #69)
已修正捷徑名稱未正確當地語系化的錯誤 (GH #696)
已修正不正確地驗證程式標頭必須小於 (或等於) PATH_MAX 的剖析邏輯。 (GH #1048)
已針對 procfs、sysfs、cgroupfs 和 binfmtfs 實作 statfs 回呼 (GH #1378)
已修正不會關閉的 AptPackageIndexUpdate 視窗 (GH #1184,也會在 GH #1193 中討論)
已新增 ASLR 特質 ADDR_NO_RANDOMIZE 支援。 (GH #1148,1128)
改善 PTRACE_GETSIGINFO,SIGSEGV,以在 AV 期間進行適當的 gdb 堆疊追蹤 (GH #875)
patchelf 二進位檔的 Elf 剖析不會再失敗。 (GH #471)
VPN DNS 已傳播至 /etc/resolv.conf (GH #416,1350)
已改善 TCP 關閉以提供更可靠的資料傳輸。 (GH #610,616,1025,1335)
當開啟太多檔案時,現在會傳回正確的錯誤碼 (EMFILE)。 (GH #1126,2090)
Windows 稽核記錄現在會報告程序建立稽核中的影像名稱。
現在從 bash 視窗內啟動 bash.exe 時,正常地失敗
當 interop 無法存取 LxFs 下的工作目錄 (亦即 notepad.exe .bashrc) 時,新增錯誤訊息
已修正在 WSL 中截斷 Windows 路徑的問題
其他修正和改進
通過測試的數目:690 未通過的數目 (失敗、略過等...):274
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
shmctl
shmget
shmdt
shmat
如需組建 14986 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正 Netlink 和 Pty IOCTL 的檢查錯誤
核心版本現在會報告 4.4.0-43,以與 Xenial 一致
當輸入導向 'nul:' 時,Bash.exe 現在會啟動 (GH #1259)
執行緒識別碼現在在 procfs 中正確地回報 (GH #967)
inotify_add_watch() 中現在支援 IN_UNMOUNT | IN_Q_OVERFLOW | IN_IGNORED | IN_ISDIR 旗標 (GH #1280)
實作 timer_create 和相關的系統呼叫。 這會啟用 GHC 支援 (GH #307)
已修正 ping 傳回 0.000ms 時間的問題 (GH #1296)
開啟太多檔案時,傳回正確的錯誤碼。
已修正 WSL 中的問題,其中如果介面的硬體位址為 32 位元組 (例如 Teredo 介面),則網路介面資料的 Netlink 要求會失敗,並且有 EINVAL
請注意,Linux "ip" 公用程式包含一個錯誤,如果 WSL 報告 32 位元組的硬體位址,它會損毀。 這是 "ip" 中的錯誤,而不是 WSL。 "ip" 公用程式會硬式編碼用來列印硬體位址的字串緩衝區長度,而該緩衝區太小,無法列印 32 位元組的硬體位址。
其他修正和改進
通過測試的數目:669 未通過的數目 (失敗、略過等...):258
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
timer_create
timer_delete
timer_gettime
timer_settime
如需組建 14971 的一般 Windows 資訊,請造訪 Windows 部落格 。
由於不在我們的控制範圍內,適用於 Linux 的 Windows 子系統的此組建中不會有任何更新。 定期排程的更新將會在下一版中繼續。
未變更自 14965 通過測試的數目:664 未通過的數目 (失敗、略過等...):263
如需組建 14965 的一般 Windows 資訊,請造訪 Windows 部落格 。
支援 Netlink 通訊端 NETLINK_ROUTE 通訊協定的 RTM_GETLINK 和 RTM_GETADDR (GH #468)
根據預設,/sbin 現在位於使用者的路徑中
NT 使用者路徑預設會附加至 WSL 路徑 (也就是您現在可以輸入 notepad.exe,而不需要將 System32 新增至 Linux 路徑)
已新增對 /proc/sys/kernel/cap_last_cap 的支援
當目前的工作目錄包含非 ansi 字元時,現在可以從 WSL 啟動 NT 二進位檔 (GH #1254)
允許在中斷連線的 unix 串流通訊端上關機。
已新增對 PR_GET_PDEATHSIG 的支援。
已新增對 CLONE_PARENT 的支援
已修正管道停滯的錯誤,亦即 bash -c "ls -alR /" | bash -c "cat" (GH #1214)
處理要求以連線到目前的終端機。
將 /proc/<pid>/oom_score_adj
標示為可寫入。
新增 /sys/fs/cgroup 資料夾。
sched_setaffinity 應該傳回相似性位元遮罩的數目
修正不正確假設解譯器路徑長度不能超過 64 個字元的 ELF 驗證邏輯。 (GH #743)
開啟檔案描述元可以保持主控台視窗開啟 (GH #1187)
已修正錯誤,在目標名稱上以尾端斜線結尾的 rename() 失敗 (GH #1008)
實作 /proc/net/dev 檔案
已修正因為計時器解析度的 0.000ms ping。
已實作 /proc/self/environ (GH #730)
其他錯誤修正與改進功能
通過測試的數目:664 未通過的數目 (失敗、略過等...):263
如需組建 14959 的一般 Windows 資訊,請造訪 Windows 部落格 。
改進 Windows 的 Pico 程序通知。 WSL 部落格 上找到的其他資訊。
改進 Windows 互通性的穩定性
已修正在啟用企業資料保護 (EDP) 時啟動 bash.exe 的錯誤0x80070057
其他錯誤修正與改進功能
通過測試的數目:665 未通過的數目 (失敗、略過等...):263
如需組建 14955 的一般 Windows 資訊,請造訪 Windows 部落格 。
由於不在我們的控制範圍內,適用於 Linux 的 Windows 子系統的此組建中不會有任何更新。 定期排程的更新將會在下一版中繼續。
通過測試的數目:665 未通過的數目 (失敗、略過等...):263
如需組建 14951 的一般 Windows 資訊,請造訪 Windows 部落格 。
現在可以直接從 WSL 命令列叫用 Windows 二進位檔。 這讓使用者能夠以過去不可行的方式與其 Windows 環境和系統互動。 作為快速範例,使用者現在可以執行下列命令:
$ export PATH=$PATH:/mnt/c/Windows/System32
$ notepad.exe
$ ipconfig.exe | grep IPv4 | cut -d: -f2
$ ls -la | findstr.exe foo.txt
$ cmd.exe /c dir
如需詳細資訊,請參閱:
現在已針對所有新的 WSL 執行個體安裝 Ubuntu 16.04 (Xenial)。 將不會自動升級具有現有 14.04 (Trusty) 執行個體的使用者。
現在會顯示在安裝期間設定的地區設定
終端機改進,包括將 WSL 程序重新導向至檔案不一定都能運作的錯誤
主控台存留期應該繫結至 bash.exe 存留期
主控台視窗大小應使用可見大小,而不是緩衝區大小
其他錯誤修正與改進功能
通過測試的數目:665 未通過的數目 (失敗、略過等...):263
如需組建 14946 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正無法為包含空格或引號的 NT 使用者名稱建立 WSL 使用者帳戶的問題。
變更 VolFs 和 DrvFs,使其在 stat 中針對目錄的連結計數傳回 0
支援 IPV6_MULTICAST_HOPS 通訊端選項。
將每個 tty 限制為單一主控台 I/O 迴圈。 範例:以下是可行的命令:
bash -c "echo data" | bash -c "ssh user@example.com 'cat > foo.txt'"
在 /proc/cpuinfo 中以定位字元取代空格 (GH #1115)
DrvFs 現在會出現在 mountinfo 中,名稱符合已掛接的 Windows 磁碟區
/home 和/root 現在會以正確的名稱出現在 mountinfo 中
其他錯誤修正與改進功能
通過測試的數目:665 未通過的數目 (失敗、略過等...):263
如需組建 14942 的一般 Windows 資訊,請造訪 Windows 部落格 。
有一些檢查錯誤已提出,包括「嘗試執行 NOEXECUTE 記憶體」網路損毀,但封鎖了 SSH
DrvFs 上 Windows 應用程式所產生通知的 inotifiy 支援現已推出
實作 mongod 的 TCP_KEEPIDLE 和 TCP_KEEPINTVL。 (GH #695)
實作 pivot_root 系統呼叫
實作 SO_DONTROUTE 的通訊端選項
其他錯誤修正與改進功能
通過測試的數目:665 未通過的數目 (失敗、略過等...):263
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
pivot_root
如需組建 14936 的一般 Windows 資訊,請造訪 Windows 部落格 。
注意:WSL 將會在即將推出的版本中安裝 Ubuntu 版本16.04 (Xenial),而不是 Ubuntu 14.04 (Trusty)。 這項變更適用於安裝新執行個體 (lxrun.exe/安裝或第一次執行 bash.exe) 的測試人員。 具有 Trusty 的現有執行個體將不會自動升級。 使用者可以使用 do-release-upgrade 命令,將其 Trusty 映射升級至 Xenial。
WSL 遇到一些通訊端實作問題。 檢查錯誤會將本身視為損毀,並出現「嘗試執行 NOEXECUTE 記憶體」錯誤。 此問題最常見的表現是使用 ssh 時的損毀。 內部組建已修正根本原因,並且會盡快將其推送給測試人員。
實作 chroot 系統呼叫
inotify 中的改進功能包括支援 DrvFs 上 Windows 應用程式所產生的通知
更正:Inotify 對於源自 Windows 應用程式的變更,目前不提供支援。
繫結至 IPV6::<port n>
的通訊端現在支援 IPV6_V6ONLY
(GH #68、#157、#393、#460、#674、#740、#982、#996)
已實作 waitid systemcall 的 WNOWAIT 行為 (GH #638)
支援 IP 通訊端選項 IP_HDRINCL 和 IP_TTL
長度為零的 read() 應立即傳回 (GH #975)
正確處理檔案名稱和檔案名稱前置詞,不會在 .tar 檔案中包含 Null 結束字元。
/dev/null 的 epoll 支援
修正 /dev/alarm 時間來源
Bash -c 現在可以重新導向至檔案
其他錯誤修正與改進功能
通過測試的數目:664 未通過的數目 (失敗、略過等...):264
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
chroot
如需組建 14931 的一般 Windows 資訊,請造訪 Windows 部落格 。
由於不在我們的控制範圍內,適用於 Linux 的 Windows 子系統的此組建中不會有任何更新。 定期排程的更新將會在下一版中繼續。
如需組建 14926 的一般 Windows 資訊,請造訪 Windows 部落格 。
Ping 現在適用於沒有系統管理員權限的主控台
現在也支援 Ping6,而且沒有系統管理員權限
Inotify 支援透過 WSL 修改的檔案。 (GH #216)
支援的旗標:
inotify_init1:LX_O_CLOEXEC、LX_O_NONBLOCK
inotify_add_watch 事件:LX_IN_ACCESS、LX_IN_MODIFY、LX_IN_ATTRIB、LX_IN_CLOSE_WRITE、LX_IN_CLOSE_NOWRITE、LX_IN_OPEN、LX_IN_MOVED_FROM、LX_IN_MOVED_TO、LX_IN_CREATE、LX_IN_DELETE、LX_IN_DELETE_SELF、LX_IN_MOVE_SELF
inotify_add_watch 屬性:LX_IN_DONT_FOLLOW、LX_IN_EXCL_UNLINK、LX_IN_MASK_ADD、LX_IN_ONESHOT、LX_IN_ONLYDIR
讀取輸出:LX_IN_ISDIR、LX_IN_IGNORED
已知問題:從 Windows 應用程式修改檔案並不會產生任何事件
Unix 通訊端現在支援 SCM_CREDENTIALS
通過測試的數目:651 未通過的數目 (失敗、略過等...):258
如需組建 14915 的一般 Windows 資訊,請造訪 Windows 部落格 。
Socketpair for unix 資料包通訊端 (GH #262)
適用於 SO_REUSEADDR 的 Unix 通訊端支援
適用於 SO_BROADCAST 的 UNIX 通訊端支援 (GH #568)
適用於 SOCK_SEQPACKET 的 Unix 通訊端支援 (GH #758,#546)
新增對 unix 資料包通訊端傳送、接收和關閉的支援
修正因為非固定位址的 mmap 參數驗證無效而產生的檢查錯誤。 (GH #847)
支援暫停/繼續終端機狀態
支援 TIOCPKT ioctl 來解除封鎖螢幕公用程式 (GH #774)
已更正 TimerFd 中可能造成 LxpTimerFdWorkerRoutine 存取已釋放成員 'ReaderReady' 的競爭 (GH #814)
啟用 futex、poll 和 clock_nanosleep 的可重新啟動系統呼叫支援
已新增繫結掛接支援
不共用掛接命名空間支援
已知問題:建立具有 unshare(CLONE_NEWNS)
的新掛接命名空間時,目前的工作目錄會繼續指向舊的命名空間
其他改進功能和錯誤修正
如需組建 14905 的一般 Windows 資訊,請造訪 Windows 部落格 。
現在支援可重新啟動的系統呼叫 (GH #349,GH #520)
符號連結至結尾為/現在可運作的目錄 (GH #650)
已針對 /dev/random 實作 RNDGETENTCNT ioctl
已實作 /proc/[pid]/mounts、/proc/[pid]/mountinfo 和 /proc/[pid]/mountstats 檔案
其他錯誤修正與改進功能
Windows 10 年度更新版後的第一個測試人員組建。
如需組建 14901 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正結尾斜線問題
$ mv a/c/ a/b/
之類的命令現在可以使用
如果 Ubuntu 地區設定應設為 Windows 地區設定,現在安裝會提示
ns 資料夾的 Procfs 支援
新增 tmpfs、procfs 和 sysfs 檔案系統的掛接和卸載
修正 mknod[at] 32 位元 ABI 簽名
Unix 通訊端已移至分派模型
應接受使用 setsockopt 設定的 INET 通訊端接收緩衝區大小
實作 MSG_CMSG_CLOEXEC unix 通訊端接收訊息旗標
Linux 程序 stdin/stdout 管道重新導向 (GH #2)
允許在 CMD 中進行 bash -c 命令的管線。 範例:>dir | bash -c "grep foo"
Bash 現在可以安裝在具有多個分頁檔的系統上 (GH #538,#358)
預設 INET 通訊端緩衝區大小應符合預設 Ubuntu 設定
將 xattr syscalls 對齊 listxattr
僅從 SIOCGIFCONF 傳回具有有效 IPv4 位址的介面
修正 ptrace 插入時的信號預設動作
實作 /proc/sys/vm/min_free_kbytes
還原 sigreturn 中的內容時使用機器內容登錄值
這可解決某些使用者的 java 和 javac 已停止回應的問題
實作 /proc/sys/kernel/hostname
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
waitid
epoll_pwait
Windows 10 年度更新版的組建 14388
如需組建 14388 的一般 Windows 資訊,請造訪 Windows 部落格 。
修正以準備 8/2 的 Windows 10 年度更新版
如需有關年度更新版中 WSL 的詳細資訊,請參閱我們的部落格
如需組建 14376 的一般 Windows 資訊,請造訪 Windows 部落格 。
移除某些 apt-get 停止回應的執行個體 (GH #493)
已修正未正確處理空白掛接的問題
已修正未正確掛接 ramdisks 的問題
變更 unix 通訊端接受以支援旗標 (部分 GH #451)
已修正一般網路相關的藍色畫面
已修正存取 /proc/[pid]/task 時的藍色畫面 (GH #523)
已針對某些 pty 案例修正高 CPU 使用率 (GH #488,#504)
其他錯誤修正與改進功能
如需組建 14371 的一般 Windows 資訊,請造訪 Windows 部落格 。
使用 ptrace 時,以 SIGCHLD 和 wait() 更正計時競賽
已更正路徑具有尾端 / 時的部分行為 (GH #432)
已修正因為開啟子系的控制代碼而導致重新命名/取消連結失敗的問題
其他錯誤修正與改進功能
如需組建 14366 的一般 Windows 資訊,請造訪 Windows 部落格 。
透過符號連結在檔案建立時修正
已新增 Python 的 listxattr (GH 385)
其他錯誤修正與改進功能
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
listxattr
如需組建 14361 的一般 Windows 資訊,請造訪 Windows 部落格 。
在 Windows 上 Ubuntu 的 Bash 中執行時,DrvFs 現在會區分大小寫。
使用者可以在他們的 /mnt/c 磁碟機使用 case.txt 和 CASE.TXT
只有在 Windows 上 Ubuntu 的 Bash 中才支援區分大小寫。 在 Bash NTFS 以外的地方,會正確地報告檔案,但是與 Windows 中的檔案互動時可能會發生非預期的行為。
每個磁碟區的根目錄 (亦即 /mnt/c) 不區分大小寫
如需在 Windows 中處理這些檔案的詳細資訊,請參閱這裡 。
大幅增強的 pty/tty 支援。 現在支援 TMUX 之類的應用程式 (GH #40)
已修正不一定會建立使用者帳戶的安裝問題
最佳化的命令列引數結構,允許非常長的引數清單。 (GH #153)
現在可以從 DrvFs 刪除和 chmod read_only 檔案
已修正終端機在中斷連線時停止回應的某些執行個體 (GH #43)
chmod 和 chown 現在可以在 tty 裝置上執行
允許連線到 0.0.0.0 和 :: 作為 localhost (GH #388)
Sendmsg/recvmsg 現在會處理長度 > 1 的 IO 向量 (部分 GH #376)
使用者現在可以退出自動產生的主機檔案 (GH #398)
在安裝期間,自動將 Linux 地區設定與 NT 地區設定進行比對 (GH #11)
已新增 /proc/sys/vm/swappiness 檔案 (GH #306)
strace 現在已正確結束
允許透過 /proc/self/fd 重新開啟管道 (GH #222)
隱藏 DrvFs 的 %LOCALAPPDATA%\lxss 底下的目錄 (GH #270)
更好的 bash.exe ~ 處理。 現在支援 "bash ~ -c ls" 之類的命令 (GH #467)
通訊端現在會在關機期間通知 epoll 讀取可用 (GH #271)
lxrun/uninstall 可以更佳地刪除檔案和資料夾
已更正 ps -f (GH #246)
改進的 x11 應用程式 (例如 xEmacs) 支援 (GH #481)
已更新初始執行緒堆疊大小以符合預設 Ubuntu 設定,並將大小正確地報告給 get_rlimit syscall (GH #172,#258)
已改進 pico 程序影像名稱的報告 (例如,用於審核)
已針對 df 命令實作 /proc/mountinfo
已修正子系名稱的符號連結錯誤碼。 和
其他改進功能的錯誤修正和改進
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
GETTIMER
MKNODAT
RENAMEAT
SENDFILE
SENDFILE64
SYNC_FILE_RANGE
如需組建 14352 的一般 Windows 資訊,請造訪 Windows 部落格 。
已修正未正確下載/建立大型檔案的問題。 這應該會解除封鎖 npm 和其他案例 (GH #3,GH #313)
移除通訊端停止回應的部分執行個體
已更正某些 ptrace 錯誤
已修正 WSL 允許檔案名稱長度超過 255 個字元的問題
已改善非英文字元的支援
新增目前的 Windows 時區資料並設定為預設值
每個掛接點的唯一裝置識別碼 (jre 修正 – GH #49)
更正包含 "." 和 ".." 路徑的問題
已新增 Fifo 支援 (GH #71)
已更新 resolv.conf 格式以符合原生 Ubuntu 格式
某些 procfs 清除
已啟用系統管理員主控台的 ping (GH #18)
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
FALLOCATE
EXECVE
LGETXATTR
FGETXATTR
如需組建 14342 的一般 Windows 資訊,請造訪 Windows 部落格 。
如需有關 VolFs 和 DriveFs 的資訊,請參閱 WSL 部落格 。
已修正 Windows 使用者在使用者名稱中具有 Unicode 字元時的安裝問題
常見問題集中的 apt-get update udev 因應措施現在預設會在第一次執行時提供
已啟用 DriveFs (/mnt/<drive>
) 目錄中的符號連結
符號連結現在可在 DriveFs 和 VolFs 之間運作
已解決最上層路徑剖析問題:ls .// 現在會如預期般運作
DriveFs 上的 npm install 和 -g 選項現在可以運作
已修正導致 PHP 伺服器無法啟動的問題
已更新預設的環境值,例如 $PATH,更接近原生 Ubuntu
在 Windows 中新增每週維護工作以更新 apt 套件快取
已修正 ELF 標頭驗證的問題,WSL 現在支援所有 Melkor 選項
Zsh 命令介面功能正常
現在支援先行編譯的 Go 二進位檔
在 Bash.exe 第一次執行時提示現在已正確當地語系化
/proc/meminfo 現在會傳回正確的資訊
VFS 中現在支援的通訊端
/dev 現在掛接為 tempfs
現在支援 Fifo
多核心系統現在已正確地在 /proc/cpuinfo 中顯示
第一次執行期間下載的其他改進功能和錯誤訊息
Syscall 改進功能與錯誤修正。 支援的 syscall 清單如下。
其他錯誤修正與改進功能
未解析 '..' 在某些情況下,於 DriveFs 上正確運作
以下是在 WSL 中部分實作的全新或增強 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
FCHOWNAT
GETEUID
GETGID
GETRESUID
GETXATTR
PTRACE
SETGID
SETGROUPS
SETHOSTNAME
SETXATTR
如需組建 14332 的一般 Windows 資訊,請造訪 Windows 部落格 。
更好的 resolv.conf 產生,包括排列 DNS 項目的優先順序
在 /mnt 與非 /mnt 磁碟機之間移動檔案和目錄的問題
現在可以使用符號連結來建立 Tar 檔案
已在建立執行個體時新增預設 /run/lock 目錄
更新 /dev/null 以傳回適當的 stat 資訊
第一次執行期間下載的其他錯誤
Syscall 改進功能與錯誤修正。 支援的 syscall 清單如下。
其他改進功能的錯誤修正和改進
以下是在 WSL 中具有一些實作的新 syscall。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
READLINKAT
如需組建 14332 的一般 Windows 資訊,請造訪 Windows 部落格 。
非 /mnt/<drive>
檔案的符號連結改進
npm install 現在可以運作
現在可以使用這裡 的指示來安裝 jdk/jre。
已知問題:符號連結不適用於 Windows 掛接。 功能將在稍後的組建中提供
現在會顯示 top 和 htop
某些安裝失敗的其他錯誤訊息
Syscall 改進功能與錯誤修正。 支援的 syscall 清單如下。
其他改進功能的錯誤修正和改進
以下是在 WSL 中具有一些實作的 syscalls 清單。 這份清單上的 syscalls 在至少一個案例中受到支援,但目前可能不支援所有參數。
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