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

在Windows11上安装WSL后,由于DockerDesktop的存在导致运行wsl命令出现错误。问题在于默认发行版被设置为了docker-desktop-data。解决方法是通过wsl-s命令将默认发行版切换到Ubuntu,从而修复问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到问题

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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值