長(zhǎng)期以來(lái),Linux 和 Windows 之間的互操作一直是系統(tǒng)操作員面臨的挑戰(zhàn)。在過去的 20 年里,系統(tǒng)管理員使用模擬器、虛擬機(jī),甚至重新編譯的 UNIX 二進(jìn)制文件在 Windows 上運(yùn)行,以便訪問他們需要的工具來(lái)管理在不同于他們的工作站的操作系統(tǒng)上運(yùn)行的應(yīng)用程序和服務(wù)。在運(yùn)行 Windows 作為其標(biāo)準(zhǔn)化桌面操作系統(tǒng)的企業(yè)中工作的系統(tǒng)管理員和安全工程師必須找到創(chuàng)造性的方法來(lái)管理他們的 Linux 系統(tǒng),而不僅僅是與運(yùn)行 Linux 的遠(yuǎn)程主機(jī)的久經(jīng)考驗(yàn)的真正安全外殼 (SSH) 連接。在過去的幾年中,Microsoft 轉(zhuǎn)向更明確地支持 Linux(以及一般的開源工具)。它將 SSH 直接整合到 Windows 中,允許系統(tǒng)管理員遠(yuǎn)程連接到其他 Linux 系統(tǒng)而無(wú)需第三方工具。2020 年 4 月,微軟宣布發(fā)布 Windows Subsystem for Linux 2.0(WSL 2),它直接從 Windows 工作站直接支持 Linux 的最新版本。
20 多年來(lái),Microsoft 一直支持 *NIX 操作系統(tǒng)。1999 年,Microsoft 發(fā)布了 UNIX 服務(wù) (SFU),其中包括一個(gè) POSIX 兼容模擬器,能夠運(yùn)行專門為其編譯的 UNIX 軟件子集。2016 年,微軟發(fā)布了 Windows Subsystem for Linux 1.0(WSL 1),它提供了一個(gè) Linux“兼容”的內(nèi)核接口。使用 WSL 1,您可以在安裝 Windows 的同時(shí)安裝流行的 Linux 發(fā)行版。體驗(yàn)很好,盡管性能有時(shí)比運(yùn)行 Linux 的虛擬機(jī) (VM) 慢,并且并非所有硬件功能和系統(tǒng)調(diào)用都已啟用。但對(duì)于需要在其 Windows 工作站上可在本地廣泛訪問的 Linux 環(huán)境的用戶而言,WSL 1 成為了一個(gè)可靠的選擇。
Microsoft 更新 WSL 2 架構(gòu)有兩個(gè)明確的主要目標(biāo):提高文件系統(tǒng)性能和添加完整的 Linux 系統(tǒng)調(diào)用兼容性。與 WSL 1 不同,WSL 2 依賴于 Linux 環(huán)境和 Windows 主機(jī)之間的轉(zhuǎn)換層,WSL 2 將使用實(shí)際的 Linux 內(nèi)核,Microsoft 將其調(diào)整為專門與其實(shí)現(xiàn)架構(gòu)一起運(yùn)行。WSL 2 內(nèi)核將位于 Windows 管理程序之上的虛擬機(jī)中,與 Windows 操作系統(tǒng)本身并行。WSL 2 使用比 WSL 1 更多的虛擬化技術(shù),但它的架構(gòu)與簡(jiǎn)單地在 Hyper-V 上作為 VM 運(yùn)行 Linux 發(fā)行版有很大不同。
與 WSL 1 一樣,WSL 2 將支持您可以并行安裝和運(yùn)行的多個(gè)發(fā)行版。但是,每個(gè)發(fā)行版都將在一個(gè)公共虛擬機(jī)中運(yùn)行,以盡可能保持 VM 的輕量級(jí)和主機(jī)系統(tǒng)的高性能。當(dāng)您終止 Linux 應(yīng)用程序時(shí),VM 也會(huì)停止。WSL 管理運(yùn)行 Linux 內(nèi)核的 VM 與 Windows 用戶界面之間的通信。例如,WSL 將標(biāo)準(zhǔn)輸入輸出從 VM 重定向到主機(jī)系統(tǒng)。(這意味著當(dāng)您從 WSL 2 中運(yùn)行 Bash shell 時(shí),您將在 Windows 工作站的新窗口中看到輸出。)
將 WSL 遷移到 VM 架構(gòu)需要 Microsoft 更改在 Windows 和 Linux 環(huán)境之間訪問文件的方式。在 WSL 1 中,Windows 和 Linux 環(huán)境共享相同的操作系統(tǒng),并且在兩個(gè)環(huán)境之間訪問文件是直接的,因?yàn)?Linux 環(huán)境可以訪問 Windows 新技術(shù)文件系統(tǒng) (NTFS)。但是,由于 WSL 2 作為虛擬機(jī)運(yùn)行,Microsoft 需要一種不同的方法來(lái)使文件系統(tǒng)對(duì)每個(gè)環(huán)境可見。Microsoft 利用文件服務(wù)器技術(shù)(預(yù)覽版使用 Plan 9/9P 協(xié)議)在 Windows 和 Linux 環(huán)境之間提供文件服務(wù)。根據(jù)發(fā)出請(qǐng)求的環(huán)境,Windows 或 Linux 環(huán)境都可以充當(dāng)文件服務(wù)器或客戶端。例如,如果你想從 Linux 訪問存儲(chǔ)在 Windows 上的文件,
盡管采用了這種新架構(gòu),微軟仍強(qiáng)調(diào)要確保 WSL 2 用戶體驗(yàn)盡可能保持無(wú)縫。例如,通過在環(huán)境之間重定向標(biāo)準(zhǔn)輸入和輸出并使用文件服務(wù)器技術(shù),您可以啟動(dòng) Windows 編輯器來(lái)更改 Linux 文件。同樣,在 Linux 環(huán)境中,您可以從 Bash 啟動(dòng) cmd.exe 或 PowerShell 以對(duì) Linux 文件進(jìn)行操作,盡管二進(jìn)制文件是從 Windows 環(huán)境運(yùn)行的。
要安裝 WSL 2,請(qǐng)訂閱 Windows Insider 預(yù)覽程序并將您的測(cè)試 Windows 10 工作站至少升級(jí)到版本 18917 或更高版本。
在提升的 PowerShell 提示符下,運(yùn)行命令:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
并重新啟動(dòng)您的工作站。
將 WSL 的默認(rèn)版本設(shè)置為 2.0 版:
wsl --set-default-version 2
訪問 Microsoft 商店并按照說明下載并安裝所需的發(fā)行版。該商店包括許多流行的發(fā)行版,包括 Ubuntu、openSUSE、Debian 甚至安全發(fā)行版 Kali。
安裝 kali 后,打開管理員 PowerShell 終端并通過運(yùn)行以下命令確保 Kali 正在使用 WSL 2 運(yùn)行:
wsl -l -v
要啟動(dòng)新安裝的 Kali 發(fā)行版,請(qǐng)運(yùn)行以下命令:
kali
Kali 將從這里開始,你可以像典型的 Linux 控制臺(tái)一樣操作,但現(xiàn)在可以使用 WSL 1 中不可用的一些工具。例如,在你更新和升級(jí)你的發(fā)行版之后,
sudo apt update
sudo apt upgrade
從這里,您可以下載并安裝所需的程序,并且可能會(huì)對(duì) WSL 2.0 提供的更廣泛的兼容性感到驚喜。雖然官方發(fā)布日期尚未公布,但 WSL 2 已包含在 Windows 預(yù)覽計(jì)劃中。單擊此處了解有關(guān) WSL 的更多信息和詳細(xì)信息,以及它是否可以很好地添加到您自己的工作站中。
結(jié)論
從您的主工作站訪問您需要的所有工具可能會(huì)節(jié)省您的時(shí)間和精力,而 Microsoft 的 WSL2 使 Linux 管理員可以更輕松地從他們的 Windows 工作站訪問他們的 Linux 工具。Microsoft 繼續(xù)推進(jìn) WSL,為更多系統(tǒng)調(diào)用提供增強(qiáng)的性能和更廣泛的支持,這意味著與系統(tǒng)管理員每天使用的工具具有更好的兼容性。WSL2 使得使用來(lái)自任一環(huán)境的常用工具在 Windows 和 Linux 環(huán)境中查找和編輯文件變得更加容易。
審核編輯hhy
-
Linux
+關(guān)注
關(guān)注
87文章
11509瀏覽量
213715 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3613瀏覽量
91385
發(fā)布評(píng)論請(qǐng)先 登錄
Windows 與 Linux 系統(tǒng)切換:聚徽工控一體機(jī)的系統(tǒng)遷移避坑經(jīng)驗(yàn)
迅為RK3568開發(fā)板新增topeet子系統(tǒng)-在產(chǎn)品中新增子系統(tǒng)
聚徽廠家解碼——工控機(jī)操作系統(tǒng)選擇:Windows、Linux、QNX 如何匹配工業(yè)場(chǎng)景
迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

RK3568驅(qū)動(dòng)指南|第十二篇 GPIO子系統(tǒng)-第135章 GPIO子系統(tǒng)與pinctrl子系統(tǒng)相結(jié)合實(shí)驗(yàn)

不借助Linux系統(tǒng),在Windows下如何搭建ZMC900E交叉編譯環(huán)境

如何將FX3與WSL(Linux 的 Windows 子系統(tǒng))一起使用?
嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡(jiǎn)介
飛凌嵌入式ElfBoard ELF 1板卡-input子系統(tǒng)之input子系統(tǒng)簡(jiǎn)介
飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之GPIO子系統(tǒng)
飛凌嵌入式ElfBoard ELF 1板卡-Pinctrl和GPIO子系統(tǒng)之Pinctrl子系統(tǒng)
詳解deepin 25 Preview的Distrobox子系統(tǒng)

羅徹斯特電子的商用航空電子助力經(jīng)驗(yàn)證的航空電子系統(tǒng)

深度解析linux時(shí)鐘子系統(tǒng)

linux--LED子系統(tǒng)一文讀懂

評(píng)論