必须用mklink /j创建目录联结实现透明重定向:先robocopy完整复制C:\Users\用户名到D:\Users\用户名,再ren原文件夹为备份,最后mklink /j绑定路径,重启生效;注册表修改ProfileImagePath为D:\Users\用户名并预置icacls权限是替代方案。

您发现 C 盘因用户文件夹(如【C:\Users\用户名】)持续膨胀而频繁告警,且希望一次性将整个用户配置目录——包括桌面、文档、下载、AppData 隐藏数据、NTUSER.DAT 注册表配置文件等全部内容——完整迁移至 D 盘,而非仅移动个别子文件夹,就必须采用底层路径重定向方案。该操作直接影响系统对当前用户的识别与加载,不可逆风险高,需严格遵循物理迁移→注册表修正→符号链接绑定三步闭环。
用 mklink 创建目录联结实现透明重定向
这是唯一能真正“无损迁移整个用户文件夹”的方法:先将原始 C:\Users\用户名 完整复制到 D 盘,再通过符号链接让系统仍从 C:\Users\用户名 访问,但所有读写实际落在 D 盘。Windows 会完全感知不到路径变化,所有软件、系统服务、快捷方式均保持可用。
第一步:以管理员身份运行命令提示符。点击开始菜单 → 搜索“cmd” → 右键“命令提示符” → “以管理员身份运行”。
第二步:执行完整复制命令。输入以下命令并回车(将“用户名”替换为您的实际登录名):
robocopy "C:\Users\用户名" "D:\Users\用户名" /mir /xj /r:3 /w:5 /log:C:\temp\usercopy.log
这个命令会镜像复制全部内容,包含隐藏的 AppData 和 NTUSER.DAT;/xj 参数跳过连接点避免循环错误,/log 生成日志便于核查失败项。
第三步:复制完成后,重命名原文件夹防止冲突。在命令提示符中执行:
ren C:\Users\用户名 用户名_Backup
第四步:创建目录联结。执行:
【mklink /j "C:\Users\用户名" "D:\Users\用户名"】
注意:必须用 /j 参数(Junction),不能用 /d(符号链接),否则登录时可能触发权限拒绝或黑屏;引号不可省略,路径中含空格时尤其关键。
第五步:重启电脑。重启后,资源管理器地址栏输入 C:\Users\用户名 回车,应能正常打开且内容与原桌面/文档一致;右键属性查看位置,将显示为 D:\Users\用户名 的实际物理路径。
通过注册表修改 ProfileImagePath 根本性变更路径
此方法不依赖符号链接,而是直接告诉 Windows 系统:“这个用户的数据不在 C 盘了”。适用于需要彻底脱离 C:\Users 结构的场景,但要求迁移前必须确保 D 盘目标路径已存在且权限完整,否则登录时将黑屏或进入临时配置文件。
方法一:注册表路径修正
1. 按 Win + R 输入 regedit 回车,同意 UAC 提示。
2. 导航至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList。
3. 在该主键下逐个展开子项,查找右侧“ProfileImagePath”值中包含您用户名的项(例如 C:\Users\YourName)。
4. 双击 ProfileImagePath,将数值数据修改为 D:\Users\用户名(注意:路径末尾不加反斜杠,且 D:\Users\用户名 必须已存在、拥有完全控制权限)。
5. 关闭注册表编辑器,重启电脑。
方法二:权限预置(关键前置)
若未提前设置权限,重启后大概率登录失败。请在修改注册表前,用管理员权限执行:
icacls "D:\Users\用户名" /grant "%USERNAME%:(OI)(CI)F" /t
这条命令赋予当前用户对新路径的完全控制权,并递归应用到所有子项。漏掉这步,系统无法加载用户配置。
迁移前强制停止所有用户进程
无论采用哪种路径变更方式,都必须在复制前终止所有正在访问用户目录的进程,否则 robocopy 会跳过被占用的文件(如 NTUSER.DAT、AppData\Roaming\Microsoft\Windows\Recent),导致配置丢失。
① 按 Ctrl + Shift + Esc 打开任务管理器 → 切换到“详细信息”选项卡。
② 依次结束以下进程:【explorer.exe、dllhost.exe(全部实例)、OneDrive.exe、Teams.exe、WeChat.exe】。
③ 特别注意:如果正在运行 Outlook 或 Edge 并启用了配置同步,也建议一并结束,避免其后台线程锁住 AppData 子目录。
④ 确认无残留后,再执行 robocopy 命令。











