NEWS動態我們的動態!
Our dynamic!

逆天的Ubuntu on Windows 10

點擊數:467發布時間: 2016-04-15 13:34:36

Ubuntu on Windows 10已經出來了!

可以參考以下文檔,了解如何把這個逆天的玩意請回家!

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide


部署方法

以下簡單描述一下辦法,首先我們必須升級到Windows 10版本14316,可能需要加入微軟的Windows Insider Program,并且把會員級別改為“快”(Fast Ring)。

升級完成后,可以查看自己是否滿足要求,如附圖所示。

wKiom1cG83_DeQRBAAKAzer1EW8204.jpg


然后啟用“開發人員模式”,如附圖所示。

wKiom1cG8nLSWyzJAAIvMEds2Do350.jpg


然后安裝Windows Subsystem for Linux,如附圖所示。

wKiom1cG852gayY8AAHolZv_Eq4252.jpg


這里有一個小問題,不少用戶是用Microsoft Account登錄Windows 10的,如果賬號昵稱是中文名字(例如盆盆),則用戶配置文件夾路徑中包含中文,會導致Ubuntu on Windows的用戶模式映像文件無法解壓縮。所以推薦創建一個英文的用戶賬戶。

wKioL1cG9f7AhpZ3AAD1OPEScJg419.jpg

提示 可能需要清空IE緩存(映像包文件會緩存在IE Cache中),然后重新運行Bash以觸發下載和解壓流程。

簡單分析

很快,Ubuntu就出現在我們眼前,可以在里面跑大量的命令和工具!

wKiom1cG9Qqi_QGCAAT5nmXDGJg069.jpg

安裝好以后,C盤根目錄會自動掛載到Ubuntu的文件系統里。

Windows分區掛載的目錄位于以下路徑,可以在Bash下列Windows分區的目錄

%userprofile%\AppData\Local\lxss\mnt\c

wKiom1cG9cmR91BUAAN0Nsa_W6o598.jpg


在以下路徑我們可以看到Ubuntu用戶模式映像的文件系統:

%userprofile%\AppData\Local\lxss\rootfs

wKiom1cG9erhStVlAAFTgITFAvw577.jpg


可以在Bash里用apt-get安裝軟件,甚至部署redis等,方便用Windows 10開發Linux應用。

在Bash窗口里隨便運行一些命令,用Process Monitor抓包,會發現有以下一些奇怪的進程,進程名稱是空的。

wKioL1cG9sbyHFCbAAI-0qN5LEk162.jpg

可以看到這些奇怪的"進程"都在訪問Ubuntu的映像文件夾。

wKioL1cG9ufwqSusAAtyPOggLiA674.jpg

查看堆棧信息,發現都是內核模式的調用,可以看到基本都是Lxcore.sys和Windows內核(ntoskrnl.exe)之間的交互。

wKioL1cG9yvzSgmgAARAovzcUN8271.jpg在網上查到Ubuntu on Windows 10的核心驅動有兩個,一個就是上述的Lxcore.sys,還一個就是Lxss.sys。其關系可以用Dependency Walker檢查,如附圖所示。

wKiom1cHGBDj1gKpAAFR8O7L3fw481.jpg


以下是在官網上的視頻截圖,描述Bash on Ubuntu on Windows 10的系統架構??梢钥吹?span>用戶模式的Linux組件是由Ubuntu官方提供的,所以和我們平時用的Ubuntu完全一樣。而到了內核模式,系統會將Linux的Syscall通過上述的Lxcore.sys轉成Windows內核的Syscall。

wKiom1cHGEqTuqtYAAKF4favD4o727.jpg

歷史淵源

其實早在Windows NT/Windows 2000年代,就有Posix子系統的概念,可以用來跑一些UNIX命令,方便開發人員編寫UNIX代碼。除了Posix子系統外,還有我們熟悉的Win32子系統,還有一個我們似曾相識的OS/2子系統。

wKioL1cHHf2jJ4acAAE5hR4nv0c280.jpg


到了Windows 7/Windows Server 2008 R2時代,這個Posix子系統變成了Subsystem for Unix-based Application(SUA)。

這是Windows 2008 R2里安裝的SUA。

wKiom1cHJYKieLWHAAIf9uk68aM293.jpg


可以運行Korn Shell。

wKiom1cHJZ3RtwWtAAJHSV9E0YA883.jpg

安裝好SUA以后,查看以下的注冊表鍵值,看到Posix子系統為可選的子系統,該子系統為psxss.exe。

wKiom1cHJc-xzrSiAAMqjuAkxVY201.jpg

不過Ubuntu on Windows 10并沒有這樣的注冊表鍵值。

本文出自 “盆盆” 博客,請務必保留此出處http://markwin.blog.51cto.com/148406/1761675


上一篇:無
下一篇:十大注定要被淘汰的安全技術
黑粗硬大欧美在线视频,男女牲交过程视频播放免费,男女性高爱潮免费视频