
我使用 Windows 11 作為作業系統。其內部版本號為:22000.348
我從商店安裝了 Debian,然後安裝了適用於 Linux 預覽版的 Windows 子系統。
WSL 版本是:2
Debian運作正常,沒有任何問題。但當我跑步時適用於 Linux 預覽版的 Windows 子系統應用程式時,出現此錯誤:
使用 mount -a 處理 fstab 失敗。
[進程退出,代碼為 1 (0x00000001)]
- 為什麼會發生這種情況?
- 我怎樣才能防止這種情況發生?
- Linux 應用程式的 Windows 子系統有哪些功能?
答案1
從評論來看,這聽起來可能是由於從商店安裝的 WSL 預覽版中存在某種錯誤所致。
最終(同樣來自評論),問題證明 Docker WSL 實例之一成為了 WSL 的「預設」實例。因此專門運行“Debian”發行版就可以了。但是,運行 WSL 應用程式(運行wsl.exe
)正在嘗試啟動 docker 映像,該映像並不意味著可以直接存取(並且導致了錯誤fstab
)。
這是透過wsl -l -v
預設顯示 Docker 映像發現的。
解決方案是使用:
wsl -s Debian
....設定預設分佈。
雖然這不一定是“錯誤”,但有一個打開Github問題建議 WSL 有一種機制可以允許docker-desktop-data
(以及不應該由最終用戶運行的其他發行版)「隱藏」。
答案2
擴充 NotTheDr01ds 答案:
如果您需要安裝另一個發行版,例如 ubuntu,您可以透過以下方式進行:
wsl --install
#Warning - may break docker desktop!
然後,您可以將該發行版設定為預設發行版,而不是不工作的 docker 整合。
但是,這可能會破壞您的 Docker 桌面整合。