使用wsl 遇到錯誤(Error: 0x800701bc WSL 2) 解決方式

甚麼是WSL?

開發人員可以在 Windows 電腦上同時存取 Windows 和 Linux 的功能。 Windows 子系統 Linux 版 (WSL) 可讓開發人員安裝 Linux 發行版本(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),並直接在 Windows 上使用 Linux 應用程式、公用程式和 Bash 命令列工具,未經修改,而不需要傳統虛擬機器或雙boot 設定的額外負荷。(來源:安裝 WSL | Microsoft Learn)

最近研究BUN(包子),但BUN只能安裝在Linux,而 Windows 要使用就只能安裝VM或者就是安裝WSL,可以很方便的在CMD直接呼叫WSL,但安裝時不能用WSL2,一開始不知道,想說有最新版本當然安裝最新的,但是WSL2有限制。

錯誤原碼

Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ????????????????????

遇到以上錯誤 ,可能是因為Hyper-V沒有開啟,但是開啟Hyper-V後就不能使用第三方的VM,所以只好放棄使用WSL2 如果無法支援 WSL 2,可以嘗試安裝 WSL 1。雖然沒有 WSL 2 的所有功能,但對於大多數應用來說應該足夠了。

轉安裝 WSL 1, 執行以下命令:

wsl --set-default-version 1

安裝好wsl,再重新安裝Ubuntu,就能正常安裝了。


2024/04/17 更新 解決方法2

請勿使用CMD(命令提示字元)改用PowerShell來開啟wsl2

1.開始>搜尋”Windows功能”

2.開啟”虛擬機器平台” 確定後需要重新開機才會生效。

3.更新wel2 Linux 核心
下載最新核心 : 舊版 WSL 的手動安裝步驟 | Microsoft Learn

如果你已轉用wsl的話,可以用以下指令將wsl2設定為預設版本

wsl --set-default-version 2

發表迴響