Skip to content

Commit

Permalink
Add instruction for changing user folder name.
Browse files Browse the repository at this point in the history
  • Loading branch information
Wenti-D committed Jun 9, 2024
1 parent 1dbbef7 commit 1c54f53
Show file tree
Hide file tree
Showing 8 changed files with 85 additions and 5 deletions.
90 changes: 85 additions & 5 deletions content/user-and-ms-account.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ type: docs
本章我们介绍 Windows 系统中的「用户」概念,以及微软账号的相关事项。看完这一部分,你或许可以找到这些问题的答案:

- 为什么我自己的电脑还有「用户」?
- 什么是微软账号(Microsoft 账户[^1])?我为什么被要求注册 / 登录微软账号?
- 什么是微软账号(Microsoft 账户)?我为什么被要求注册 / 登录微软账号?
-[基本维护和安全防护]({{<ref "basic-maintenance.md">}}) 中提到的「UAC 弹窗」和「以管理员身份运行」究竟是什么?
- 登录微软账号有什么好处?
- 要是我想改掉自己用户文件夹的名称该怎么做?

{{< /hint >}}

「用户」的概念是现代计算机操作系统的一个重要组成部分。尽管在今天,绝大多数电脑都仅为个人使用,「多用户」的理念似乎正渐渐模糊,但我们依然有必要了解这套机制的运作过程。
「用户」的概念是现代计算机操作系统的一个重要组成部分。尽管在今天,绝大多数电脑都仅为个人使用,「多用户」的理念似乎正渐渐模糊,但我们依然有必要了解这套机制的运作过程。[^1]

## 「用户」概念的产生

Expand Down Expand Up @@ -85,7 +86,7 @@ type: docs

可是,我们作为普通用户,从来没见过那 48 位长的「密钥」的真面目啊。这时,如果你使用过微软帐号来登录系统,那么你不必担心找不到这个密钥,微软会自动帮你把它备份到云端。你只需要打开 [https://account.microsoft.com/devices/recoverykey](https://account.microsoft.com/devices/recoverykey) 这个链接,按提示登录微软帐号,即可找到自己设备的 48 位密钥。~~虽然但是,谁愿意手打 48 位密钥啊。~~

![Bitlocker_Unfinished](user-and-ms-account/Bitlocker_Unfinished.png)
![Bitlocker_Unfinished](user-and-ms-account/Bitlocker_Unfinished.png#center)

如果你在新机配置时没有登录微软账号,电脑上的设备加密可能会处于「还差最后一块拼图」的状态,此时的磁盘图标会出现上图那样的黄色警告标志。而打开【设置】→【更新和安全】→【设备加密】,则会看到「你需要 Microsoft 帐户才能完成此设备的加密」的警告信息。

Expand All @@ -95,6 +96,84 @@ type: docs

**所以,如果你的电脑启用了设备加密,请务必将本地帐户连接到微软帐号!**

## 更改用户文件夹名 *

众……可能不所周知,部分软件(尤其是国外软件)无法正确处理带有中文等字符的路径,导致当账户名存在中文等字符时无法正常工作。或者,你想改掉当初直接登录微软账户留下来的难看用户文件夹名。但是,即便你在【控制面板】→【用户帐户】中改掉你的账户名称,也不会改变账户建立之初就确定下来的用户文件夹名,此时,我们需要额外的操作来更改用户文件夹名。

![Unchanged User Folder](user-and-ms-account/Unchanged_User_Folder.png#center)

在着手操作之前。请**一定确保电脑上没有在运行或自动运行的任何云存储服务**(包括但不限于 OneDrive、iCloud、百度网盘等),如果有,请预先停止自动同步或关闭自动启动。

接下来,开始操作!

### 获取当前用户的 SID

SID,即「安全标识符」(security identifier),用于在操作系统中唯一地标识安全主体或安全组。所谓「安全主体」和「安全组」包括了用户、组和计算机账户,换言之,SID 就是操作系统给这台电脑上的所有用户派发的「身份证」,靠着这个「身份证」,操作系统才能识别用户、准许用户访问自己的资源。

既然我们想改变自己用户的信息,那么很显然记下当前用户的 SID 是非常有必要的。按下 `Windows` + `X`,选择【终端】或【PowerShell】,输入 `whoami /user`,回车,即可看到当前用户的 SID。SID 是随机生成的,所以要是看到和下图一样的,不妨去买张彩票?
![Get_SID](user-and-ms-account/Get_SID.png)

### 新建一个管理员账户

转到设置 →【帐户】→【其他用户】,点击【添加帐户】,在弹出的窗口中依次点击【我没有这个人的登录信息】【同意并继续】【添加一个没有 Microsoft 帐户的用户】,然后输入你想要的用户名。
![New User](user-and-ms-account/New_User.png#center)

默认情形下,新建的用户会是「标准用户」,即没有管理员权限,所以接下来我们要把它改成管理员用户。点击用户列表中刚刚新建的用户,点击【更改帐户类型】,改成「管理员」即可。
![Change User Type](user-and-ms-account/Change_User_Type.png#center)

### 在新管理员账户下操作原账户的文件夹

注销(事实上是登出)当前账户,切换到新的管理员账户登录。打开任务管理器,切换到【用户】选项卡,**确保那里面只显示当前登录的账户**,若原来的账户还在,则需要重新登回去,确保注销。
![User In Tskmgr](user-and-ms-account/Users_In_Tskmgr.png#center)

确定只有新账户后,打开资源管理器,转到 `C:\用户\` 下,更改原来的账户文件夹名称为你想要的名字。好,我们有了一大进步!
![Change_User_Folder_Name](user-and-ms-account/Change_User_Folder_Name.png#center)

### 修改注册表以匹配新名字

{{< hint danger>}}

**警告**:这一步需要非常细心的操作,一定不能出错!

{{< /hint >}}

按下 `Windows` + `R`,输入 `regedit`,确定,打开注册表编辑器,转到以下地址(你也可以把这一行复制粘贴到注册表编辑器的地址栏去):

```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
```

接下来是当初记下的 SID 的用武之地了,在左侧 `ProfileList` 文件夹下找到第 1 步记下的 SID,点进去,可见右侧 `ProfileImagePath` 一项正是你原来的用户文件夹路径,**先记下来,下一步要用**。将它的尾部你原来用户文件夹名的部分改成新文件夹名即可。
![Change Reg](user-and-ms-account/Change_Reg.png)

### 建立新旧用户文件夹间的符号链接

{{< hint danger>}}

**警告**:这一步也是重中之重,一定不能出错!

{{< /hint >}}

符号链接相当于通用的「快捷方式」,访问符号链接就相当于访问它指向的目标,欲了解更多,可以阅读 [成为空间管理大师]({{<ref "manage-storage.md#影分身文件链接">}}) 一章。所以,建立符号链接的目的就是让那些已有的软件在照旧访问原来的用户文件夹时能够访问到修改后的位置。

按下 `Windows + X`,点选【终端管理员】或【PowerShell(管理员)】等类似选项,用管理员权限来启动命令窗口。输入 `cmd` 进入命令提示符[^4],输入
```
mklink /d <旧用户文件夹路径> <新用户文件夹路径>
```
譬如在本节插图中的情形下,就输入
```
mklink /d C:\Users\Windy C:\Users\Ventus
```
回车,你就可以在 `C:\用户\` 下看到符号链接了。如果它提示「已存在」,那肯定是你忘记重命名了。

### 尾声

至此,我们要做的工作已经尽数完成,可以继续使用原本的账户了。虽然可能有部分软件中仍然显示着曾经的用户文件夹路径,但不必担心,我们不是建立了符号链接吗?脑海中「翻译」一下就好啦。

不过,仍然有一些事情可能需要我们处理。如果你照 [文件与文件管理]({{<ref "file-and-file-management.md#更改用户文件夹的存储位置-">}}) 中更改了用户文件夹的存储位置,那么,你可能会发现自己的文件不见了,这是因为系统没有为新的用户文件夹路径记录存储位置。虽说文件还在之前改过的存储位置那里放着,但还是需要重新操作一遍更改。

~~以及,你没法建立一个与原用户相同名称的新用户了。~~

## 练习

1. 查看自己的用户名,检查自己是以本地帐户登录的还是以微软帐号登录的。
Expand All @@ -103,5 +182,6 @@ type: docs


[^1]: 注意,由于微软的疏忽,Windows 中多用「帐户」一词,然而正确的写法应是「账户」,但本文引用系统中的原始文本时,为忠于原文,未作更改。
[^2]: 如果你在第一次开机时直接登录了微软帐号,那么系统会先用你的微软帐号的前 5 位作为用户名新建一个本地帐户~~,然后你就会发现一个巨难看的本地用户名~~,然后迅速将它连接到你的微软帐号(参见后文)。整个过程对你来说完全无感。
[^3]: 本地存储的用户名是不会因为绑定到微软帐号而改变的。即,绑定前后,打开 `C:\用户\` 看到的文件夹名字是一样的。
[^2]: 如果你在第一次开机时直接登录了微软帐号,那么系统会先用你的微软帐号的前 5 位作为用户名新建一个本地帐户 ~~,然后你就会发现一个巨难看的本地用户名~~,然后迅速将它连接到你的微软帐号(参见后文)。整个过程对你来说完全无感。
[^3]: 本地存储的用户名是不会因为绑定到微软帐号而改变的。即,绑定前后,打开 `C:\用户\` 看到的文件夹名字是一样的。
[^4]: 为什么不直接用 Powershell 呢?详见 [成为空间管理大师]({{<ref "manage-storage.md#影分身文件链接">}}) 一章。
Binary file added content/user-and-ms-account/Change_Reg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/user-and-ms-account/Change_User_Type.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/user-and-ms-account/Get_SID.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/user-and-ms-account/New_User.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/user-and-ms-account/Users_In_Tskmgr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 1c54f53

Please sign in to comment.