使用Docker/Docker Desktop后无法启动WSL2 Ubuntu终端求助
解决WSL2 Ubuntu终端启动失败:fopen(/etc/default/locale)与zsh执行失败错误
错误信息
<3>WSL (18709) ERROR: ConfigUpdateLanguage:2950: fopen(/etc/default/locale) failed 5 <3>WSL (18709) ERROR: CreateProcessEntryCommon:577: execvpe /usr/bin/zsh failed 5 <3>WSL (18709) ERROR: CreateProcessEntryCommon:586: Create process not expected to return [process exited with code 1 (0x00000001)]
错误码5对应权限拒绝(EACCES),大概率是关键文件权限被异常修改(比如Docker操作时的挂载或权限变更)导致。以下是修复步骤:
以root身份进入WSL:在Windows命令提示符/PowerShell执行,绕过故障的默认shell:
wsl -u root修复locale文件权限:/etc/default/locale需保持root所有、644权限:
chown root:root /etc/default/locale chmod 644 /etc/default/locale修复zsh执行权限:确保/usr/bin/zsh的权限配置正确:
chown root:root /usr/bin/zsh chmod 755 /usr/bin/zsh重新生成locale配置:避免配置文件损坏:
locale-gen验证修复结果:切换回你的普通用户测试:
su - 你的用户名 zsh如果能正常进入zsh,说明修复完成。
排查Docker挂载影响:若上述步骤无效,检查是否有Docker绑定挂载修改了/etc目录权限:
- 执行
mount查看异常挂载点 - 卸载异常挂载(若存在):
umount 挂载路径 - 重启WSL:在Windows执行
wsl --shutdown,再重新打开终端
- 执行
内容的提问来源于stack exchange,提问作者coniferous
相关产品推荐
相关产品推荐

