遇到问题
windows11电脑安装wsl,使用命令
wsl --install
显示安装成功。但是输入wsl显示如下错误
C:\Users\lsz>wsl
Processing fstab with mount -a failed.
<3>WSL (8) ERROR: CreateProcessEntryCommon:370: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:374: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:577: execvpe /bin/sh failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:586: Create process not expected to return
解决方法
原因:这是因为我的电脑上存在Docker Desktop,两个相遇会产生这个bug。此时默认的distro(发行版)会是Docker那个,需要手动更改到我们的Ubuntu。具体操作如下:
使用PowerShell,输入
C:\Users\lsz>wsl -l
适用于 Linux 的 Windows 子系统分发:
docker-desktop-data (默认)
Ubuntu
docker-desktop
可以看到默认的发行版是docker-desktop-data,我们使用命令wsl -s Ubuntu
将Ubuntu设为默认即可
具体命令如下:
C:\Users\lsz>wsl -s Ubuntu
操作成功完成。
C:\Users\lsz>wsl -l
适用于 Linux 的 Windows 子系统分发:
Ubuntu (默认)
docker-desktop-data
docker-desktop
经过上述操作,问题得到解决。可以输入wsl进行测试。
参考
【1】https://github.com/microsoft/WSL/issues/5923