robocopy 以管理员身份 ntuser.dat(不是来自正在运行的操作系统分区)访问被拒绝

robocopy 以管理员身份 ntuser.dat(不是来自正在运行的操作系统分区)访问被拒绝
Robocopy.exe G:\ F:\ /copyall /e /DCOPY:DAT /v /sl

给出

2021/07/06 01:14:08 ERROR 32 (0x00000020) Copying File G:\Documents and Settings\Administrator\NTUSER.DAT
The process cannot access the file because it is being used by another process.

Waiting 30 seconds...

当前运行的 Windows 2012 位于 C:。

handle.exe|findstr -i "G:"为空(即没有打开的句柄)

我在 powershell 中以管理员身份运行。

我该怎么做才能复制整个分区(最好使用 Windows 实用程序)

答案1

使用卷影复制 (VSS)或使用 VSS 复制 F:驱动器的磁盘映像软件,而不是 Robocopy。

Data Hamster 解释如何将 Robocopy 与 VSS 结合使用复制无法通过其他方式访问的文件。

另一种方法是使用任何磁盘映像软件允许您浏览已保存映像中的文件。制作磁盘映像(无论如何,如果出现问题,这是一个必不可少的备份),浏览映像以查找文件,然后从该映像中复制。

由于注册表在 Windows 会话期间不断被写入,其内容可能随时更改,也许是在复制时。因此,Windows 会阻止访问某些系统文件直接地显然,它将 F: 上的那些文件作为注册表的一部分进行保护,尽管并未积极使用。

答案2

好的,事情是这样的。

为了向后兼容 Windows XP,仍然有一个交界处指向。连接C:\Documents and SettingsC:\Users不是符号链接。

该路径C:\Users是绝对路径,因此即使G:\Documents and Settings仍然指向C:\Users

在您的 Robocopy 命令行上,您指定了/SL但没有,因此 Robocopy 在遇到时/SJ会尝试复制文件。C:\UsersG:\Documents and Settings

所以只要添加/SJ就可以了。

相关内容