Windows 10 用户名更改后 WSL 重置?

Windows 10 用户名更改后 WSL 重置?

我必须更改我的 Windows 10 用户名(本地帐户),以从用户文件夹中删除空格(“用户名”改为“用户名”。我按照此问答。我在重命名的用户帐户中正在运行 WSL 2 的安装。

然而,在更改用户名后,我被要求在 Ubuntu 终端上再次设置用户名和密码。我能够设置之前在 WSL 中使用的用户名,并很快发现这似乎是 WSL 的全新安装以及所有的先前的信息消失了例如 ssh-keys。

我读到 Windows 10 以每个用户为基础管理 WSL。因此,也许用户“用户名”的 WSL 仍然存在,并且配置未自动更新。我在哪里可以找到 Windows 用户帐户和 WSL 实例之间的映射配置,有没有办法更改这些配置?

答案1

这个问题在 Bug #3720:重命名用户配置文件文件夹会破坏 WSL,官方的答案是:

只是为了确保我遵循的正确性,在修改 ProfileImagePath 注册表项之前,您没有遇到问题?您粘贴的链接没有提到 Windows 10,所以我认为它不受支持。

我自己尝试了一下,发现修改此值后,各种事情都会出错(包括无法再安装商店应用以及登录时收到错误消息)。因此,我认为对此无能为力。

尽管微软不打算修复此问题,但是有用户提出了一种解决方法:

  • 已安装LxRun离线

  •   lxrunoffline rg -n 'Debian' -d C:\Users\riolly\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
    

    再次注册我的发行版;此时,我只能以 root 身份登录;

  •   debian.exe config --default-user $my_existing_debian_user
    

    并且能够以普通用户身份登录,就像重命名我的 Windows 用户目录之前一样。

在上面的命令中替换您的用户名。

相关内容