首頁>技術>

一、什麼是 WSL2

WSL 是適用於 Linux 的 Windows 子系統(Windows Subsystem for Linux),可以讓開發人員原生執行 GNU/Linux 環境—— 包括大多數命令列工具、實用工具和應用程式。也就是說,對於使用 Windows10 系統的開發人員,要開發 Linux 環境下的程式——尤其是Linux環境下的 WEB 程式以及處理開源專案,以前只能使用虛擬機器安裝 Linux,但是虛擬機器在使用中相當於一臺獨立的計算機,有許多不足,比如效能低、啟動慢、管理不便、和宿主機 Win10 系統互操作不方便。WSL 就是為使用 Windows10 系統的軟體開發人員準備的 Linux 開發環境。WSL2 是第二代 WSL,包含在2020年5月正式釋出 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新設計了架構,使用真正的 Linux 核心,幾乎具有 Linux 的所有完整功能。啟用WSL2的 Linux 系統啟動時間非常快,記憶體佔用很少,並且,WSL 2 還可以直接原生執行 Docker,VS Code 編輯器還有 Remote-WSL 外掛,相對於完整的 linux 虛擬機器只是不支援 systemctl、systemd,不能直接執行圖形桌面。Windows 也越來越向虛擬平臺靠攏,Windows NT 核心和 Linux 核心都是執行在虛擬平臺之上的,是平級的。

二、更新 Windows 版本。

開啟微軟官方文件,檢視WSL2安裝說明。

https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-installdocs.microsoft.com

Windows 10 版本要求已更新到版本 2004 的內部版本 19041 或更高版本,通過按 Windows 徽標鍵 + R,檢查你的 Windows 版本,然後鍵入 winver,選擇“確定”。或者開啟 Windows 設定、系統、關於,檢視系統版本。

關於win10 1909版接收不到 2004版更新的問題:

開啟 Windows 設定、更新和安全、Windows 更新,高階設定,將延遲天數設定為 1 天。再重啟系統後就能收到 V2004版的更新了。

三、安裝元件

1、安裝『適用於 Linux 的 Windows 子系統』和『虛擬機器平臺』可選元件,可以用兩種方式安裝。

(1)用命令列安裝。以管理員身份開啟 PowerShell 並執行命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

(2)開啟 『控制面板』『Windows功能』對話方塊安裝或檢視。

2、WSL 2 需要更新其核心元件。有關資訊,請訪問

https://aka.ms/wsl2kernel

按照此文件說明,下載並安裝 wsl_update_x64.msi (這個升級包下載可能比較慢,可以用迅雷下載有加速效果。)

3、預設啟用第二代 WSL2

預設安裝 Linux 時是第一代 WSL,要在以後安裝 Linux 的時候預設啟用 WSL2,在Windows PowerShell中執行命令:wsl --set-default-version 2

四、安裝 Ubuntu

1、如果已經安裝了 Linux 系統並且是第一代,可以升級到 WSL2。同樣,WSL2也可以降級到WSL1。

wsl -l -v #檢視已安裝Linux版本和名稱,完整命令格式:wsl --list --verbosewsl --set-version Ubuntu 2 #升級到WSL2,其中 Ubuntu 是已經安裝的Linux名稱,命令格式:wsl --set-version <Distro> <Version>

2、開啟 store ,搜尋 ubuntu20.04 ,點選獲取,大約443MB,下載速度視網路情況,下載完成後會自動啟動安裝,安裝時要求輸入一個新的使用者名稱和密碼。

五、安裝 Windows Terminal

Windows Terminal 對 PowerShell、SSH、WSL 都提供的支援,是新的命令列應用程式,具有多標籤、分割視窗、快捷鍵、完整的Unicode字元支援等功能,可以更加方便的配合 WSL2 在 Linux 的命令列下操作。開啟 Microsoft Store ,搜尋 Windows Terminal 並安裝。

六、基本使用

1、啟動與關閉

開啟 Windows 開始選單,選擇 ubuntu 啟動,或者在 Windows Terminal 中輸入 wsl 啟動,輸入 exit 退出。

2、啟動 WSL2 之後,會在工作管理員中發現多了一個 虛擬機器工作執行緒。

3、在目錄

%LOCALAPPDATA%\\Packages\\<PackageFamilyName>\\LocalState\\

下會出現一個 ext4.vhdx 檔案。WSL2 將所有 Linux 檔案儲存在使用 ext4 檔案系統的 VHD 中。此 VHD 自動調整大小以滿足儲存需求。這個VHD的初始最大儲存量是256GB,當然大小是可以調整的。而在 WSL 1 中檔案是放在 C 盤的。

4、當從 Linux 應用程式訪問 Windows 檔案或從 Windows 應用程式訪問 Linux 檔案時,與 WSL1 相比檔案傳輸速度較慢, 這是 WSL2 體系結構變化使用了 VHDX 虛擬硬碟導致的結果。

5、wsl2 中預設有一個具有自己 IP 地址的虛擬化乙太網介面卡,在 ubuntu 中查詢 eth0 介面的 IP 地址命令:ip addr | grep eth0

從 windows 訪問 Linux 應用程式可以直接使用 localhost 訪問,也可以使用 WSL2 的IP地址。

6、在 WSL2 中用可以直接開啟 Windows 應用程式。比如開啟 bashshell 並執行 explorer.exe ,就可以開啟 Windows 檔案資源管理器。

https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install

待續:Win10 + WSL2 + VS Code + Terminal 配置開發環境

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • NET Core + Kubernetes:Volume