我必须更改我的 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 用户目录之前一样。
在上面的命令中替换您的用户名。