我的 Windows 7 SP1(64 位)计算机上有一个 6TB 数据硬盘(SATA 机械)。它不是我的启动驱动器。我只是用它来存储数据文件。
今天早上我的电脑死机了,显示蓝屏死机(我正在测试实验软件)。然后它重新启动了。
重新启动后,我让它稳定下来,然后对所有驱动器执行常规的 CHKDSK。
CHKDSK D: 显示此结果:
C:\Windows\system32>chkdsk d:
The type of the file system is NTFS.
Volume label is DATA.
WARNING! F parameter not specified.
Running CHKDSK in read-only mode.
CHKDSK is verifying files (stage 1 of 3)...
955904 file records processed.
File verification completed.
3679 large file records processed.
0 bad file records processed.
0 EA records processed.
0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
1056164 index entries processed.
Index verification completed.
0 unindexed files scanned.
0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
955904 file SDs/SIDs processed.
Security descriptor verification completed.
50131 data files processed.
CHKDSK is verifying Usn Journal...
100 percent complete. (754974720 of 754974952 USN bytes processed)
Examining Usn Journal file record segment.
754974952 USN bytes processed.
Usn Journal verification completed.
Windows found problems with the file system.
Run CHKDSK with the /F (fix) option to correct these.
5723036 MB total disk space.
5152491 MB in 789170 files.
344292 KB in 50132 indexes.
0 KB in bad sectors.
6133411 KB in use by the system.
65536 KB occupied by the log file.
577760848 KB available on disk.
4096 bytes in each allocation unit.
1465097471 total allocation units on disk.
144440212 allocation units available on disk.
于是我立即运行了 CHKDSK D: /F /V 来修复该问题。结果如下所示。
C:\Windows\system32>chkdsk d: /F /V
The type of the file system is NTFS.
Volume label is DATA.
CHKDSK is verifying files (stage 1 of 3)...
955904 file records processed.
File verification completed.
3679 large file records processed.
0 bad file records processed.
0 EA records processed.
0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
1056164 index entries processed.
Index verification completed.
0 unindexed files scanned.
0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage
955904 file SDs/SIDs processed.
Cleaning up 1 unused index entries from index $SII of file 9.
Cleaning up 1 unused index entries from index $SDH of file 9.
Cleaning up 1 unused security descriptors.
Security descriptor verification completed.
50131 data files processed.
CHKDSK is verifying Usn Journal...
100 percent complete. (754974720 of 754977872 U
Repairing Usn Journal file record segment.
754977872 USN bytes processed.
Usn Journal verification completed.
Windows has made corrections to the file system
5723036 MB total disk space.
5149491 MB in 789170 files.
344292 KB in 50132 indexes.
0 KB in bad sectors.
6133411 KB in use by the system.
65536 KB occupied by the log file.
580832844 KB available on disk.
4096 bytes in each allocation unit.
1465097471 total allocation units on disk.
145208211 allocation units available on disk.
因此 CHKDSK 报告说问题现已修复。因此我再次运行 CHKDSK D: 以确保无误,它报告的问题完全相同,好像什么都没有修复一样。
我已经尝试了 4 次这个循环 - 我运行 CHKDSK D: 并报告问题。因此我运行 CHKDSK /F /V 并报告问题已修复。但是当我再次运行 CHKDSK D: 时,它报告了与最初相同的问题。然后它进入了一个循环。
我正在从提升的命令提示符运行 CHKDSK。我也尝试过从安全模式运行,结果相同。我重启了几次,结果相同。
请注意,我第一次运行 CHKDSK /F /V 时,它说它清理了大约 167 个未使用的索引条目。但是,此后每次我运行它时,它总是报告它清理了 1 个未使用的索引条目。因此显然,它能够修复除一个未使用的索引条目错误之外的所有错误,但无法修复其中一个错误。
所以我有 3 个问题:
- 我能解决这里遇到的问题吗?
- CHKDSK D: /F /V 在“安全描述符”位后显示“正在清理...”行。这是否意味着错误在安全描述符中?如果是,这是否严重?我应该担心吗?
- 我将在大约一个月后更换硬盘。如果我使用直接的 Windows 资源管理器复制和粘贴复制所有文件,那么未使用的索引条目的问题不应该复制到新驱动器,对吗?如果文件复制过去,那么我可以假设它们一定是完整的,并且在复制后在新驱动器上运行 CHKDSK 不应该报告任何未使用的索引条目。对吗?
CHKDSK 不会创建 FOUND 文件夹,似乎也不会存储任何 .chk 文件。除了“清理未使用的索引条目”之外,它不会报告任何其他错误。所以我不知道,但对我来说,这听起来不像是任何文件丢失或损坏。
非常感谢。
答案1
我终于解决了这个问题。这是由 Usn 日志的问题引起的。
CHKDSK 结果中的关键信息如下:
CHKDSK is verifying Usn Journal...
100 percent complete. (754974720 of 754974952 USN bytes processed)
Examining Usn Journal file record segment.
754974952 USN bytes processed.
Usn Journal verification completed.
将其与成功的 CHKDSK 结果进行比较:
CHKDSK is verifying Usn Journal...
247720 USN bytes processed.
Usn Journal verification completed.
因此,当 CHKDSK 报告此情况时,您就知道 Usn Journal 可能有问题:
100 percent complete. (754974720 of 754974952 USN bytes processed)
Examining Usn Journal file record segment.
因此,首先,它报告处理了 754974720 个字节(共 754974952 个字节)——看起来它并没有全部处理。然后它继续检查 Usn 日志文件记录段。虽然它说 Usn 验证已完成,但前面的几行确认 Usn 日志存在问题。
因此,为了解决这个问题,我只需删除 CHKDSK 失败的驱动器的 Usn 日志。
我使用以下命令(从提升的命令提示符)执行了此操作:
fsutil usn deletejournal /D /N D:
(其中 D:是驱动器号)。
运行该程序后,您可以通过运行以下命令来确认日志确实已消失:
fsutil usn queryjournal D:
如果日志不见了,您将看到一个错误。如果它仍然存在,您将看到一个数据表。
一旦程序想要使用 Usn 日志,它就会自动重新创建。就我而言,它并没有立即重新创建,因此我安装了 Windows Search(我通常会禁用它),因为我知道 Windows Search 使用 Usn 日志。在强制重启 Windows 后,Usn 日志会自动重新创建。
CHKDSK 现在报告此情况:
CHKDSK is verifying files (stage 1 of 3)...
1130496 file records processed.
File verification completed.
4961 large file records processed.
0 bad file records processed.
0 EA records processed.
0 reparse records processed.
CHKDSK is verifying indexes (stage 2 of 3)...
1242084 index entries processed.
Index verification completed.
0 unindexed files scanned.
0 unindexed files recovered.
CHKDSK is verifying security descriptors (stage 3 of 3)...
1130496 file SDs/SIDs processed.
Security descriptor verification completed.
55795 data files processed.
CHKDSK is verifying Usn Journal...
18696 USN bytes processed.
Usn Journal verification completed.
Windows has checked the file system and found no problems.
因此删除 Usn 日志解决了这个问题。所有 Usn 字节都已处理,并且没有检查 Usn 字节。显然,处理的字节数要少得多,因为我删除了 Usn 日志,所以新的 Usn 日志没有太多文件历史记录(目前)。
对于我的家庭使用,删除 Usn 日志只会导致 VAC 游戏(Steam)出现暂时问题。据我所知,VAC 将读取 Usn 日志以检查作弊行为,因此作弊者通过定期删除 Usn 日志来解决这个问题。Steam 知道这一点,所以如果您的 Usn 日志为空(或非常小),他们会将您从启用 VAC 的游戏中踢出。
我不知道,但我读到删除 Usn 日志后,最好等待 24 小时左右再在 Steam 上运行任何启用 VAC 的游戏。这样 Usn 日志就有足够的时间得到合理填充。
有些人可能会说 CHKDSK 报告 Usn 日志问题很正常,因为在 CHKDSK 运行时 Usn 日志可能处于活动状态。但是,我也尝试过在安全模式下运行 CHKDSK,而且我反复尝试,但总是得到相同的结果。
其他人可能会说,既然问题只出在 Usn 日志上,我不需要做任何事情,可以忽略它(因为它只是 Usn 日志,所以它并不是关键信息)。这可能是真的,但我喜欢让 CHKDSK 报告成功的结果。话虽如此,Usn 日志不是 NTFS 文件系统日志。NTFS 文件系统日志至关重要,但 Usn 日志更具装饰性。
将驱动器的所有内容复制到新驱动器也可以解决这个问题,因为新驱动器有自己的 Usn 日志。但该解决方案需要更长的时间,而且成本相当高。
因此,如果您遇到此问题,即 CHKDSK 报告问题并且看起来只有 Usn 日志是导致该问题的原因(因此 CHKDSK 没有提及任何其他问题),您可能需要忽略它或删除该驱动器的 Usn 日志。
答案2
这听起来像是硬件故障。
当您运行 CHKDSK、CrystalDiskInfo 或任何其他软件时,通常它能做的最好的事情就是报告物理磁盘及其控制器传输给它的数据和元数据。
CHKDSK 可以修复磁盘上格式化数据的数据分配或结构问题,但无法修复物理设备故障。(例外情况是,如果物理磁盘的某个部分出现故障,CHKDSK 可以识别此情况,并将磁盘的故障部分从用于存储数据的部分中排除。在 CHKDSK 报告修复磁盘后,您仍会继续看到错误,这表明情况可能比这更糟。)
当然,物理测试确实存在,但它们可能不是结论性的(因为故障设备可能会在不同的测试中产生不一致的结果)。而且,完整的低级物理测试可能会破坏数据,因此您不会想在包含所需数据的驱动器上运行此类测试。
底线:快速备份您的数据!并开始考虑驱动器更换选项——您可能无法像计划的那样等待一个月才需要新磁盘。
至于备份该磁盘上的数据是否会有问题,则取决于故障的具体细节。如果幸运的话,您将获得大部分数据,但拖延的时间越长,丢失更多数据的风险就越大。