微軟在Windows 10 一周年更新中引入了名叫Windows Subsystem for Linux(WSL) 的Linux兼容層,這是一個在Windows 10上能夠運行原生Linux二進制可執(zhí)行文件(ELF格式)的兼容層。它是由微軟與Canonical公司合作開發(fā),其目標是使純正的Ubuntu、Debian等映像能下載和解壓到用戶的本地計算機,并且映像內的工具和實用工具能在此子系統(tǒng)上原生運行。2020年的Windows 10 build 2004升級到了WSL2。
盡管如此,在Windows上使用Linux面臨兩大障礙:安裝WSL沒有本應該做到的那么容易,安裝Linux圖形應用也不輕松。Windows 11解決了這兩大問題,比之前有了巨大的進步。
一旦目前的預覽版功能最終確定下來,包括GUI應用支持、GPU計算和Linux文件系統(tǒng)驅動器安裝等,你不需要更新整個Windows操作系統(tǒng),也不需要加入 Windows Insider預覽版,只需要從微軟商店更新WSL應用即可。
安裝和使用方法
微軟在其官網(wǎng)發(fā)布博文,分享了在微軟商店安裝和使用WSL的方法。
首先要確保你擁有這些先決條件:
正在使用Windows 11版本或更高版本。(Windows Build 22000 或更高)
啟用虛擬機平臺的可選組件。
你可以通過在PowerShell提示符下運行:dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all 來完成。
點擊鏈接【https://aka.ms/wslstorepage】進入WSL商店頁面,點擊“安裝”來安裝WSL,然后你可以安裝一個選擇的Linux發(fā)行版【https://aka.ms/wslstore】來開始使用它。
常見問題
微軟官方還對一些常見問題進行了解答。
Q:如果已經(jīng)安裝了WSL,還可以從微軟商店安裝WSL嗎?
A:可以,如果用戶已經(jīng)安裝了windows版本的WSL,同樣也可以從微軟商店安裝WSL預覽。它們可以同時安裝在用戶的設備上,并且用戶仍然可以訪問所有完全相同的WSL發(fā)行版。微軟商店提供的WSL版本總是優(yōu)先的,所以當它安裝在設備上時,用戶將優(yōu)先體驗這個版本的WSL。
Q:還可以使用WSL 1發(fā)行版嗎?
A:可以,用戶也可以使用WSL 1發(fā)行版,但是需要啟用WSL可選組件。
Q:如何從微軟商店卸載WSL并返回到Windows版本?
A:如果用戶已經(jīng)從微軟商店安裝了WSL,并且想要返回到Windows版本,可以遵循以下步驟:
在開始菜單中搜索“WSL”,右鍵單擊應用程序并單擊“卸載”,卸載商店版本。
確保WSL可選組件已打開。
完成這些步驟后,您將回到使用windows版本的WSL。
Q:WSL在Windows 11中還有什么新功能?
A:隨著Windows 11的發(fā)布,微軟想再次強調一些現(xiàn)在普遍可用的WSL新特性:
WSLg(支持WSL的GUI應用程序)現(xiàn)已捆綁為WSL應用程序的一部分。
Linux二進制文件現(xiàn)在可以通過Windows GPU用于人工智能和機器學習開發(fā)場景等。
可以將Linux文件系統(tǒng)格式化的硬盤裝入WSL。
安裝微軟提供的WSL預覽版,以便從Microsoft Store獲得更快的更新。
其他發(fā)布說明
下面是微軟商店WSL發(fā)布的其他說明:
WSLg現(xiàn)在作為WSL應用程序的一部分被捆綁在一起。
更新Microsoft.WSLg到1.0.29版本。
為WSLg切換到msrdc.exe。
為ARM64啟用virtio以啟用WSLg共享內存。
允許WSLG使用的環(huán)境變量被WSLENV覆蓋。
新的wsl.exe -mount功能。
增加mount --vhd,使掛載VHD文件更容易。
為wsl.exe --mount實現(xiàn)文件系統(tǒng)檢測。如果在使用wsl.exe -mount時沒有指定–type,這一改變實現(xiàn)了文件系統(tǒng)類型檢測。
為wsl.exe --mount增加-name功能。這項修改增加對通過WSL掛載磁盤時可選擇命名掛載點的支持。
更新Linux內核到 5.10.60.1。
啟用額外的USB內核配置選項,以便通過USB與Arduino進行交互。
更新到上游穩(wěn)定內核版本5.10.60。
啟用virtio-pmem,支持PCI BAR相關地址。
在Hyper-V下啟用ARM64的vPCI支持。
啟用io_uring支持。
啟用USB over IP支持。
啟用x86_64的準虛擬化自旋鎖支持。
刷新dxgkrnl驅動程序,以獲得錯誤Bug修復和代碼清理。
啟用對NFSv4.1的NFS客戶端支持,改進9p或fstab掛載失敗時的錯誤信息。
修復ARM64上的\wsl$\和\wsl.localhost\問題。
切換到mkfs.ext4而不是預先格式化的ext4 VHD。
切換到使用mkswap和swapon而不是自定義交換文件邏輯。
添加邏輯,動態(tài)更新NAT網(wǎng)絡的MTU。
修復/etc/wsl.conf generateResolvConf 不能按預期工作的問題。
增加了進度指示器輔助功能,用于在轉換過程中顯示帶有動畫圓點的請等待信息,向用戶顯示W(wǎng)SL仍在運行。
切換wslhost.exe 為win32應用程序。
切換wsl.exe --install不需要-distribution參數(shù),但保留了對它的支持,以避免破壞現(xiàn)有的腳本。
添加wsl.exe --version 命令
在wsl.exe --status和wsl.exe --version中增加了Windows版本。
清理wsl.exe的無效參數(shù)處理,使語法錯誤更容易自我診斷。
如果應用程序是通過tile啟動的,在關閉控制臺窗口前提示用戶進行輸入。
為wslg.exe 添加錯誤信息對話框。
簡化不支持的命令行參數(shù)的打印。
如果用戶在已經(jīng)安裝了 WSL 的情況下運行 wsl.exe -install,則打印一個更好的錯誤信息。
為不存在自定義內核和不支持自定義內核添加特殊的錯誤代碼。
更新 wsl.exe --update,以便與已解除的軟件包一起工作–這將啟動商店頁面。
改進了 localhost relay 穩(wěn)定性和性能。
額外的性能和穩(wěn)定性改進。