改变 Windows 用户文件夹默认路径 (C:/Users)

本贴最后更新于 1064 天前,其中的信息可能已经沧海桑田

参考文章

windows 默认的总用户文件夹是 C:\Users ,许多默认文件夹都会放在这里:

  • 文档、桌面、下载、图片、视频等文件夹都默认在这里,这些文件夹倒是可以改变位置
  • AppData 文件夹默认在用户根目录下,存储了大部分软件的数据、配置,无法被改变位置
  • .config.ssh.configscoop 等配置目录也在用户根目录下,无法改变位置
  • 许多软件的默认数据位置,例如:
    • VMware 新建虚拟机的默认目录 VirtualBox VMs 也是在用户根目录下,虽然可以改变位置,但每次新建虚拟机都要手动指定目录,也麻烦

image.png

上面这些目录会导致 C 盘占用很大,即使其中有部分可以手动指派其它路径,但是每次指定都很麻烦,重装系统时候备份也不方便(用户目录里有许多细碎的小文件,备份非常慢),还不如将用户目录迁出 C 盘,所有软件都用默认路径,多省事。

另外,修改了用户路径后,当安装软件只为用户安装时,默认的安装路径也会到你的用户目录所在盘,大大节省了 C 盘空间:

image.png

image.png

下面就介绍了如何将 Windows 的默认用户路径修改到非系统盘。

安装 win10 的时候修改默认用户路径

1. 安装 Win10

当 windows 连接到网络的时候有时 Sysprep 会失败,所以建议在进入 Audit Mode 之前,全程关闭网络连接

安装上 windows,重启电脑之后,当进入区域选择界面时,按下 Ctrl Shift F3 ,这时 windows 会重启,进入 Audit Mode,然后显示一个 System Preparation Tool,将它关闭。

2014100121h0857.png

2. 新建一个 unattended answer file

现在你就可以将电脑连接到网络了。

接下来我们要使用 System Preparation Tool (Sysprep) 工具来设置用户路径。这个工具会执行一个 xml 文件中的配置(也就是 unattended answer file)

我们现在只需要一个非常简单的 answer file,只需包含以下内容:

  • windows 的版本(32 或 64 bit)
  • 用户文件夹的新路径(例如 D:/Users)

现在打开 Notepad,将下列代码粘贴进去:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
	<settings pass="oobeSystem">
		<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
			<FolderLocations>
				<ProfilesDirectory>D:\Users</ProfilesDirectory>
			</FolderLocations>
		</component>
	</settings>
</unattend>

请按照需要修改上述代码。

警告,继续操作之前,先读一下这个:

Windows 以字母来标识盘符,但是当安装了 windows 重启之后,本来你想把用户目录安装到 d 盘,但这个盘符可能会发生改变,比如变成了 e 盘,这个时候就会失败。

所以为了保证你的 d 盘盘符不变,你需要给他手动设置一下盘符,在 Audit Mode 你可以使用磁盘管理工具,先手动的将 d 盘改成 w 盘,再把它改回 d 盘。

将这个 xml 文件保存到磁盘根目录(不能是 C 盘),例如我把它保存到了:D:\relocate.xml

3. 运行 Sysprep

以管理员模式运行 cmd ,首先,确保 WMP Network Sharing Service 已停止运行:

net stop wmpnetworksvc

然后运行然下后列运命:

%windir%\system32\sysprep\sysprep.exe /oobe /reboot /unattend:d:\relocate.xml

上述命令告诉系统从 Windows\System32\Sysprep 运行 Sysprep,执行 D:/relocate.xml 中的指令,为 OOBE(the firlst boot of newly installed Windows) 重启准备系统,最后重启。

2014100121h2222.png

然后就继续安装配置系统,之后你所有的新用户都会在 D:/Users 这个目录下新建。

在已经安装好的 windows 系统上迁移用户目录

警告:执行这个操作之前,一定要先创建一个系统映像,做好备份。

对一个 OEM 预先安装的 Windows 使用 Sysprep 是非常危险的。电脑厂商可能有他们自己的 unattended answer file,这样可能就会忽略掉你的 unattended file。在这个过程中可能会出各种错误,所以不建议做这个。

如果中途出错了,你的备份文件可以帮助你恢复。

这个操作非常有可能导致你的电脑恢复出厂设置。

视频教程

在 Win10 1703 或更高版本上,你无需像上述视频那样禁用掉现有用户,因为禁用现有用户可能会让你无法登录 windows,进而需要重装。

所以 1703 或者更高版本,请不要禁用已存在的用户!!!

1. 新建一个 unattended answer file

按照上述所讲的步骤,新建一个 unattended answer file

2. 运行 Sysprep

按上述的第三个步骤运行 Sysprep

3. OOBE

虽然你已经安装了 Win10,但是在 Sysprep 运行之后 OOBE 仍然会运行,这意味着你的电脑会经历初始化程序。

这里有两点需要注意:

  • 尽管 windows 要求你输入产品密钥,但是你不需要去输入,单击跳过就行了
  • 你之前的账户还会存在,但是 OOBE 会要求你新建一个用户,如果你新建的这个用户和已存在的用户名字相同,那就会发生错误。
  • 你只需要新建一个随意的账户,之后,再把他删掉就可以了

迁移一年后回顾

写下这个帖子,也是为了我自己进行迁移操作。自从将 Users 文件夹迁移到 D 盘后,现如今已过去近一年。在此期间,我所有的软件操作基本都是用的默认目录:

  • 安装软件默认安装到以下路径:
    • C:/Program Files
    • D:/Users/Haujet/Appdata/Local/Programes/
  • 软件的用户数据都是默认在用户文件夹

现在我的 D:/Users 文件夹占用大小为 331GB,这是它的占用图:

image.png

其中,除了本身很好迁移出 Users 目录的 桌面、图片、音乐、视频、下载 文件夹之外,还有这些依附于 Users 目录:

  • AppData(46.5GB)
    • Local(32.9GB)
    • Roaming(13.5GB)
  • .vscode(2.3GB)

这样的目录只依附于 Users 目录,只有将 Users 目录迁移出 C 盘,才能让 C 盘解放出这些空间。

  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    216 引用 • 463 回帖
5 操作
HaujetZhao 在 2021-08-27 15:54:19 更新了该帖
HaujetZhao 在 2021-08-25 21:50:50 更新了该帖
HaujetZhao 在 2020-12-01 23:46:36 更新了该帖
HaujetZhao 在 2020-09-20 14:54:51 更新了该帖 HaujetZhao 在 2020-09-20 13:29:20 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...