# WSL2 無法啟動怎麼辦?我用這幾步修好 Windows 11 上的 `0x80070569` 錯誤
最近在 Windows 11 上遇到一個很煩的問題:`WSL2` 明明有裝,`Ubuntu` 也還在,但就是突然無法啟動。
如果你也遇到下面這種錯誤,這篇可以先存起來:
```text
Wsl/Service/CreateInstance/CreateVm/HCS/0x80070569
```
這次我是在**不重開機**的情況下,把 `WSL2` 救回來。這篇整理的是我實際排查和修復的流程,重點會放在對一般使用者有用、也比較容易被搜尋到的關鍵資訊。
---
## 這次遇到的 WSL2 錯誤症狀
表面上看起來,`WSL` 其實沒有壞得很徹底:
- `wsl -l -v` 看得到 `Ubuntu`
- 而且版本還是 `2`
- `WSL` 相關功能也都已經安裝
- 但一執行 `wsl -d Ubuntu` 就失敗
我這次遇到的關鍵錯誤是:
```text
Wsl/Service/CreateInstance/CreateVm/HCS/0x80070569
```
進一步查 Windows 錯誤碼後,對應訊息是:
```text
Logon failure: the user has not been granted the requested logon type at this computer.
```
這代表方向不是單純「Ubuntu 壞掉」,而比較像是:
- `WSL2` 建立 VM 時失敗
- `Hyper-V` / `HCS` 路徑有問題
- Windows 服務狀態異常
- 或是本機安全性原則 / 網域 GPO 影響了 WSL2 啟動
---
## 先確認不是 WSL 安裝壞掉
如果你也遇到 `WSL2 無法啟動`,我建議先檢查下面這幾個項目:
```powershell
wsl --status
wsl -l -v
Get-WindowsOptionalFeature -Online -FeatureName 'Microsoft-Windows-Subsystem-Linux'
Get-WindowsOptionalFeature -Online -FeatureName 'VirtualMachinePlatform'
Get-Service WSLService,vmcompute,hns
```
我這次檢查到的狀況是:
- `Microsoft-Windows-Subsystem-Linux` 已啟用
- `VirtualMachinePlatform` 已啟用
- `WSLService`、`vmcompute`、`hns` 都有在跑
- `Ubuntu` 仍然存在,而且是 `WSL2`
所以可以先排除:
- 沒安裝 `WSL`
- 沒開 `VirtualMachinePlatform`
- distro 被刪掉
也就是說,這不是典型的安裝問題。
---
## 這類錯誤為什麼會發生?
`WSL2` 底層會透過 Hyper-V / HCS 建立虛擬化環境,所以當錯誤出現在:
```text
CreateVm/HCS/0x80070569
```
通常就要懷疑:
- WSL 服務卡住
- Hyper-V Compute 服務異常
- 系統權限沒有正確套用
- 公司電腦上的群組原則(GPO)影響了 WSL2
如果你是在 **Windows 11 企業版**、**公司網域電腦**、或是有安全性政策控管的環境,這個方向尤其常見。
---
## 我這次實際有效的修復方法
這次我沒有先重開機,而是先做一輪「關閉 WSL、重啟服務、重套原則」。
### 1. 關閉所有 WSL 執行個體
```powershell
wsl --shutdown
```
這一步是先把可能卡住的 WSL 狀態清掉。
### 2. 重啟 `WSLService`
```powershell
Restart-Service WSLService -Force
```
### 3. 重啟 `vmcompute`
```powershell
Restart-Service vmcompute -Force
```
`vmcompute` 是 Hyper-V 主機運算服務,`WSL2` 啟動會用到它。如果這個服務卡住,Ubuntu 本身通常也起不來。
### 4. 重新套用群組原則
```powershell
gpupdate /force
```
這一步對公司電腦特別重要。因為如果 `WSL2` 啟動失敗和系統權限、登入類型、服務權限有關,那重新套用目前原則有時候就能把狀態拉回正常。
### 5. 重新測試 WSL2
```powershell
wsl -d Ubuntu -e uname -a
```
我這次就是做完上面幾步之後,`WSL2` 成功恢復。
成功時輸出會像這樣:
```text
Linux 001771-03370 6.6.87.2-microsoft-standard-WSL2 ...
```
---
## 可直接複製的修復指令
如果你想先快速測試,這段可以直接用:
```powershell
wsl --shutdown
Restart-Service WSLService -Force
Restart-Service vmcompute -Force
gpupdate /force
wsl -d Ubuntu -e uname -a
```
這是我這次修好 `WSL2 啟動失敗` 的主要流程。
---
## 為什麼這次不是靠重灌解決?
很多人遇到 `WSL2 無法啟動`,第一反應通常是:
- 重裝 Ubuntu
- 重裝 WSL
- 重新勾選 Windows 功能
- 直接重開機
但這次情況不是這種。
因為我檢查後發現:
- `WSL2` 還在
- `Ubuntu` 還在
- Windows 功能也都正常
所以問題更像是**服務狀態或權限套用異常**,而不是安裝壞掉。這也是為什麼這次有效的方式,不是重灌,而是:
- `wsl --shutdown`
- 重啟 `WSLService`
- 重啟 `vmcompute`
- `gpupdate /force`
---
## 如果是公司電腦,之後可能還會再發生
這次最值得注意的地方是錯誤碼:
```text
0x80070569
```
它對應的是登入類型權限失敗,這表示問題可能和:
- 本機安全性原則
- 群組原則(GPO)
- Hyper-V / WSL 所需權限
有關。
所以如果你是在公司環境、企業版 Windows、或受網域管理的電腦上,這類問題有可能不是一次性的。
換句話說:
- 這套方法很適合先救急
- 但不一定代表根因完全排除
- 如果經常復發,還是要往 GPO 或安全性原則方向追
---
## 我會怎麼建議處理這種 WSL2 問題
如果你只是偶爾遇到一次,那先試下面這組指令最省時間:
```powershell
wsl --shutdown
Restart-Service WSLService -Force
Restart-Service vmcompute -Force
gpupdate /force
```
如果你已經不是第一次遇到,而且又很依賴 `WSL2` 做開發、Docker、FTP 模擬、Samba 測試或 Linux 環境,那就不該只把它當成單次故障。
比較務實的做法是:
- 先把 WSL 救回來,恢復工作
- 再檢查是否為公司 GPO 造成
- 如果是高依賴環境,評估改用正式 Linux VM
---
## 關鍵字整理
如果你是搜尋這些關鍵字進來的,這篇處理的是同一類問題:
- `WSL2 無法啟動`
- `WSL Ubuntu 無法啟動`
- `Windows 11 WSL2 0x80070569`
- `Wsl/Service/CreateInstance/CreateVm/HCS/0x80070569`
- `WSL2 CreateVm HCS error`
- `Restart-Service WSLService`
- `Restart-Service vmcompute`
- `gpupdate /force WSL`
---
## 結論
這次 `WSL2` 救回來的關鍵,不是重灌,也不是直接重開機,而是:
1. 關掉 WSL
2. 重啟 `WSLService`
3. 重啟 `vmcompute`
4. 重新套用群組原則
5. 再次啟動 Ubuntu
對我這次的環境來說,這組方法是有效的,而且不用先重開機。
如果你碰到的是同樣的 `0x80070569`,很值得先試一次。