1. 程式人生 > >WSL2:我在原生的Win10玩轉Linux系統

WSL2:我在原生的Win10玩轉Linux系統

> 原文地址:[樑桂釗的部落格](http://blog.720ui.com/2020/wsl2_use/) > > 部落格地址:[http://blog.720ui.com](http://blog.720ui.com/2020/wsl2_use/) > > 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的侷限性。 # WSL2:我在原生的Win10玩轉Linux系統 今天,我跟大家分享一個好玩的東西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基於Hyper-V 功能的子集提供了“**真正的 Linux 核心**”。怎麼理解這句話呢?大家設想,我們平時的研發辦公環境需要Windows,而開發環境需要 Linux 系統,我們會怎麼做? - 方案一:安裝主機雙系統,實現物理隔離。 - 方案二:安裝虛擬機器,例如使用 VMware 來實現完整的使用體驗。 - 方案三:使用 Docker 容器。 其中,方案一成本最高,需要兩臺以上的物理機,而方案二資源消耗大、執行效率低,而方案三“容器化”方案是我們目前較多采用的方案。而最新的 Windows 版本(對於x64系統:版本1903或更高版本,以及內部版本18362或更高版本)通過 WSL2 技術支援在原生的系統上使用到 Linux 核心,實現 Linux 子系統化。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110722080-1064470340.png) ## WSL 2 使用之旅 現在,讓我們來一探究竟吧。要更新到WSL 2,我們必須正在執行 Windows 10。這裡,官方對於 Windows 10 版本是由要求的。 - 對於 x64 系統:版本 1903 或更高版本,以及內部版本 18362 或更高版本。 - 對於 ARM64 系統:2004 或更高版本,內部版本19041或更高。 - 低於18362 的內部版本不支援 WSL2。使用 Windows Update Assistant 來更新 Windows 版本。 我們可以通過選擇 `Windows徽標鍵+ R` 鍵入 `winver` ,然後選擇確定。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110743166-204774702.png) 下圖,就是我的電腦的版本號了。如果你執行的是 Windows 10 版本1903 或 1909,請從 Windows 選單中開啟“設定”,導航至“更新和安全”,然後選擇“檢查更新”。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110754052-535568470.png) 緊接著,我們需要確保開啟 **`適用於 Linux 的 Windows 子系統`** 和 **`虛擬機器平臺`** 配置項。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110807810-1596032212.png) 這裡,我們也可以以管理員身份開啟 PowerShell 用命令方式安裝。 首先啟用 **`虛擬機器平臺`** 功能。 ``` dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 然後重啟下,啟用 **`適用於 Linux 的 Windows 子系統`** 功能。 ``` dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 然後呢,我們還需要下載最新 Linux 核心更新程式包。 下載地址:[https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi) 安裝完成後,將 WSL 2 設定為預設版本。 ``` wsl --set-default-version 2 ``` 最後,我們安裝自己需要的 Linux 發行版。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110827922-296233438.png) 我比較熟悉使用 CentOS,而應用商店中的 CentOS 是收費版本,而 github 上面有 CentOS 官方開源的安裝包,我們這裡使用 github 上的安裝包進行安裝。地址:[https://github.com/CentOS/sig-cloud-instance-images/](https://github.com/CentOS/sig-cloud-instance-images/) 安裝完畢後,進入命令列,可以檢視版本清單。 ``` wsl -list -verbose ``` 通過輸入 `wsl` 命令都可以進入CentOS7系統。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110841570-999339893.png) 至此,我們可以在原生的 Windows 10 玩轉 Linux 系統了。 ## Docker Desktop WSL 2 現在,我來說一個更好玩的特性。因為,WSL 2 引入了重大的體系結構更改,它是由 Microsoft 構建的完整 Linux 核心,允許 Linux 容器在沒有模擬的情況下本機執行。因此,通過在 WSL 2 上執行的 Docker Desktop,使用者可以利用 Linux 工作區。此外,WSL 2 改進了檔案系統共享,啟動時間,並允許 Docker Desktop 使用者訪問一些很酷的新功能。Docker Desktop 使用 WSL 2 中的動態記憶體分配功能極大地減少了資源消耗。這意味著,Docker Desktop僅使用所需數量的所需 CPU 和記憶體資源,同時使 CPU 和記憶體密集型任務(如構建容器)執行得更快。此外,使用WSL 2,冷啟動後啟動 Docker 守護程式所需的時間明顯更快。與之前版本的 Docker Desktop 幾乎需要一分鐘相比,啟動 Docker 守護程式所需的時間不到 10 秒。 在安裝 Docker Desktop WSL 2 之前,必須完成以下步驟: - 下載 Docker Desktop Stable 2.3.0.2 或更高版本。 - 安裝 Windows 10 版本 1903 或更高版本。 - 在 Windows 上啟用 WSL 2 功能。 ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110855385-919727105.png) ![](https://img2020.cnblogs.com/blog/513627/202011/513627-20201118110903931-374940829.png) ## 參考文獻 - [Windows Subsystem for Linux Installation Guide for Windows 10](https://docs.microsoft.com/en-us/windows/wsl/install-win10) - [Docker Desktop WSL 2 backend](https://docs.docker.com/docker-for-windows/wsl/) ## 寫在末尾 【服務端思維】:我們一起聊聊服務端核心技術,探討一線網際網路的專案架構與實戰經驗。讓所有孤軍奮戰的研發人員都找到屬於自己的圈子,一起交流、探討。在這裡,我們可以認知升級,連線頂級的技術大牛,連線優秀的思維方式,連線解決問題的最短路徑,連線一切優秀的方法,打破認知的侷限。 更多精彩文章,盡在「服務端思維」! ![](http://image.chenyongjun.vip/17335cc81d9993b4.png)