在Windows中運(yùn)行Linux:WSL 2使用入門
繼微軟發(fā)布了 WSL 2 (Windows Subsystem for Linux 2)之后,前兩天正式提供了 WSL2 更新,處于 Insider Fast 通道中的用戶可以通過(guò)安裝 Windows build 18917 更新來(lái)體驗(yàn)最新版本的 WSL2。
在這篇文章中,我們將介紹如何入門、新的 wsl.exe
命令以及一些重要提示。有關(guān) WSL 2 的完整文檔可在微軟的文檔頁(yè)面上找到。
安裝 WSL 2
要安裝并開(kāi)始使用 WSL 2,請(qǐng)完成以下步驟:
- 啟用“虛擬機(jī)平臺(tái)”可選組件
- 使用命令行設(shè)置要由 WSL 2 支持的發(fā)行版
- 驗(yàn)證你的發(fā)行版使用的 WSL 版本
請(qǐng)注意,你需要運(yùn)行 Windows 10 build 18917 或更高版本才能使用 WSL 2,并且你需要安裝 WSL(可以在此處找到相關(guān)說(shuō)明)。
啟用“虛擬機(jī)平臺(tái)”可選組件
以管理員身份打開(kāi) PowerShell 并運(yùn)行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
啟用這些更改后,你需要重新啟動(dòng)計(jì)算機(jī)。
使用命令行設(shè)置要由 WSL 2 支持的發(fā)行版
在 PowerShell 中運(yùn)行:
wsl --set-version <Distro> 2
并確保將 <Distro>
替換為發(fā)行版的實(shí)際名稱。 (你可以使用以下命令找到它們:wsl -l
)。 你也可以通過(guò)運(yùn)行與上面相同的命令隨時(shí)更改回 WSL 1,但將“2
”替換為“1
”。
此外,如果你想使 WSL 2 成為默認(rèn)架構(gòu),可以使用以下命令執(zhí)行此操作:
wsl --set-default-version 2
這將使你安裝的任何新發(fā)行版初始化為 WSL 2 發(fā)行版。
完成驗(yàn)證發(fā)行版使用的 WSL 版本
要驗(yàn)證每個(gè)發(fā)行版使用的 WSL 版本,請(qǐng)使用以下命令:
wsl --list --verbose
或
wsl -l -v
你在上面選擇的發(fā)行版現(xiàn)在應(yīng)該在“version”列下顯示“2”。 現(xiàn)在完成了,你隨時(shí)可以開(kāi)始使用你的 WSL 2 發(fā)行版了!
WSL 2 的體驗(yàn)變化
首次開(kāi)始使用 WSL 時(shí),你會(huì)注意到一些用戶體驗(yàn)變化。以下是此預(yù)覽中兩個(gè)最重要的變化。
將 Linux 文件放在 Linux 根文件系統(tǒng)中
確保將 Linux 應(yīng)用程序中經(jīng)常訪問(wèn)的文件放在 Linux 根文件系統(tǒng)中,以享受文件性能優(yōu)勢(shì)。過(guò)去微軟一直強(qiáng)調(diào)在使用 WSL 1 時(shí)將文件放入 C 盤,但 WSL 2 中的情況并非如此。要享受 WSL 2 中更快的文件系統(tǒng)訪問(wèn)權(quán)限,這些文件必須放在 Linux 根文件系統(tǒng)里面。而且現(xiàn)在 Windows 應(yīng)用程序可以訪問(wèn) Linux 根文件系統(tǒng)(如文件資源管理器!嘗試在 Linux 發(fā)行版的主目錄中運(yùn)行:explorer.exe .
看看會(huì)發(fā)生什么),這將使這種轉(zhuǎn)換變得更加容易。
在初始構(gòu)建中使用動(dòng)態(tài) IP 地址訪問(wèn) Linux 網(wǎng)絡(luò)應(yīng)用程序
WSL 2 做了架構(gòu)的巨大變更,使用了虛擬化技術(shù),并仍在努力改進(jìn)網(wǎng)絡(luò)支持。由于 WSL 2 現(xiàn)在運(yùn)行在虛擬機(jī)中,因此你從 Windows 訪問(wèn) Linux 網(wǎng)絡(luò)應(yīng)用程序需要使用該 VM 的 IP 地址,反之亦然,你需要 Windows 主機(jī)的 IP 地址才能從 Linux 中訪問(wèn) Windows 網(wǎng)絡(luò)應(yīng)用程序。 WSL 2 的目標(biāo)是盡可能使用 localhost
訪問(wèn)網(wǎng)絡(luò)應(yīng)用程序!可以在文檔中找到有關(guān)如何執(zhí)行此操作的完整詳細(xì)信息和步驟。
要了解有關(guān)用戶體驗(yàn)更改的更多信息,請(qǐng)參閱文檔:WSL 1 和 WSL 2 之間的用戶體驗(yàn)變化。
新的 WSL 命令
WSL 添加了一些新命令選項(xiàng)來(lái)幫助控制和查看 WSL 版本和發(fā)行版。
除了上面提到的 --set-version
和 --set-default-version
之外,還有:
-
wsl --shutdown
立即終止所有正在運(yùn)行的發(fā)行版和 WSL 2 輕量級(jí)實(shí)用程序虛擬機(jī)。
一般來(lái)說(shuō),支持 WSL 2 發(fā)行版的虛擬機(jī)是由 WSL 來(lái)管理的,因此會(huì)在需要時(shí)將其打開(kāi)并在不需要時(shí)將其關(guān)閉。但也可能存在你希望手動(dòng)關(guān)閉它的情況,此命令允許你通過(guò)終止所有發(fā)行版并關(guān)閉 WSL 2 虛擬機(jī)來(lái)執(zhí)行此操作。
-
wsl --list --quiet
僅列出發(fā)行版名稱。此命令對(duì)于腳本編寫很有用,因?yàn)樗粫?huì)輸出你已安裝的發(fā)行版的名稱,而不顯示其他信息,如默認(rèn)發(fā)行版、版本等。
-
wsl --list --verbose
顯示有關(guān)所有發(fā)行版的詳細(xì)信息。此命令列出每個(gè)發(fā)行版的名稱,發(fā)行版所處的狀態(tài)以及正在運(yùn)行的版本。默認(rèn)發(fā)行版標(biāo)以星號(hào)。
反饋意見(jiàn)
如果你遇到任何問(wèn)題, 請(qǐng)?jiān)?Github 上提交問(wèn)題: https://github.com/microsoft/wsl/issues ,如果你對(duì) WSL 有一般性問(wèn)題,你可以在這個(gè)推特列表上找到該團(tuán)隊(duì)所有成員的 Twitter。