WSL安装重启后启动失败,求助解决方法
WSL安装重启后启动失败,求助解决方法
嘿,我刚按照步骤安装了WSL,重启后运行却碰到了报错,先来看看我的操作过程和错误信息:
管理员权限下的PowerShell操作:
PS C:\Users\Marcel> wsl.exe --install安装完成重启后,查看WSL信息:
PS C:\Users\Marcel> wsl -v -l WSL version: 2.0.14.0 Kernel version: 5.15.133.1-1 WSLg version: 1.0.59 MSRDC version: 1.2.4677 Direct3D version: 1.611.1-81528511 DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows version: 10.0.19045.5011PS C:\Users\Marcel> wsl -l -v NAME STATE VERSION * docker-desktop-data Stopped 2 Ubuntu Stopped 2直接运行
wsl时的报错:<3>WSL (11) ERROR: CreateProcessParseCommon:708: Failed to translate C:\Users\Marcel <3>WSL (11) ERROR: CreateProcessParseCommon:754: getpwuid(0) failed 2 <3>WSL (11) ERROR: UtilTranslatePathList:2866: Failed to translate ...
针对这些错误,我整理了几个可行的解决办法,你可以挨个试试:
优先尝试重置默认用户身份
报错里的getpwuid(0) failed是典型的用户身份映射问题,你可以先以root身份进入Ubuntu,然后重置默认用户的shell设置:wsl -d Ubuntu -u root进入Ubuntu的root终端后,执行下面的命令(把
Marcel换成你的实际用户名):usermod --shell /bin/bash Marcel exit之后再直接输入
wsl,应该就能正常进入Ubuntu环境了。检查用户目录权限
错误里提到的路径转换失败,大概率是因为你的Windows用户目录(C:\Users\Marcel)权限异常。右键点击该文件夹,选择「属性」-「安全」,确认当前登录用户拥有「完全控制」的权限;如果权限有问题,可以点击「高级」按钮,选择「重置所有子对象权限并启用继承」,修复权限后重启WSL再试。更新WSL到最新版本
虽然你的WSL版本不算旧,但微软一直在修复WSL的各种bug,手动更新试试:wsl --update更新完成后,先关闭所有WSL实例:
wsl --shutdown然后再启动WSL,看是否解决问题。
极端情况:重新注册Ubuntu发行版
如果上面的方法都没用,那可以尝试注销当前的Ubuntu发行版,重新安装(注意:这个操作会清除Ubuntu里的所有数据,记得先备份重要文件):wsl --unregister Ubuntu wsl --install -d Ubuntu
备注:内容来源于stack exchange,提问作者Marcel




