WSL 2 的安裝過程(以及介紹)
1、什么是WSL2
WSL全稱為Windows Subsystem for Linux,官網譯為:適用于 Linux 的 Windows 子系統(tǒng) (WSL)。
官方文檔直達:適用于 Linux 的 Windows 子系統(tǒng)文檔 | Microsoft Docs。
- WSL1和WSL2的比較:
功能 | WSL 1 | WSL 2 |
Windows 和 Linux 之間的集成 | ? | ? |
啟動時間短 | ? | ? |
與傳統(tǒng)虛擬機相比,占用的資源量少 | ? | ? |
可以與當前版本的 VMware 和 VirtualBox 一起運行 | ? | ? |
托管 VM | ? | ? |
完整的 Linux 內核 | ? | ? |
完全的系統(tǒng)調用兼容性 | ? | ? |
跨 OS 文件系統(tǒng)的性能 | ? | ? |
- 為什么要WSL2
官方解釋:可讓開發(fā)人員直接在 Windows 上按原樣運行 GNU/Linux 環(huán)境(包括大多數命令行工具、實用工具和應用程序),且不會產生傳統(tǒng)虛擬機或雙啟動設置開銷。
我的觀點:日常生活中程序的開發(fā)離不開Linux,而Windows的GUI界面又是我們常用的(微信、Office等)。我們可以有很多種方式使用Linux。
單主機雙系統(tǒng):能實實在的運行不同、完整的操作系統(tǒng);切換系統(tǒng)都需要重啟,麻煩。
雙主機雙系統(tǒng):物理隔離方式,真正實現雙系統(tǒng);真的有人那么有錢嗎?開發(fā)程序用兩臺電腦?
遠程服務器:和單主機雙系統(tǒng)一樣;性能、帶寬、流量有局限。
虛擬機VMware:和單主機雙系統(tǒng)一樣;資源消耗大、啟動慢、運行效率低。我用過之后覺得有的時候卡死也不知道怎么弄。
WSL?。?! 幾乎能運行完整的操作系統(tǒng),資源消耗小、啟動快、切換快 有些軟件可能不支持…(后續(xù)有什么毛病再更新)。
重點:Windows與Linux子系統(tǒng)將共用同一文件系統(tǒng)!!! 我們可以在WSL中使用三劍客命令查詢分析windows文檔、日志、使用shell命令或者bash腳本運行存儲在windows中的linux程序、甚至在WSL中創(chuàng)建docker容器,在windows下使用docker desktop進行可視化管理。
總結:WSL2讓我們既擁有Windows的操作界面又擁有Linux的命令行工具。
- 啟用“虛擬機平臺”
WSL 2 需要啟用 Windows 10 的 “虛擬機平臺” 特性。它獨立于 Hyper-V,并提供了一些在 Linux 的 Windows 子系統(tǒng)新版本中可用的更有趣的平臺集成。
要在 Windows 10(2004)上啟用虛擬機平臺,請以管理員身份打開 PowerShell 或 cmd 并運行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10(1903,1909)上啟用虛擬機平臺,請以管理員身份打開 PowerShell或 cmd 并運行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
為了確保所有相關部件都整齊到位,您應該在此時重啟系統(tǒng),否則可能會發(fā)現事情沒按預期進行。
2、安裝WSL2
本次安裝環(huán)境:
處理器 Intel? Core? i5-10210U CPU @ 1.60GHz 2.11 GHz。
機帶 RAM 8.00 GB (7.79 GB 可用)。
系統(tǒng)類型 64 位操作系統(tǒng), 基于 x64 的處理器。
操作系統(tǒng) Windows 11 家庭中文版。
注意:本次安裝之前沒安裝過WSL和Ubuntu。
(1)檢查是否可以安裝
您的電腦需要以下配置:
Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10 2019年11月(1909) 版。
一臺支持 Hyper-V 虛擬化的計算機。
查看是否支持Hyper-V的方法:
打開cmd,輸入:
systeminfo
查看Hyper-V信息。
比如我的電腦就可以支持。
下面將會介紹安裝在C盤和D盤得方法,自行選擇一種就行。
(2)安裝WSL(默認安裝是在C盤)
用管理員身份運行PowerShell。
wsl --install
–install 命令執(zhí)行以下操作:
- 啟用可選的 WSL 和虛擬機平臺組件。
- 下載并安裝最新 Linux 內核。
- 將 WSL 2 設置為默認值。
- 下載并安裝 Ubuntu Linux 發(fā)行版(可能需要重新啟動),默認是安裝在 C 盤的(如果要安裝其他盤可以看下面的操作)。
注意:上述命令僅在完全未安裝 WSL 時才有效,如果運行 wsl --install 并查看 WSL 幫助文本,請嘗試運行 wsl --list --online 以查看可用發(fā)行版列表并運行 wsl --install -d以安裝發(fā)行版。
等待一會會。
順便查看了一下可以支持的linux系統(tǒng),大便、Kali、OpenSUSE、烏班圖都有,默認安裝Ubuntu。
wsl --list --online
安裝了好一會兒了。。。。發(fā)現還是在85.7%,等不下去了CTRL+C了。
重新安裝,這次安裝指定的系統(tǒng)。
注意:如果命令行還是不行的話,可以直接在 Windows 應用商店 下載 Ubuntu 20.04 安裝即可。
查看版本:
wsl -l -v
如果你之前安裝過 WSL,當前不是 WSL 2 版本,可以通過以下命令設置 WSL 的默認版本:
wsl --set-version Ubuntu-20.04 2
重啟,然后成功了!
配置Linux。
接下來打開已安裝的Ubuntu,這時候會提示你配置用戶和密碼。
配置完畢!即可享用。
在PowerShell中執(zhí)行wsl即可進入,測試一下,用命令 cd / && ls -lrt 查看所有文件,如下(是不是很熟悉)。
(3)ubuntu20.04(如果需要安裝D盤)
下面是將 Ubuntu20.04 安裝在D盤的部分:
首先先在你喜歡的盤創(chuàng)建一個文件夾,比如D:\Linux,因為這樣即便是重裝系統(tǒng)我也不用重新裝軟件。
然后進到這個文件夾 下載ubuntu20.04。
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx -OutFile Ubuntu20.04.appx -UseBasicParsing
我演示用的是d:\xiazai\linux1,等他下載完即可,文件有4G多,等一會是正常的。
然后執(zhí)行下面四條命令。如下圖:
Rename-Item .\Ubuntu20.04.appx Ubuntu.zip
Expand-Archive .\Ubuntu.zip -Verbose
cd .\Ubuntu\
.\ubuntu2004.exe
這個圖我是直接進了wsl,因為我已經安裝過了。你們第一次安裝的話會彈出一個黑框框等幾分鐘這樣,然后輸你想要的入用戶名和密碼就行。
當然這個時候可能會報錯,什么樣的錯誤都可能,我以前遇到過很多次!
我發(fā)現最好的方法就是,按照這個文章上開頭的那幾步重新執(zhí)行一遍(確保沒有遺漏),然后重啟,一定要重啟!重啟!!之后再嘗試,一般就解決了。
3、更新一下鏡像源
最后可以在powershell里面 , 看看自己安裝的版本。
#進入linux終端執(zhí)行
sudo vim /etc/apt/sources.list
將官方的源都注釋掉,換成下面兩個之一即可(我的是Ubuntu20.04,別的版本或者源可以自行網上搜)。
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
清華源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
如果遇到問題:
Certificate verification failed: The certificate is NOT trusted——更新Ubuntu20.04、Debian11的過程中遇到的證書驗證失敗問題。
解決辦法:
更改源文件,將所有的https改成http。
sudo vim /etc/apt/sources.list
重新更新源。
sudo apt update
安裝/更新證書ca-certificates。
sudo apt install --reinstall ca-certificates
參照步驟一將鏡像源文件改回https。
再次更新源。
sudo apt update && sudo apt upgrade
大功告成。
4、安裝Windows Terminal
Windows Terminal能幫助我們管理命令行工具、PowerShell和WSL等Shell用戶的工具,能為我們提供最佳的 WSL 體驗。
下載方式:
??https://www.microsoft.com/store/productId/9N0DX20HK701。??
MicroSoft Store (微軟商店)找關鍵字 Windows Terminal。
打開微軟應用商店,搜索“Terminal”,安裝,打開后的界面是這樣的:
默認打開的是 PownerShell 終端,我們可以設置為默認打開 Ubuntu 終端。點擊標簽右邊的下拉三角,選擇設置:
會在左下角看到一個打開 JSON 文件按鈕,然后選擇用記事本打開,在 profiles->list 中找到 Ubuntu 的 guid 并復制。
將它粘貼為文件開頭的 defaultProfile 的值:
(1)安裝 oh-my-zsh
在 ubuntu 下終端執(zhí)行。
- 安裝 zsh:
sudo apt update
sudo apt install git zsh -y
然后查看。
可以看到 zsh 已經安裝上去,再執(zhí)行。
chsh -s /bin/zsh
- 安裝oh my zsh所需的字體。
git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
- 安裝oh my zsh。
國內下載地址:wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh。
給 install.sh 添加執(zhí)行權限。
chmod +x install.sh
修改 install.sh 的鏡像。
vi install.sh
將以下:
REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
更改為:
REPO=${REPO:-mirrors/oh-my-zsh}
REMOTE=${REMOTE:-https://gitee.com/${REPO}.git}
保存退出,執(zhí)行 install.sh 就將 oh-my-zsh 安裝上。
(2)安裝皮膚
安裝完 oh-my-zsh 后,編輯 ~/.zshrc 文件,將主題設置為 agnoster robbyrussell:
再做一點點美化:把命令行的機器名稱去掉,并調整用戶名的背景色。編輯 agnoster 主題文件:
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
把 92 行修改為:
prompt_segment green black "%(!.%{%F{yellow}%}.)%n"
修改后如下:
關閉 Terminal 再重新打開,效果如下:
(3)安裝歷史命令自動補全
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
(4)安裝高亮顯示
git clone git://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
安裝完改一下配置文件。
vim ~/.zshrc
把plugins中兩個剛剛下載好的插件名字加進去,然后保存退出。
plugins=( git zsh-autosuggestions zsh-syntax-highlighting )
最后更新一下配置文件。
source .zshrc
執(zhí)行之后注銷重新登陸即可。
首先查看本機安裝了哪些子系統(tǒng):
wsl --list --all
其次:
wsl --unregister <System_name>
到其路徑下將全部文件刪除即可。