多年来第一次,我的磁盘(SSD 使用 DiskInfo 显示健康度为 99%!)出现了一些无法读取的文件。我尝试使用 wxHexEditor 打开这些文件,在文件内容中滚动时,在某个点,我收到 I/O 错误/文件错误。此外,我无法复制/粘贴文件,Windows 因 I/O 错误而停止。重启后也是如此。
我做了chkdsk /f
但没有发现任何特殊情况。
我现在已经运行了很长时间chkdsk /r /f
但到目前为止没有检测到错误。
问题:Windows 中是否存在一种(内置的?)方法来完全读取卷上每个文件的 100% 字节,以确保每个文件确实可读且没有任何 I/O 错误?
注意:据我所知,chkdsk
只在索引中执行检查,但不一定尝试读取文件系统中每个文件的每个字节。后者如何做?
答案1
答案2
问题:Windows 中是否有一种(内置的?)方法可以完全读取卷上每个文件的 100% 字节,以确保每个文件确实可读且没有任何 I/O 错误?
回答:
/r 定位坏扇区并恢复可读信息。磁盘必须锁定。/r 包括 /f 的功能,并附加了对物理磁盘错误的分析。
评论:
当然,驱动器上的最小可寻址单元是扇区,卷上的最小可寻址单元是簇,chkdsk 确实不是检查单个字节。
换句话说,chkdsk 将尝试确定集群的可读性,并且在出现读取问题时将尝试恢复整个集群内的数据。
在驱动器级别,错误由扇区的可读性决定。换句话说,驱动器能够读取请求的扇区(即使在固件级别进行错误恢复之后),或者不能读取。如果后者,驱动器将返回一个错误,指示部门无法读取没有数据返回该扇区(即 512 字节或 4 KB 的数据)。
当您谈论文件时,最终它归结为这个级别。换句话说,这与检查单个字节无关。
由于 chkdsk 检查卷内的所有“扇区”,因此没有错误意味着所有文件都是可读的。