有时 Windows 电脑的用户名在安装系统时被设置成了中文的,导致用户目录出现了中文(如 C:\Users\桐人
),结果又要用一些对中文的支持很烂的程序(点名批评 Anaconda 系列,到了2202年还弄不明白那几个b脚本的中文支持😅)。这种情况下我的通常推荐是重装,但有时我们的电脑里东西太多了,重装很不方便。因此就想要去修改用户目录名。
然而,网上修改用户名的方法质量参差不齐,有的甚至有相当冒险的成分(如直接在要改名的用户登录时进行操作),加上微软在一些特殊情况下的奇特处理(不知道啥情况下会把整个目录重置或删除掉),酿成了许多惨案。因此我在这里分享一下我多次测试成功,保证安全(但不保证完美)的方案。
提示:若你电脑上的环境过于复杂(如有大量包含用户目录上路径的配置文件等),那还是建议重装,否则可能会出一些暗病。同时建议备份用户目录下极为重要的文件(如.ssh文件夹等)。完成后,进行下面的步骤:
- 启用 Administrator 用户:打开管理员模式下的 Windows PowerShell,输入:
Enable-LocalUser Administrator
注销当前用户,登录 Administrator 用户。注意不是切换用户,需要完全注销。重启,登录 Administrator 用户。经验表明经常有注销不干净最后出锅的情况。登录之后,必须进入任务管理器-用户,如果要修改的用户还处于登录状态(还算常见),则需要在这里注销掉。- 在 Administrator 用户打开 Windows PowerShell:
- 先输入
Rename-LocalUser -Name 旧用户名 -NewName 新用户名
- 再输入
Get-LocalUser | Select-Object Name, Sid
- 记录下要修改用户的 SID
- 先输入
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\
,在下面找到想改的 SID,在右边找到 ProfileImagePath
这个键。将这个键里中文的那个目录名改成新用户的用户名- 先 Edit - Find,选 Entire Registry,搜索旧的用户目录如(
C:\Users\旧用户名
)
REG_BINARY
。在结果页中检查有没有不能改的东西,对于这些要右击 - Remove from list(这里因为虚拟机系统太干净了没有结果,随便截图看看)
C:\Users\旧用户名
”改成“C:\Users\新用户名
”HKEY_CURRENT_USER\
Disable-LocalUser Administrator
禁用 Administrator 用户。这样就修改完成了。
Comments | 7 条评论
博主 Simon
好好好好好
博主 胖头鱼煲汤好好次
将“C:Users旧用户名”改成“C:Users新用户名”
这可能只是其中一种模板,还有更多形式的,比如:
C:/Users/旧用户名
C:\Users\旧用户名
C:_Users_旧用户名
等等,这里只是列举了几种,我这目前发现的,至少还有其他20种,有些手动改比较难。
博主 胖头鱼煲汤好好次
@胖头鱼煲汤好好次 https://i0.hdslb.com/bfs/note/8ba273dff2ed92ca11168f32f291b47e20864a4e.png@690w_!web-note.avif
博主 胖头鱼煲汤好好次
@胖头鱼煲汤好好次 这次图片能正常显示了吧。。。
https://i0.hdslb.com/bfs/note/8ba273dff2ed92ca11168f32f291b47e20864a4e.png
博主 茶栗
@胖头鱼煲汤好好次 怪 没有显示出来 我看看
博主 茶栗
@茶栗 再试试:
博主 茶栗
@胖头鱼煲汤好好次 大概是被 b 站的图床 403 了
总之这个问题确实是存在的,恐怕干搜是搜不完的,只能尽可能替换了