什么是WSL2
WSL2(Windows Subsystem for Linux 2)是適用於Linux的Windows子系統體系結構的一個新版本,它支持適用於Linux的Windows子系統在Windows上運行ELF64 Linux二進制文件。它的主要目標是提高文件系統性能,以及添加完全的系統調用兼容性。
- 網卡管理、網絡抓包、查看網絡連接狀態、防火牆等較底層的網絡相關功能。
- 掛載文件(如 ext4 文件、squashfs 文件)和網絡資源(如 nfs、ssh )到本地。
- tmpfs (在 /run/shm 或者 /dev/shm,/tmp 不是)。
- 完整的 cgroups,因此可以運行 Docker 等容器。
- 完整的 IPC ( WSL 缺失一部分,比如運行不了 fakeroot )。
- 可修改內核參數、添加內核模塊,以及替換內核。因此可以支持很多更底層的應用。
因為之上的這些原因,WSL2可以更好地享受完整Linux系統帶來的方便,不需要因為WSL的功能缺失而使用各種迂回方法。
優勢
- 進程啟動開銷大大減少,需要頻繁啟動進程的場景性能大幅提升。
- 本地磁盤(不包括掛載的 /mnt/*)讀寫性能大幅提升。
前提
啟用可選的兩個Windows系統功能
- 適用於Linux的Windows子系統
- 虛擬機平台
方式一:走系統設置開啟
前往系統設置-應用-程序和功能-啟用或關閉Windows功能,勾選上述目標項,確認即可。
方式二:走PowerShell命令開啟
如果你習慣命令行,推薦用如下命令來開啟上訴兩項:
# 安裝適用於 Linux 的 Windows 子系統
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 啟用“虛擬機平台”可選組件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
執行完,請務必重啟計算機。
將WSL2
設置成默認版本
在Powershell中,輸入如下命令:
wsl --set-default-version 2
出現上圖提示就表示設置成功了。
如果遇到點問題,可能是需要升級一下wsl組件,安裝一下安裝包即可。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
安裝你中意的Linux版本
如果你是Windows10,請打開你的Microsoft Store,搜索你的目標Linux版本。
或者直接點擊已下知道的幾個鏈接,可以跳轉到對應的安裝頁面。
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
下載完畢后,啟動並打開,會提示你輸入新的用戶名和密碼,這將是你創建的第一個用戶。
安裝Docker Desktop For Windows
最新穩定版安裝包:Docker Desktop Installer.exe
默認推薦勾選:
- Enable WSL 2 Windows Features
- Add shortcut to desktop
右鍵桌面右下角的Docker圖標,進入Setting界面,可以設置你安裝的Linux版本作為默認的distro
因為一些不確定的原因,這里推薦你切換到Linux的終端環境來執行一下命令,而不是使用PowerShell。
資源管理器訪問wsl
在資源管理器的地址欄輸入如下命令,即可輕松訪問Linux子系統。
\\wsl$
Visual Studio Code訪問WSL
通過安裝以下插件,可以實現從Visual Studio Code
對WSL
的訪問。
通過安裝以下插件,可以實現從Visual Studio Code
對WSL
中Docker Container
的訪問。