之前使用 Win7 系统时, 总是习惯在安装系统阶段就把用户文件夹设置在系统盘以外的盘符上.
改用 Win10 后, 不知道是无法按照 Win7 的方法操作还是自己安装时没去修改, 反正就照着默认的步骤装完了系统.
最近发现系统盘空间越来越小, 用硬盘文件扫描工具一查, 发现用户文件夹占了很大一部分空间.
于是便决定来一次用户文件夹迁移.
安装完成并已投入使用的 Windows 系统, 想实现用户文件夹的迁移, 确实会存在一定难度.
所以做一下操作过程中遇到的问题, 以供需要的朋友参考.
操作步骤可以参考站内文章, 应该会有不少.
我看的是这篇
Win7/Win10移动用户文件夹(C:\Users)移到非系统盘(如D:)
- 问题1 - robocopy 时频繁遇到 系统无法访问、文件被占用问题
虽然也是按照参考文章中的操作来的, Administrator 账号之前也没使用过, 但是在 robocopy 操作时, 总是会有一些文件提示 "系统无法访问" 或者 "文件被占用"
我遇到的有如
c:\Users\MSSQLFDLauncher\NTUSER.DAT
c:\Users\default\AppData\Local\Microsoft\WindowsApps\...
c:\Users\default\AppData\Local\Packages\...\..cache
之类
首先, 在遇到这种报错后, 我先尝试在 robocopy 时使用 /XD 参数来跳过这些问题路径的处理, 但是这么做之后还是会存在错误;
之后, 尝试在 winpe 环境下进行 robocopy 操作, 这里本人的 winpe 在打开 cmd 之后, 没有 robocopy 命令,
所以选择找到原系统的 robocopy , 使用绝对路径的方式来执行
但是即使是在 winpe 下, 上文提到的那个 Packages 文件夹还是会报错, 所以还是需要 /XD 参数来跳过它
同时, 我也将它压缩了一份, 备份至其它盘, 以备不测.
- 问题2 - rmdir 时提示 "目录不是空的"
这个问题其实是我自己疏忽了, 电脑使用了 OneDrive 来进行文件同步, 恰好它的同步文件夹放在用户文件夹下面
所以这个文件夹被保护起来, 在 winpe 下也没法删除, 发现问题后我尝试切换回原来的系统去对它进行解绑操作, 然而用户文件夹因为我已经使用了 rmdir , 已经删除了部分文件, 所以系统一直进不去
最后无奈, 只能在 winpe 环境下将 robocopy 拷贝的用户文件夹再拷贝回去, 才得以进入原系统进行了解绑操作.
总结
1. 迁移前先确认一下自己的用户文件夹有没有涉及网络同步的文件夹, 其实主要就是保证之后 robocopy 和 rmdir 时不会报错
2. 在本系统中操作无法成功时, 考虑使用 winpe
3. winpe 环境下, 你还是可以使用本系统的 命令 跟 文件 的, 虽然有些可能会不可用
4. 如果想迁移用户文件夹, 越早处理越方便!!!