Bash on Windows(WSL2)


一、基礎知識

1. 什么是WSL 2?

Windows 10專業版(其它版本不支持)中集成了Bash on Windows功能,可以在默認的命令行中直接使用Linux的命令來處理Windows的文件,對於僅支持Linux的軟件也可以直接運行,此工具在編程和仿真方面都非常方便。
2016年微軟Build 2016大會最讓開發人員興奮的消息之一,就是在Windows上可以原生運行linux bash。
WSL(Windows Subsystem for Linux)是Windows10的Linux子系統。WSL提供了一個微軟開發的Linux兼容內核接口(不包含Linux代碼),能夠在Windows 10上運行原生Linux二進制可執行文件。可以簡單的認為它是在 Windows 上安裝了一個 Linux 環境。

2020年微軟把之前的wsl從一代升級到了二代,根據微軟的說法,體驗是極大的提升。

WSL 2 是 WSL 中體系結構的新版本,它更改了 Linux 分發版與 Windows 進行交互的方式。 WSL 2 的主要目標是提高文件系統性能並增加完全的系統調用兼容性。

WSL 2 是對基礎體系結構的一次重大改造,它使用虛擬化技術和 Linux 內核來實現其新功能。

2. 為什么使用WSL 2?

由於開發方便的需要,我們有時要使用到類 Unix 環境。目前支持類Unix的軟件有:
Cygwin是運行於Windows平台的POSIX“子系統”,提供Windows下的類Unix環境,並提供將部分 Linux 應用“移植”到Windows平台的開發環境的一套軟件。
MinGW(Minimalist GNU for Windows)用於開發原生(32位) Windows 應用的開發環境,它的編譯產物一般是原生 Windows 應用。
MinGW-w64,MinGW-W64 則是新一代的 MinGW,支持更多的 API,支持 64 位應用開發,甚至支持 32 位 host 編譯 64 位應用以及反過來的“交叉”編譯。除此之外,它本身也有 32 位和 64 位不同版本,其它與 MinGW 相同。

MSYS,是MinGW 開發者從曾經比較舊的 Cygwin 創建的一個分支,也用於提供類 Unix 環境。但與 Cygwin 的大而全不同,MSYS 是沖着小巧玲瓏的目標去的,大小在 200M 左右,並且沒有多少擴展能力。MSYS 是用於輔助 Windows 版 MinGW 進行命令行開發的配套軟件包,如果不喜歡龐大的 Cygwin,可以試試。不過喜歡完整體驗、不在乎磁盤占用等等,還是推薦 Cygwin 而不是 MSYS。

MSYS2,由於 MinGW 萬年不更新,MSYS 更是,Cygwin的許多新功能 MSYS 沒有同步過來,於是 Alex 等人建立了新一代的 MSYS 項目。仍然是 fork 了 Cygwin(較新版),但有個更優秀的包管理器 pacman,有活躍的開發者跟用戶組,有大量預編譯的軟件包(雖然肯定沒有Cygwin多)……對於不喜歡龐大的 Cygwin 的用戶而言,推薦試試 msys2

而WSL可以讓你像CMD控制台一樣簡單使用Linux的操作,並且無縫的在Linux shell 與 Windows CMD之間來回切換;Windows自帶服務,只需簡單設置安裝,使用更方便;

缺點:沒有圖形化界面

二、安裝WSL

1. 啟用開發人員模式

如果你正在使用計算機進行一般的日常活動,如玩游戲、進行 Web 瀏覽、收發電子郵件或使用 Office 應用,則不需要激活開發人員模式,並且實際上不應該激活該模式。 
此頁面上的其余信息對你來說並不重要,你可以放心地重新執行你正在執行的任何操作。 謝謝拜訪。
但是,如果你是首次在計算機上使用 Visual Studio 編寫軟件,則需要在開發電腦和用於測試代碼的所有設備上啟用開發人員模式。

無法在 Windows 更新中找到開發人員模式程序包。 錯誤代碼 0x80004005 了解詳細信息”

發生此錯誤可能是由於網絡連接問題、企業設置,或者程序包可能丟失。

若要解決此問題:

  1. 確保你的計算機連接到 Internet。
  2. 如果你位於加入域的計算機上,請與網絡管理員聯系。 默認情況下,WSUS 中阻止了開發人員模式程序包,如所有按需功能。 2.1. 為了在當前和之前的版本中解除阻止開發人員模式程序包,應該允許在 WSUS 中使用以下 KB:4016509、3180030、3197985
  3. 在“設置”>“更新和安全”>“Windows 更新”中檢查 Windows 更新。
  4. 在“設置”>“系統”>“應用和功能”>“管理可選功能”>“添加功能”中驗證 Windows 開發人員模式是否存在。 如果缺少,Windows 無法為計算機找到正確的程序包。

在執行上述任意步驟后,禁用並隨后重新啟用“開發人員模式”以驗證是否解決該問題。

Win10更新時出現錯誤0x80070422

1、首先按“baiwin+R”打開du運行窗口,點擊輸入“services.msc”,回車確定。

2、然后在彈出來的窗口中點擊打開“windows update服務”,改為自動

 

 

打開設置->安全和更新->開發者選項,選擇為“開發人員模

 

 

2. 准備安裝條件

若要更新到 WSL 2,必須滿足以下條件:

輸入后發現內部版本不符合要求

 

 檢查更新

 企業版和企業版LTSB是不能通過易升升級的,企業版沒有免費升級通道所引起的,那么難道win10企業版就無法直升win10 升級嗎?其實方法還是有的,我們可以通過下面方法進行操作!

 

1、按下win+i 組合鍵打開windows 設置,點擊 更新和安全 如圖:

2、加入預覽版計划,選擇release通道,找到rs1字樣;

3、重啟電腦后,等待一段時間,就能找到周年版的release更新,更新完后,退出預覽版計划即可!

win10設置中沒有Windows預覽體驗計划選項怎么辦

1. 按鍵盤Win+R打開運行窗口>輸入netplwiz

2. 在打開的用戶賬戶工具中,點擊添加按鈕>點擊"

不使用Microsoft賬戶登錄">選擇"本地賬戶">輸入用戶名(密碼留空就行)

3. 雙擊新建好的用戶名稱>組成員>選擇"管理員"

4. 右鍵點擊開始按鈕>關機或注銷>注銷

5. 使用剛才新建的賬戶登錄Windows系統

由於我的操作系統是企業版,即使如上操作,依然看不到Windows預覽體驗計划選項,故宣告wsl2安裝失敗

 

 

參考文檔:

WSL 2 中的新增功能

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

WIN10如何安裝wsl2

https://baijiahao.baidu.com/s?id=1668484084087037453&wfr=spider&for=pc

Windows 安裝和配置 WSL

https://www.jianshu.com/p/3e627ff45ccb

Bash On Windows安裝教程

https://www.jianshu.com/p/ac7ff1d20b32?utm_source=oschina-app

配置Bash on Windows (WSL)並自定義安裝位置

https://www.bilibili.com/read/cv1429071/

深入體驗bash on windows!在windows上搭建原生的linux開發環境環境

https://blog.csdn.net/donglynn/article/details/53502249

深入體驗bash on windows!在windows上搭建原生的linux

http://www.360doc.com/content/18/0115/16/7210702_722149146.shtml

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM