我们正在运行多个Windows Server 2008 R2域控制器。 sysvol的复制是由NTFRS完成的。
昨天,我们的主DC分享了SYSVOL Share的“JRNL_WRAP_ERROR” 。 我在C:\上运行了一个chkdsk,但没有显示任何问题。 在此之后,我通过停止ntfrs.exe启动非权威性还原,在启动时HKLM / SYSTEM / CurrentControlSet / services / Ntfrs / Parameters / Backup / Restore / Process中将 BurFlags设置为“D2”,然后重新启动ntrfs.exe。
虽然这似乎适用于C:\ WINDOWS \ SYSVOL \ domain \ Policies ,但由于某些原因,不会从其他DC中提取C:\ Windows \ Sysvol \ domain \脚本 。 脚本文件夹在非授权还原之后有几个目录,并且确实应该在那里。 但是,它并不包含所有这些,它包含的是不完整的。
我也重命名为C:\ Windows \ ntrfs \ jet,并且为了排除与caching相关的问题而再次启动了非权威性还原,但是也没有成功。
重新启动非权威性还原后,我还注意到脚本目录奇怪地没有出现在C:\ Windows \ SYSVOL \ domain \ NtFrs_PreExisting ___ See_EventLog中 ,而策略目录没有。 我认为它只是将C:\ Windows \ SYSVOL \ domain \移动到该文件夹,但似乎并不那么简单。 它留下脚本的事实使我怀疑是否有一些数据库跟踪C:\ Windows \ SYSVOL \ domain \中的内容,以便它只移动它实际知道的内容。
事件日志并没有多大帮助,它说SYSVOL在非授权恢复后成功启动。
编辑:现在,我们通过在受影响的服务器上重新安装AD摆脱了这个问题。 删除目录后清除,C:\ Windows \ Sysvol \域\脚本仍然由于某种原因 – perhapst权限问题。 然后,我们明确删除了C:\ WINDOWS \ SYSVOL并重新安装了AD。
这个问题在另一个DC上再次发生。 事实certificate,一些文件在C:\ Windows \ Sysvol \ domain \ scripts文件夹中 – 一些exe文件正在运行。 NTFRs.exe无法完成其任务。
ntrfsutl对debugging这个问题很有用。 http://support.microsoft.com/kb/822300/en-us是一个有用的。 我使用ntrfsutl inlog来查看正在传输的文件的状态。 对于我的情况,脚本文件夹始终处于IBCO_INSTALL_REN_RETRY状态。 然后我find所有在脚本目录(及其子目录)中保存锁的文件。 那些是在客户端计算机上运行的一些程序(但是通过NETLOGON共享打开)。
您可以使用SysInternal Tools中的handles.exe来识别打开的文件句柄。 在我的情况下,一些文件由“系统”进程打开。 这些实际上是通过客户端计算机的networking共享打开的。 我通过compmgmt.mscclosures了他们的句柄。
所有打开的句柄closures后,复制终于成功了。