WSL (8) ERROR: CreateProcessEntryCommon:370: getpwuid(0) failed 2解决方法

遇到问题

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

猜你喜欢

转载自blog.csdn.net/shizheng_Li/article/details/131529287