必須啟用“適用于 Linux 的 Windows 子系統”可選功能并重啟,然后才能在 Windows 上運行 Linux 發行版。

創新互聯是一家專注于做網站、成都網站制作與策劃設計,巴彥網站建設哪家好?創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:巴彥等地區。巴彥做網站價格咨詢:18982081108
以管理員運行Powershell(開啟WSL,如已開啟可跳過)
WSL 1 和 WSL 2 之間的主要區別在于,在托管 VM 內使用實際的 Linux 內核、支持完整的系統調用兼容性以及跨 Linux 和 Windows 操作系統的性能。
WSL2相比WSL1來說可以完美支持Docker。與WSL1的模擬Linux API不同的是,WSL2采用在Hyper-V虛擬機中運行的方案。可以說WSL2和原汁原味的Linux已經十分接近
不支持Docker的守護進程,但您可以使用 Docker CLI 連接到通過 Docker for Windows 或您創建的任何其他VM 運行的遠程Docker守護進程
不能完全兼容systemctl, systemd等等,IO速度相對原生Linux也是大打折扣,在編譯和解壓方面可以很深體會到。畢竟不是真正的Linux,而是掛在Windows NT內核之上的仿Linux 系統
由于WSL 還不是原生的Linux,所以需要借助 Docker for Windows 來實現Docker(Docker for Windows 是基于Hyper-V 技術)
另外一種方式是,在WSL1中安裝docker 客戶端,連接 docker server, 來解決在WSL1上使用docker 的問題。(PS: Win10 的Linux 子系統是裝不了 docker (服務端)的,但是可以安裝客戶端)
參考
WSL2 是第二代 WSL,包含在2020年5月正式發布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新設計了架構,使用真正的 Linux 內核,幾乎具有 Linux 的所有完整功能。啟用WSL2的 Linux 系統啟動時間非常快,內存占用很少,并且,WSL 2 還可以直接原生運行 Docker,VS Code 編輯器還有 Remote-WSL 插件,相對于完整的 linux 虛擬機只是不支持 systemctl、systemd,不能直接運行圖形桌面。Windows 也越來越向虛擬平臺靠攏,Windows NT 內核和 Linux 內核都是運行在虛擬平臺之上的,是平級的
如果發現VERSION為1,說明Ubuntu運行在WSL1下,可以升級到 WSL2。同樣,WSL2也可以降級到WSL1。
wsl -l -v #查看已安裝Linux版本和名稱,完整命令格式:wsl --list --verbose
具體步驟參考 :
安裝 WSL 2 之前,必須啟用“虛擬機平臺”可選功能
wsl --set-version Ubuntu 2 #升級到WSL2,其中 Ubuntu 是已經安裝的Linux名稱,命令格式:wsl --set-version Distro Version
啟用WSL后,通過 \wsl$ 可以訪問WSL文件
最初的WSL是在Windows之上模擬Linux內核,但是Windows和Linux之間存在如此基本的差異,以至于某些事情不可能以與本機Linux相同的行為實現,這意味著不可能直接在 WSL中運行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通過Hyper-V虛擬機去運行docker環境的
升級到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接運行在Linux 內核上了
通過如下設置,Docker Desktop就和WSL2分發版本進行了集成,無需在WSL中安裝docker; 當然,也可以選擇不與Docker Desktop集成,直接在WSL 中運行docker 容器。
啟用WSL后,docker運行數據都在WSL發行版中,文件位置都只能由WSL管理
安裝docker后,docker會自動創建2個發行版:
WSL發行版默認都是安裝在C盤,在%LOCALAPPDATA%/Docker/wsl目錄
docker的運行數據、鏡像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中
通過 WSL 2 集成,您仍然可以體驗到與 Windows 的無縫集成,但在 WSL 中運行的 Linux 程序也可以執行相同的操作。這對于從事面向 Linux 環境的項目或為 Linux 量身定制的構建過程的開發人員產生了巨大影響。不再需要維護 Linux 和 Windows 構建腳本!例如,Docker 的開發人員現在可以在 Windows 上的 Linux Docker 守護程序上工作,使用與 Linux 計算機上的開發人員相同的工具和腳本集:
注:WSL2 Docker最爽的地方是和宿主機Win10共享network,我們在宿主機Win10使用localhost加端口號就可以訪問Docker中對應container中的服務,十分方便
wsl #啟動
wsl --shutdown #關閉所有正在運行的 Linux 和 WSL 2
啟動 WSL2 之后,會在任務管理器中發現多了一個 虛擬機工作線程
訪問wsl 文件
卸載發行版
有時候某個Linux發行版不再使用,或者是環境被搞壞需要重裝,這時候我們可以卸載掉這個Linux發行版。方法如下。
在【設置 - 更新與安全-開發者選項】中開啟【開發人員模式】
在【控制面板-程序-程序和功能 - 啟用或關閉 Windows 功能】中勾選【適用于 Linux 的 Windows 子系統】
在應用商店搜索ubuntu選擇適合自己版本的ubuntu安裝即可
1、首先在win10系統任務欄中點擊右鍵再點擊屬性
2、點擊開始菜單,再把"使用開始菜單而非開始屏幕"勾上再點擊確定;
在更改開始屏幕設備,注銷并更改設置。記得要保存好電腦內的資料哦!馬上會執行注銷的動作;
方法/步驟
1
1、打開控制面板— 程序與功能— 啟用或關閉 Windows 功能:
2
2、勾選適用于 Linux 的 Windows 子系統(Beta)并點擊確定;
3
3、進入 Windows 10 設置— 更新與安全— 針對開發人員— 勾選開發人員模式并重啟設備;
END
方法/步驟2
4、打開管理員模式的命令提示符并輸入 bash 回車,然后輸入 Y 下載 Ubuntu;
2
5、下載完成后按提示創建 UNIX 默認用戶名并輸入密碼(輸入密碼是不顯示*的,輸入完成直接回車即可)
①C:\Users\xxx1\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\xxx2
說明:xxx1表示windows系統的用戶名,xxx2表示子系統Ubuntu的用戶名。
①cd /mnt/c/Users/xxx1
說明:xxx1表示windows系統的用戶名。
②訪問win10中的g盤根目錄:
cd /mnt/g
Win10 與 子系統 Ubuntu 之間互訪文件系統
近期將本地開發環境配置到的wsl2子系統中,出現wsl之系統暫用宿主機內存過多,導致數組機卡頓,通過在網上查閱資料獲得解決方案記錄下來,以供它人參考
在當前用戶目錄下新建.wslconfig文件,我的路徑是:C:Usersadmin.wslconfig
然后在文件中添加配置內容:
然后在window 終端 輸入 wsl --shutdown 關閉wsl,然后重啟生效
processors 設置虛擬處理器數量
memory wsl 2占用系統內存上線,可根據實際情況配置
localhostForwarding=true 設置在 Windows 中通過 127.0.0.1 或 localhost 訪問 WSL2 服務
名稱欄目:包含windows子系統訪問的詞條
本文地址:http://www.yijiale78.com/article48/hihsep.html
成都網站建設公司_創新互聯,為您提供手機網站建設、品牌網站設計、搜索引擎優化、外貿建站、關鍵詞優化、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯