# 簡介 ## 比較 WSL 版本 有分 1 和 2,差異性可以參考官方介紹: https://learn.microsoft.com/zh-tw/windows/wsl/compare-versions 現在主流好像都是用 2。 # 安裝 官方參考資料: * https://learn.microsoft.com/zh-tw/windows/wsl/install * https://learn.microsoft.com/zh-tw/windows/wsl/install-manual 民間參考資料: * https://hackmd.io/@Kailyn/BkMi80IeF * https://magiclen.org/wsl/ * https://www.kwchang0831.dev/dev-env/wsl/ubuntu ## 1. 更新 Windows 版本 若要使用 WSL 2 的 windows 版本需求: * 針對 x64 系統: 版本 1903 或更新版本,使用 組建 18362 或更新版本。 * 針對 ARM64 系統: 版本 2004 或更新版本,使用 組建 19041 或更新版本。 選取【Windows 標誌鍵】+ R、輸入`winver`,可以看到系統版本:  ## 2. 更新 Windows 的 Nvidia 驅動程式 將 Windows 的 GPU 驅動程式更新至最新版即可,==後續不需要在 WSL 裡面安裝驅動程式==:  官方資訊:https://docs.nvidia.com/cuda/wsl-user-guide/index.html#cuda-support-for-wsl-2 下載網址:https://www.nvidia.com/Download/index.aspx ## 3. 確認 Windows 設定 在 Windows 搜尋框輸入`Windows 功能`,開啟設定視窗並啟動【Windows 子系統 Linux 版】與【虛擬機器平台】:  確認虛擬機功能已啟用:  個人是透過 BIOS 設定為啟用,萬一沒啟用的話等等重新開機可以順便設定。 設定完成後請==重新開機== <!-- 上述設定也可以透過指令完成,可以參考官方教學。 --> ## 4. 下載並安裝 Linux 核心更新套件 網址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 如果 Windows 設定更新後沒有重新開機則無法安裝。 ## 5. 設定 WSL 確認目前 WSL 狀態,打開 CMD 輸入指令:`wsl --status` 回傳範例:  ==即使顯示預設版本為 2,建議使用指令再次指定為 2==:`wsl --set-default-version 2` 建議核心版本至少大於 4.19 <!-- 查詢已安裝的子系統版本:`wsl cat /proc/version` 因為尚未安裝任何 ubuntu 版本,顯示結果如下:  --> ## 6. 安裝 Linux 開啟【Microsoft Store】,搜尋想要使用的 linux 版本,以 ubuntu 20.04 為例:  點選取得後就會開始下載+安裝,完成後若沒有自動打開 ubuntu 則可以從開始列尋找:  點擊後會跳出視窗,稍等一下:  最後設定使用者帳號與密碼即可完成:  假設因為公司管理規定無法透過微軟商店直接下載安裝: ``` wsl --update --web-download wsl --install -d Ubuntu-20.04 --web-download wsl --set-version Ubuntu-20.04 2 ``` ## 7. 確認安裝結果 進入 WSL 透過指令確認子系統版本:`cat /proc/version` 返回內容: ``` Linux version 5.10.16.3-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Fri Apr 2 22:23:49 UTC 2021 ``` 建議 Linux version 至少 5 以上,搭配最新 nvidia 驅動可以在 WSL 裡面偵測到 GPU 資訊: ``` nvidia-smi ``` 回傳結果:  <!--  --> 若 Linux version 為 4.X 可以參考附錄更新版本。 回到 Windows 使用 CMD 輸入指定:`wsl --list --verbose` 回傳結果:  確認為 WSL2,大功告成! ## 其他 前往微軟商店下載 Windows Terminal:  方便操作 WSL:  參考:https://hackmd.io/@billsun/BJByCIUHf#14-%E9%81%B8%E7%94%A8%E5%AE%89%E8%A3%9D-Windows-%E7%B5%82%E7%AB%AF%E6%A9%9F # 啟動、停止、備份、刪除、還原 ## 啟動 ``` wsl -d <linux名稱> ``` ## 停止 ``` wsl -t <linux名稱> ``` ## 備份 ``` wsl --export <linux名稱> <輸出路徑+檔名+.tar> ``` ## 還原 ``` wsl --import <linux名稱> <安裝位置> <tar檔位置> ``` ## 刪除 ``` wsl --unregister <linux名稱> ``` 在 Windows 使用指令確認名稱:`wsl --list --verbose` 輸入刪除指令:`wsl --unregister Ubuntu-20.04` 執行完成後再次執行`wsl --list --verbose`,應該就沒有該名稱的內容惹,但是此時從微軟商店下載的 APP 還在,可以透過開始功能列點選右鍵進行解除安裝:  但如果點擊則會又安裝一個新的 ubuntu 然後設定帳號密碼。 https://blog.csdn.net/admans/article/details/125071913 # 附錄 ## 啟動 Ubuntu 時遇到錯誤 Error 0x80370102 參考:https://hackmd.io/@withhhsong/WslRegisterDistributionError 個人是透過 BIOS 啟用虛擬功能後解決。 ## 更新 Linux kernel 版本 若發現 Linux version 過舊可以參考考此方法: 1. 確認 windows 設定:  2. 確認 windows 更新然後安裝,視情況重新開機:  3. 確認 Microsoft Store 的 Linux 是否需要更新。 4. 參照先前流程重新建立 WSL 並確認版本。 若上述方法無效可以參考這篇:https://www.awsjunkie.com/update-wsl-windows/ <!-- 執行指令: ``` wsl --update wsl --shutdown wsl --status wsl --install -d Ubuntu ``` 再次進入WSL確認版本:`cat /proc/version` --> 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up