我可以 DIR 一个文件,但该文件不存在,但 DIR 它的目录,或与它位于同一目录中的文件,可以正常工作。
这是硬件问题还是软件问题?如果是硬件问题,是驱动器问题还是其他更严重的问题?
2013-06-13 9:35 C:\>dir E:\Shares\Users\Test\Desktop\XAV-1.htm
Volume in drive E is BKUP2013-1
Volume Serial Number is 1AEA-6007
Directory of E:\Shares\Users\Test\Desktop
File Not Found
然而:
2013-06-13 9:36 C:\>dir E:\Shares\Users\Test\Desktop
Volume in drive E is BKUP2013-1
Volume Serial Number is 1AEA-6007
Directory of E:\Shares\Users\Test\Desktop
2013-06-12 07:15 PM <DIR> .
2013-06-12 07:15 PM <DIR> ..
[snip]
2006-05-04 03:48 PM 1,232 Customer Files.lnk
2009-09-03 09:06 AM 767 Internet Explorer.lnk
2010-03-11 09:49 AM 104 My Computer.lnk
2004-01-02 04:50 PM 1,221 Reference Material.lnk
2011-11-18 05:08 PM 482 Shortcut to Downloads.lnk
2013-04-27 03:07 AM <DIR> Unused Desktop Shortcuts
2013-06-12 02:41 PM 2,710 XAV-1.htm
2011-01-10 03:31 PM 21,637,284 XP_EzTrends_1.0.3835.exe
11 File(s) 27,977,417 bytes
3 Dir(s) 670,902,140,928 bytes free
还有一个兄弟姐妹:
2013-06-13 9:36 C:\>dir E:\Shares\Users\Test\Desktop\XP_EzTrends_1.0.3835.exe
Volume in drive E is BKUP2013-1
Volume Serial Number is 1AEA-6007
Directory of E:\Shares\Users\Test\Desktop
2011-01-10 03:31 PM 21,637,284 XP_EzTrends_1.0.3835.exe
1 File(s) 21,637,284 bytes
0 Dir(s) 670,902,140,928 bytes free
此外,我可以毫无问题地打开 XAV-1.htm,并且它具有与 XP_EzTrends...exe 相同的 ACL 配置文件。
关于 ACL,如果我在“我的电脑”中右键单击 C: 或 E: 驱动器,然后点击“安全”,它们都会显示 SYSTEM 具有完全控制权。据我了解,这是指NT AUTHORITY\SYSTEM
。 更新:此外,ACL 与我们过去用于 E: 的旧驱动器大致相同,而 E: 现在对我们来说太小了。我将其插入并检查,如果有的话,ACL 对旧驱动器的限制更严格,用户只能读取。但是,对于系统、所有人和管理员,新旧驱动器都允许完全访问。(这可能太宽松了,但这更偏向于“它应该可以工作”。) 更新2:我打开了审核并检查了事件日志,就像 2008 年一样应该在安全日志中创建一个类别为 的事件Object Access
,但我的安全日志中没有这样的事件。我想知道脚注这里关于域策略的胜过在这里适用,即使这是在域控制器上。 更新 3:好的,我已设法Object Access
显示条目,方法是在域/域控制器策略区域中启用对象访问日志记录,此外还请求在特定文件夹上进行任何类型访问,包括所有人、我和系统。但是,运行备份不会生成任何条目,它们来自使用 MMC 插件。
更新 4:我修改了备份脚本,除了通常进行的随机统计抽样外,还手动逐字节验证桌面目录中的所有文件,并将驱动器重新格式化为 exFAT,这样每个文件都会从头开始复制。只有Success Audit
Object Access
当这些文件受到验证步骤的影响时,我才会获得条目。我现在正在两个驱动器中的第二个驱动器上尝试同样的事情,这是看起来更不稳定的驱动器,所以我们会看看它说了什么。
更新 5:奇怪的是,测试用户和系统用户在备份桌面目录时都有交替的Success Audit
条目。不过没有失败。同时,我正在观察 ROBOCOPY 的工作,它对大部分备份都没有遇到任何问题。现在它在每个文件上都失败了,从这个开始(最后一个成功的文件和前两个失败——从那时起它似乎成功和失败了):
\C\Rebuild\Apache\httpd-2.2.24-win32\Apache2\modules\mod_version.so
New File 11776 2013/02/25 20:09:27 C:\scheduled\res \C\Rebuild\Apache\httpd-2.2.24-win32\Apache2\modules\mod_vhost_alias.so
New Dir 4 C:\scheduled\res\C\Rebuild\Backup\
New File 14.7 m 2010/12/01 17:09:00 C:\scheduled\res \C\Rebuild\Backup\cbSetup.exe 2013/07/10 17:37:04 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\cbSetup.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 14.7 m 2010/12/01 17:09:00 C:\scheduled\res \C\Rebuild\Backup\cbSetup.exe 2013/07/10 17:37:06 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\cbSetup.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 14.7 m 2010/12/01 17:09:00 C:\scheduled\res \C\Rebuild\Backup\cbSetup.exe 2013/07/10 17:37:08 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\cbSetup.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 14.7 m 2010/12/01 17:09:00 C:\scheduled\res \C\Rebuild\Backup\cbSetup.exe 2013/07/10 17:37:09 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\cbSetup.exe The system cannot find the path specified.
ERROR: RETRY LIMIT EXCEEDED.
New File 2.0 m 2010/03/04 16:18:28 C:\scheduled\res \C\Rebuild\Backup\diffutils-2.8.7-1.exe 2013/07/10 17:37:10 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\diffutils-2.8.7-1.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 2.0 m 2010/03/04 16:18:28 C:\scheduled\res \C\Rebuild\Backup\diffutils-2.8.7-1.exe 2013/07/10 17:37:11 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\diffutils-2.8.7-1.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 2.0 m 2010/03/04 16:18:28 C:\scheduled\res \C\Rebuild\Backup\diffutils-2.8.7-1.exe 2013/07/10 17:37:12 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\diffutils-2.8.7-1.exe The system cannot find the path specified. Waiting 1 seconds... Retrying...
New File 2.0 m 2010/03/04 16:18:28 C:\scheduled\res \C\Rebuild\Backup\diffutils-2.8.7-1.exe 2013/07/10 17:37:13 ERROR 3 (0x00000003) Copying File C:\scheduled\res\C\Rebuild \Backup\diffutils-2.8.7-1.exe The system cannot find the path specified.
ERROR: RETRY LIMIT EXCEEDED.
但是:
2013-07-1017:45 C:\>dir C:\scheduled\res\C\Rebuild\Backup\cbSetup.ex
Volume in drive C has no label.
Volume Serial Number is 3C18-E114
Directory of C:\scheduled\res\C\Rebuild\Backup
2010-12-01 01:09 PM 15,492,608 cbSetup.exe
1 File(s) 15,492,608 bytes
0 Dir(s) 240,190,017,536 bytes free
2013-07-1017:45 C:\>dir C:\Rebuild\Backup\cbSetup.exe
Volume in drive C has no label.
Volume Serial Number is 3C18-E114
Directory of C:\Rebuild\Backup
2010-12-01 01:09 PM 15,492,608 cbSetup.exe
1 File(s) 15,492,608 bytes
0 Dir(s) 239,572,938,752 bytes free
2013-07-1017:46 C:\>
更新 6:更奇怪的是,它似乎确实复制了它本应放弃的文件,并带有一个奇怪的日期戳(它对同一目录中的兄弟文件也这样做了):
2013-07-1017:46 C:\>dir e:\IN\Rebuild\Backup\cbSetup.exe
Volume in drive E is BAERO2013-2
Volume Serial Number is 76F0-668E
Directory of e:\IN\Rebuild\Backup
1980-01-01 08:00 PM 15,492,608 cbSetup.exe
1 File(s) 15,492,608 bytes
0 Dir(s) 822,191,718,400 bytes free
2013-07-1018:05 C:\>
并且,对于那些我很确定没有出错的(现在已经超出了我在命令窗口中可以滚动回的范围),其中随机的一些的时间戳被弄乱了(ROBOCOPY 将其标记为不完整的方式):
2013-07-1018:05 C:\>dir e:\IN\Rebuild\Apache
Volume in drive E is BAERO2013-2
Volume Serial Number is 76F0-668E
Directory of e:\IN\Rebuild\Apache
2013-07-10 05:36 PM <DIR> .
2013-07-10 05:36 PM <DIR> ..
1980-01-01 08:00 PM 6,042,112 httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi
2013-07-10 05:36 PM 80 httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi.md5
1980-01-01 08:00 PM 6,085,632 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
2013-07-10 05:36 PM 76 httpd-2.2.17-win32-x86-openssl-0.9.8o.msi.md5
1980-01-01 08:00 PM 9,097,535 httpd-2.2.23-win32-ssl_0.9.8.zip
1980-01-01 08:00 PM 9,257,408 httpd-2.2.24-win32.zip
2012-11-06 05:23 AM 2,251 service-dependencies--unused.reg
2010-10-20 07:51 AM 2,410 services.bat
2013-05-28 06:57 AM 2,665 services-splittest.bat
2012-11-06 05:58 AM 2,448 services-upgradetest.bat
2013-07-10 05:36 PM <DIR> httpd-2.2.24-win32
10 File(s) 30,492,617 bytes
3 Dir(s) 821,313,273,856 bytes free
2013-07-1018:07 C:\>
然而,正如您所看到的,使用 cmp.exe 时,ROBOCOPY 备份的 C 卷影副本中的 C 文件和 ROBOCOPY 开始之前格式化的 E 文件逐字节相同:
2013-07-1018:13 C:\>c:\scheduled\res\cmp.exe --verbose c:\scheduled\res\C\Rebuild\Apache\httpd-2.2.24-win32.zip e:\IN\Rebuild\Apache\httpd-2.2.24-win32.zip
2013-07-1018:13 C:\>c:\scheduled\res\cmp.exe --verbose c:\Rebuild\Apache\httpd-2.2.24-win32.zip e:\IN\Rebuild\Apache\httpd-2.2.24-win32.zip
2013-07-1018:13 C:\>
更新 7: 现在我明白了一些文件正在通过The process cannot access the file because it is being used by another process.
,其他人则说The system cannot find the path specified.
。这两条消息似乎都是转移注意力的手段,因为我正在使用 /B 运行 ROBOCOPY,这意味着它以备份操作员的身份运行,并且应该可以访问所有本地文件,而这些文件就是本地文件。此外,我正在查看 Open Files MMC 管理单元,但它们没有。我甚至在它抱怨之后立即对其中一个“正在被另一个进程使用”的文件使用了 LockHunter,根据我的经验,LockHunter 从未失败过,但它却说没有任何东西在使用它。我已经踢掉了所有用户,我是唯一登录的人,而且我当然不会像这样接触随机的文件组。我已经禁用了任务计划程序,并验证了我的 robocopy 是目前唯一正在运行的 robocopy 进程。
更新 8:自从重新格式化为 exFAT 后,我还没有尝试过CHKDSK /R
,所以我这样做了。它显示 7 小时后坏扇区为 0 KB(这是一个 1 TB 的驱动器。)
这是几周前买的 WD USB 外置硬盘。是时候拿回去了?还是我们的 USB 端口坏了?还是怎么回事?
更新 9:我们刚刚尝试了从当地一家企业借来的 1 TB 硬盘,它是 USB 2.0,而不是 USB 3.0,就像我们以前的硬盘一样(但更大)。它没有表现出与原始问题完全相同的行为,但在备份过程中,验证步骤确实失败了,说文件不存在于 E: 上,尽管之后它确实存在,而且我可以单独对其进行 DIR,这与上述情况不同。