windows子系統(tǒng)-wsl命令基礎用法和無響應問題排查及解決方法
一、資料
微軟幫助手冊
- 手動安裝步驟
- 設置用戶名&密碼
- 疑難接單
- wsl基礎命令
博文資料
- 安裝問題排查
二、最低系統(tǒng)要求
若要更新到 WSL 2,需要運行 Windows 10。
對于 x64 系統(tǒng):版本 1903 或更高版本,內(nèi)部版本為 18362.1049 或更高版本。
對于 ARM64 系統(tǒng):版本 2004 或更高版本,內(nèi)部版本為 19041 或更高版本。
如果運行的是 Windows 10 版本1903 或 1909,請在 Windows 菜單中打開“設置”,導航到“更新和安全性”,然后選擇“檢查更新”。 內(nèi)部版本號必須是 18362.1049+ 或 18363.1049+,次要內(nèi)部版本號需要高于 .1049
注:查看系統(tǒng)版本號命令:winver
三、常用命令
- wsl --status //檢查 WSL 狀態(tài)
- wsl //進入默認的發(fā)行版本,退出執(zhí)行 exit
- wsl -l -v //列出已安裝的 Linux 發(fā)行版
- wsl --terminate //終止指定的發(fā)行版或阻止其運行
- 例:wsl --terminate Ubuntu-18.04
- wsl --shutdown //重啟wsl服務
- wsl --set-default //設置默認 Linux 發(fā)行版
- wsl --set-version //將WSL版本設置為1或2
- wsl --set-default-version //設置默認 WSL 版本
- wsl --distribution --user //運行特定的Linux發(fā)行版
- wsl -u
,
wsl --user //以特定用戶的身份運行 - wsl config --default-user //更改發(fā)行版的默認用戶
- wsl --unregister //注銷或卸載 Linux 發(fā)行版
四、檢測wsl環(huán)境
>wsl --status
默認版本:2
適用于 Linux 的 Windows 子系統(tǒng)最后更新于 2022/4/15
適用于 Linux 的 Windows 子系統(tǒng)內(nèi)核可以使用“wsl --update”手動更新,但由于你的系統(tǒng)設置,無法進行自動更新。
若要接收自動內(nèi)核更新,請啟用 Windows 更新設置:“在更新 Windows 時接收其他 Microsoft 產(chǎn)品的更新”。
有關詳細信息,請訪問https://aka.ms/wsl2kernel。
內(nèi)核版本: 5.10.16
五、問題匯總
問題一:執(zhí)行命令wsl,提示“系統(tǒng)找不到指定的路徑?!?/h4>
出現(xiàn)錯誤:如果出現(xiàn)“系統(tǒng)找不到指定的文件”的提示,是因為之前安裝的沒有卸載的原因。
方法一:使用命令卸載和安裝指定發(fā)現(xiàn)版本
- 命令:wsl -l -v //查看安裝的發(fā)行版本和默認版本信息
- 命令:wsl --unregister Ubuntu-18.04 //卸載名為“Ubuntu-18.04”的發(fā)行版本
- 使用powerShell執(zhí)行安裝命令:
- Add-AppxPackage C:\wslApps\Ubuntu_1804.2019.522.0_x64.appx
- Add-AppxPackage C:\wslApps\Ubuntu_2204.1.7.0_x64.appx
注:如果安裝完后執(zhí)行 wsl -l -v 提示“沒有可用發(fā)行版本”,可用方法二安裝
方法二:解壓 *.appx 文件安裝
- 將文件Ubuntu_1804.2019.522.0_x64.appx后綴改為.zip
- 解壓Ubuntu_1804.2019.522.0_x64.zip文件
- 直接雙擊運行.\Ubuntu_1804.2019.522.0_x64\ubuntu1804.exe文件
- 首次運行需要創(chuàng)建用戶名、密碼(都填test)
- 再次執(zhí)行wsl,可以順利進入ubunt系統(tǒng)
- 執(zhí)行exist可退出子系統(tǒng)
問題二:如果出現(xiàn)參考的對象類型不支持嘗試的操作,請重置下網(wǎng)絡
- 執(zhí)行命令: net winsock reset
- 重啟電腦
問題三:運行一段時間后系統(tǒng)無法進入,執(zhí)行wsl命令無響應
原因:子系統(tǒng)運行依賴的服務LxssManager停止工作,導致wsl命令無響應。
解決方法是重啟LXSSManager服務,但是直接在服務管理器(service.msc)中操作該服務提示“訪問拒絕”??梢酝ㄟ^用以下方法找到并結(jié)束LxssManager服務宿主進程svchost.exe的PID結(jié)束相關進程,之后刷新服務,點擊“啟動”重新啟動該服務。
-
方法1:文章來源:http://www.zghlxwxcb.cn/news/detail-681663.html
- tasklist /svc /fi “imagename eq svchost.exe”
- 搜索 LxssManager 并獲取 PID
- 以管理員身份運行任務管理器,在詳細信息選項卡中,搜索包含 PID 的 svchost.exe
- 右鍵單擊它并選擇“結(jié)束進程樹”。
- 在服務管理器中找到LxssManager,點擊啟動。(如果沒有啟動按鈕,可以右鍵刷新下)
- 執(zhí)行:wsl --status 命令正常執(zhí)行。(此時服務管理器中LXSSManager狀態(tài)為運行中)
-
方法2:文章來源地址http://www.zghlxwxcb.cn/news/detail-681663.html
- tasklist /svc /fi “services eq LxssManager” //查進程ID
- wmic process where processid=29984 delete //結(jié)束指定PID進程
- 在服務管理器中啟動LxssManager服務
- wsl --status //命令正常執(zhí)行
C:\Users\用戶名>tasklist /svc /fi "services eq LxssManager"
映像名稱 PID 服務
========================= ======== ============================================
svchost.exe 29984 LxssManager
C:\Users\用戶名>tasklist /svc /fi "services eq LxssManager"
映像名稱 PID 服務
========================= ======== ============================================
svchost.exe 29984 LxssManager
C:\Users\用戶名>wmic process where processid=29984 delete
刪除實例 \\DESKTOP-2VBQPJK\ROOT\CIMV2:Win32_Process.Handle="29984"
實例刪除成功。
C:\Users\用戶名>wsl --status
默認分發(fā):Ubuntu-18.04
默認版本:2
適用于 Linux 的 Windows 子系統(tǒng)最后更新于 2023/3/7
適用于 Linux 的 Windows 子系統(tǒng)內(nèi)核可以使用“wsl --update”手動更新,但由于你的系統(tǒng)設置,無法進行自動更新。
若要接收自動內(nèi)核更新,請啟用 Windows 更新設置:“在更新 Windows 時接收其他 Microsoft 產(chǎn)品的更新”。
有關詳細信息,請訪問https://aka.ms/wsl2kernel。
內(nèi)核版本: 5.10.16
C:\Users\用戶名>
到了這里,關于windows子系統(tǒng)-wsl命令基礎用法和無響應問題排查及解決方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!