網站首頁 暱稱 網名 字數網名 簽名 頭像 說說 手機桌布 圖片 計算機網路

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統

欄目: 軟體技術 / 釋出於: / 人氣:2.08W

最新版的 Windows 10 Insider Preview Build 14316 剛剛釋出,其中最大的亮點莫過於微軟和 Canonical 合作,在其中內建了一個 Ubuntu 的子系統。其執行原理並不是傳統的虛擬機器或者 Cygwin,而是Windows有個子系統把Linux的呼叫都轉成Native的API,直接執行Ubuntu映象裡面的二進位制執行檔案。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統

Windows 10 insider 映象下載:

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第2張
應用名稱:Windows10 紅石RS1映象官方下載iso14295 簡體中文版
下載地址:

Windows 10 Insider Preview Build 14316內建 Linux子系統,對廣大開發者來說簡直是福音,從此再也不用羨慕 MacOX等 *nix 等系統順手的命令行了,在 Windows平臺也能夠更好的開發和除錯了!

最新版 Ubuntu下載:

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第3張
應用名稱:Ubuntu 16.04 Xenial Xerus官方下載16.04 映象下載
下載地址:

Cygwin 模擬器下載:

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第4張
應用名稱:Unix模擬器Cygwin2.8.7最新版
下載地址:

開發 Bash 的方法:

使用者現在即使不使用Linux系統或Mac電腦就可以在Win10上使用Bash,那麼Win10系統上如何開啟Bash命令列功能呢?

1. 首先將Win10系統升級到最新的Build 14316,然後到系統設定——更新和安全——針對開發人員——選擇開發者模式。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第5張

2. 然後系統搜尋“程式和功能”,選擇“開啟或關閉Windows功能”,開啟Windows Subsystem for Linux (Beta),並重啟系統。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第6張

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第7張

3. 安裝Bash,需要開啟命令列模式,然後輸入“bash”,第一次需要下載和安裝,安裝好就可以使用了。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第8張

相關背景:

微軟在官方部落格中宣佈,正式向部分使用者(Windows Insiders,內部使用者)釋出Windows 10 Insider Preview Build 14316(以下簡稱Windows 10 Build 14316)。

根據微軟的說法,Windows Insiders安裝Windows 10 Build 14316後,即可提前體驗即將於今年夏天向全體使用者推送的Windows 10週年更新(Windows 10 Anniversary Update)的新功能。

該更新中最引人注目的一項更新就是Windows 10支援原生Linux bash命令列,或者使用者可以使用Windows 10的Linux子系統,微軟官方的說法是支援在Windows上執行Ubuntu原生Bash(Run native Bash on Ubuntu on Windows)。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第9張

微軟稱,如果Windows Insiders想要使用Windows 10的Linux子系統,需要通過“設定”應用將Windows從預設模式設為開發者模式,隨後,使用者可以通過Windows Features新增這項功能,並獲得執行環境。

技術細節:

這個並不是通過Hyper-V啟動一個Ubuntu的虛擬機器的方式來弄的。

而是Windows有個子系統把Linux的呼叫都轉成Native的API,直接執行Ubuntu映象裡面的二進位制執行檔案。

所以能使用各種Linux命令(包括Ubuntu的apt-get安裝軟體)。

就像Linux上的wine通過翻譯Windows API來執行Windows程式一樣,Windows的那個子系統就是Windows上的wine。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第10張

這個系統和以往的方案區別在哪?

1) 不是vm,也不是container,所以效能不受太大的影響。根據上文中Krikland的文章, sysbench的執行結果幾乎相同。

2) 它比cygwin更像Linux,或者說,這本來就是一個完整的user-space Ubuntu,通過類似wine的原理實時把system call翻譯成native windows API。

這意味著你可以直接用apt-get管理軟體包,直接執行Ubuntu的binary,不再需要單獨為Windows重新打包和編譯。

3) 此外,微軟為此改進了這個console,增加了更多vt100的支援。也就意味著Powershell和Native命令列程式也能獲得更好的支援。

Win10開啟Bash的方法 如何在Win10裡執行Ubuntu子系統 第11張

這個特性更多的針對的是需要使用Linux開源工具鏈的Windows開發者。

現在你無需虛擬機器就可以很方便的獲得和Ubuntu幾乎相同的軟體環境——而 Ubuntu 是今天雲端Linux系統的事實標準。

同時享受Windows方便廣泛的硬體軟體支援。