BSOD 后无法访问 NTFS 文件。chkdsk 无法检测到损坏?

BSOD 后无法访问 NTFS 文件。chkdsk 无法检测到损坏?


我们在 Windows 服务器上有几个文件显示在目录列表中,但无法访问。我可以拥有这些文件的所有权,ACL 显示每个人都有读/写/执行访问权限;但我无法打开这些文件。chkdsk 未发现卷上存在任何问题。

服务器是64位Win 2008 R2 Standard SP1。

我们最近在这台服务器上出现了 BSOD,文件在崩溃前不久被修改过。崩溃与文件系统无关,但我认为它损坏了内核内存中的某些东西,从而损坏了文件系统。

以下是我尝试访问文件“com2.log”时看到的一些内容:

D:\Logs\Application>dir com2*
Volume in drive D is Data
Volume Serial Number is 84D5-FD84

Directory of D:\Logs\Application

09/07/2011  06:57 PM           169,025 com2.log
       1 File(s)        169,025 bytes
       0 Dir(s)  39,320,612,864 bytes free

D:\Logs\Application>dir com2.log

 Directory of \\.

File Not Found

D:\Logs\Application>dir com2.*

Directory of \\.

File Not Found

D:\Logs\Application>cacls com2.log
The filename, directory name, or volume label syntax is incorrect.

D:\Logs\Application>more com2.log
Cannot access file \\.\com2

D:\Logs\Application>more com2*
Cannot access file D:\Logs\Application\com2.log

(cacls 不显示 ACL,但我可以在 Windows 资源管理器中看到它。)

这似乎可能是扩展的问题。dir com2*找到它但dir com2.*没有。

该文件在 Windows 资源管理器中显示为 com2.log,但当我双击它时,记事本中出现此错误,指出文件扩展名为 .txt:

Cannot find the \\.\com2.txt file.
Do you want to create a new file?

有人见过类似的事情吗?有什么故障排除建议吗?

答案1

COM2 是保留关键字,确切地说是硬件端口 COM2,我不知道该文件是怎么来的,因为 Windows 不允许您创建名为 的文件COM2.log。现在尝试一下,您会收到一条错误消息。为了好玩,还可以尝试创建LPT1.txt

根据命名文件、路径和命名空间,以下均为保留名称,不得用作文件名。

  • 请勿使用以下保留设备名称作为文件名:

    CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8 和 LPT9。还应避免在这些名称后紧跟扩展名;例如,不建议使用 NUL.txt。

您可以尝试在资源管理器中重命名该文件或使用它ren com2.log somethingelse.log来查看是否可以操作该文件,但是我觉得这样做不会起作用,原因与您首先无法创建该文件的原因相同。

否则,如果你遵循如何在 Windows 中删除具有保留名称的文件您应该能够使用以下命令删除该文件。使用相同的“完全限定”路径,我想您也可以使用REN而不是 来重命名该文件DEL

DEL \.\C:\SomeDirectory\com2.log

答案2

您可以尝试移动文件:move com2* com2.log.new或类似操作。文件名本身可能会被弄乱。

相关内容