# 簡介 ## 比較 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.