WIN 移动 C盘 User 目录

问题描述

C 盘(系统盘)爆红了,检查了一下 C:\Users\ 我的用户名 快 100G 了,除了正常的 下载(Downloads)、文档(Documents)、图片(Pictures)等等几个目录外,还有一个隐藏目录 AppData,将近 70G 的一个目录。C:\Users\用户名\AppData 里面一般有三个文件夹,分别是 Local,LocalLow,Roaming,简单地来说,都是用来存放软件的配置文件和临时文件的,里面有很多以软件名称或软件公司命名的文件夹,还有用户帐户的配置文件。随着系统使用时间的增加和安装软件的增多,AppData 占用的空间会越来越大。

思考: 如何才能把 C:\Users 整个目录放到其他盘。

解决过程

C:\Users\ 目录下有什么

  1. 每个用户的 文档、桌面、下载、图片、视频 等文件夹(此类文件夹可以改变位置)
  2. AppData 目录默认在用户根目录下,存储了大部分软件的数据、配置(无法移动位置)
  3. .config、.ssh、.config、scoop 等配置(无法移动位置)
  4. 许多软件的默认数据位置(部分软件可以修改)

移动目录

文档、桌面、下载、图片、视频 等文件夹查看文件夹位置属性,即可根据需要移动默认位置,但是此办法无法解决 AppData 和其他配置目录的问题。这类方法显然不是我想要的,我的终极目标是将,整个 C\Users 目录移动到其他盘。下面分新安装系统和已安装系统两种情况介绍解决办法:

一、安装 win10/11 系统时修改默认用户路径

1、安装 Win10/11

当 windows 连接到网络的时候有时 Sysprep 会失败,所以建议全程关闭网络连接安装系统

安装系统的方法不多做介绍。安装系统重启后停留在选择地区的配置界面。

2、进入 Audit Mode

在系统配置选择地区的界面,按下 Ctrl+Shift+F3,这时 windows 会重启,进入 Audit Mode,然后显示一个 System Preparation Tool,点击取消,将它关闭。

image.png

3、新建 relocate.xml

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

接下来我们要使用 System Preparation Tool (Sysprep) 工具来设置用户路径。这个工具会执行一个 xml 文件中的配置(也就是 relocate.xml)
我们现在只需要一个非常简单的 xml 配置文件,只需包含以下内容:

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

新建 relocate.xml,并使用记事本打开

警告,在操作之前,请先读一下这个:
1、Windows 以字母来标识盘符,但是当安装了 windows 重启之后,本来你想把用户目录安装到 d 盘,但这个盘符可能会发生改变,比如变成了 e 盘,这个时候就会失败,所以一定要确定好盘符。
2、xml 文件保存到磁盘根目录(不能是 C 盘),例如我把它保存到了:D:\relocate.xml
3、部分计算机在 Audit Mode 下因为缺少驱动,键盘无法使用,可以借助其他计算机编写,并拷贝,也可以完全用鼠标操作完成,看个人能力。

将以下代码粘贴到配置文件中

<?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>

记得修改 User 目录位置

4、运行 Sysprep

以管理员身份运行 cmd,首先,关闭 WMP Network Sharing Service 服务:

net stop wmpnetworksvc

然后运行 Sysprep

%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) 重启准备系统,最后重启。

5、完成

完成上述操作后,自动重启进入系统,检查 User 目录已经移动到了 D 盘

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

警告:操作之前,一定要先创建一个系统映像,做好备份。
对一个 OEM 预先安装的 Windows 使用 Sysprep 是非常危险的。电脑厂商可能有他们自己的 unattended answer file,这样可能就会忽略掉你的 unattended file。在这个过程中可能会出各种错误,所以不建议操作。
如果中途出错了,你的备份文件可以帮助你恢复。
这个操作非常有可能导致你的电脑恢复出厂设置。
警告****1703 或者更高版本,请不要禁用已存在的用户!!!
在 Win10 1703 或更高版本上,千万不要禁用现有用户,因为禁用现有用户可能会让你无法登录 Windows,进而需要重装。

1、新建 relocate.xml

按照上面说过的步骤新建一个 relocate.xml 文件

2、运行 Sysprep

按照上面说过的步骤运行 Sysprep

3、OOBE

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

这里有两点需要注意:

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