微軟在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應用即可,。
安裝和使用方法
微軟在其官網發(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:如果已經安裝了WSL,,還可以從微軟商店安裝WSL嗎?
A:可以,,如果用戶已經安裝了windows版本的WSL,,同樣也可以從微軟商店安裝WSL預覽。它們可以同時安裝在用戶的設備上,,并且用戶仍然可以訪問所有完全相同的WSL發(fā)行版,。微軟商店提供的WSL版本總是優(yōu)先的,所以當它安裝在設備上時,,用戶將優(yōu)先體驗這個版本的WSL,。
Q:還可以使用WSL 1發(fā)行版嗎?
A:可以,,用戶也可以使用WSL 1發(fā)行版,,但是需要啟用WSL可選組件。
Q:如何從微軟商店卸載WSL并返回到Windows版本,?
A:如果用戶已經從微軟商店安裝了WSL,,并且想要返回到Windows版本,可以遵循以下步驟:
在開始菜單中搜索“WSL”,,右鍵單擊應用程序并單擊“卸載”,,卸載商店版本。
確保WSL可選組件已打開,。
完成這些步驟后,,您將回到使用windows版本的WSL。
Q:WSL在Windows 11中還有什么新功能,?
A:隨著Windows 11的發(fā)布,,微軟想再次強調一些現在普遍可用的WSL新特性:
WSLg(支持WSL的GUI應用程序)現已捆綁為WSL應用程序的一部分,。
Linux二進制文件現在可以通過Windows GPU用于人工智能和機器學習開發(fā)場景等,。
可以將Linux文件系統(tǒng)格式化的硬盤裝入WSL。
安裝微軟提供的WSL預覽版,,以便從Microsoft Store獲得更快的更新,。
其他發(fā)布說明
下面是微軟商店WSL發(fā)布的其他說明:
WSLg現在作為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實現文件系統(tǒng)檢測,。如果在使用wsl.exe -mount時沒有指定–type,,這一改變實現了文件系統(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網絡的MTU。
修復/etc/wsl.conf generateResolvConf 不能按預期工作的問題,。
增加了進度指示器輔助功能,,用于在轉換過程中顯示帶有動畫圓點的請等待信息,向用戶顯示WSL仍在運行,。
切換wslhost.exe 為win32應用程序,。
切換wsl.exe --install不需要-distribution參數,但保留了對它的支持,,以避免破壞現有的腳本,。
添加wsl.exe --version 命令
在wsl.exe --status和wsl.exe --version中增加了Windows版本。
清理wsl.exe的無效參數處理,,使語法錯誤更容易自我診斷,。
如果應用程序是通過tile啟動的,在關閉控制臺窗口前提示用戶進行輸入。
為wslg.exe 添加錯誤信息對話框,。
簡化不支持的命令行參數的打印,。
如果用戶在已經安裝了 WSL 的情況下運行 wsl.exe -install,則打印一個更好的錯誤信息,。
為不存在自定義內核和不支持自定義內核添加特殊的錯誤代碼,。
更新 wsl.exe --update,以便與已解除的軟件包一起工作–這將啟動商店頁面,。
改進了 localhost relay 穩(wěn)定性和性能,。
額外的性能和穩(wěn)定性改進。