我尝试按照说明在 Windows 8 中移动“用户”文件夹这里和这里。
但是当我尝试在 Windows 安装磁盘修复模式下使用“xcopy”复制文件夹时,复制一些文件后,出现“内存不足”的错误。出现错误的文件如下:C:\Users\Bilal\Application Data\Application Data\Application Data.........Application Data\Application Data.....
目录中的此类目录有什么意义呢?
我也尝试使用 Mini Windows XP 复制它们,但问题仍然存在...还尝试使用 Parted Magic Live CD 复制...但仍然...
那么现在,我该如何移动它们?另一个问题是。使用 Linux 移动此类/系统文件是个好主意吗?它对权限有什么影响吗?
答案1
此问题是由 Windows Vista 及更高版本的向后兼容性引起的。在这些系统中,一些在 Windows XP 中具有“已知”名称的文件夹使用NTFS 目录连接点。
这种映射的一个例子是:
\Documents and Settings\<username>\Application Data
被映射到\Users\<username>\AppData\Roaming
。
通常这种机制应该是透明的,但不幸的是,您的卷上出现了问题并创建了递归连接。
为了复制数据,您必须使用能够理解 NTFS 目录连接点并可以在复制时跳过它们的程序,其中一个这样的程序是微软 Robocopy。
您感兴趣的参数是,/XJ :: eXclude Junction points. (normally included by default).
或者/XJD :: eXclude Junction points for Directories.
如果您想更细致,并且只跳过目录连接。
回答你的第二个问题,在 Linux 下读取 NTFS 是一项相当安全的操作。另一方面,保留 NTFS ACL 并不是一件容易的事。
答案2
真正起作用的是 xcopy /b 开关。虽然 robocopy /xj 确实排除了连接点,但却给 Metro Apps 带来了问题。
我发现 robocopy /xj = EXCLUDE LINKS 而 xcopy /b = COPY LINK ITSELF 而不是复制目标
现在我不知道是什么导致了 Metro Apps 出现问题、权限问题或完全排除链接。但 xcopy /b /e /k /o /h 是最终的解决方案。:)