You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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.5011
PS 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

火山引擎 最新活动