我知道这chkdsk
会显示有关坏块的信息,但它在我的计算机上运行得有点慢。有没有办法显示坏块信息,而不必对硬盘运行新的扫描?我知道这样我不会找到新的坏块,但有些块已经被标记为坏块,我想知道有多少个坏块,而不必运行新的扫描。
如果我跑chkdsk
没有执行表面扫描时,它会显示以下信息:
Windows has checked the file system and found no problems.
193823743 KB total disk space.
62680076 KB in 219035 files.
113248 KB in 34374 indexes.
4 KB 为坏扇区。
416351 KB in use by the system.
65536 KB occupied by the log file.
130614064 KB available on disk.
4096 bytes in each allocation unit.
48455935 total allocation units on disk.
32653516 allocation units available on disk.
因此,目前有关部门的信息已经标记为坏的被存储在某处。
我已经运行了 HD Tune,但是它的 SMART 信息似乎没有包括坏扇区数量。
答案1
运行fsutil volume allocationreport
。(示例输出如下)
$BadClus
使用以下方式查找文件File ID 0x0008000000000008
如果该值不为零,则表示存在坏簇。此报告中给出的该文件的文件大小将与 CHKDSK 输出中的数字相匹配。
C:\>fsutil volume allocationreport C:
Allocation report:
Total clusters : 3907839 (16006508544 bytes)
Free clusters : 3895093 (15954300928 bytes)
Reserved clusters : 0 (0 bytes)
Total allocated : 52207616 bytes
The allocation is split between:
System files : Count: 27. Total allocated: 52207616 bytes.
$Mft : File ID 0x0001000000000000. Total allocated: 270336 bytes.
$MftMirr : File ID 0x0001000000000001. Total allocated: 4096 bytes.
$LogFile : File ID 0x0002000000000002. Total allocated: 23691264 bytes.
$Volume : File ID 0x0003000000000003. Total allocated: 0 bytes.
$AttrDef : File ID 0x0004000000000004. Total allocated: 4096 bytes.
Root folder : File ID 0x0005000000000005. Total allocated: 4096 bytes.
$Bitmap : File ID 0x0006000000000006. Total allocated: 491520 bytes.
$Boot : File ID 0x0007000000000007. Total allocated: 8192 bytes.
$BadClus : File ID 0x0008000000000008. Total allocated: 0 bytes.
$Secure : File ID 0x0009000000000009. Total allocated: 274432 bytes.
$UpCase : File ID 0x000a00000000000a. Total allocated: 131072 bytes.
$Extend : File ID 0x000b00000000000b. Total allocated: 0 bytes.
$ObjId : File ID 0x0001000000000019. Total allocated: 0 bytes.
$Quota : File ID 0x0001000000000018. Total allocated: 0 bytes.
$Reparse : File ID 0x000100000000001a. Total allocated: 0 bytes.
$RmMetadata : File ID 0x000100000000001b. Total allocated: 0 bytes.
$Repair : File ID 0x000100000000001c. Total allocated: 9437184 bytes.
$Txf : File ID 0x000100000000001e. Total allocated: 0 bytes.
$TxfLog : File ID 0x000100000000001d. Total allocated: 0 bytes.
$Tops : File ID 0x000100000000001f. Total allocated: 1048576 bytes.
$TxfLog.blf : File ID 0x0001000000000020. Total allocated: 65536 bytes.
Other system files : Count: 4. Total allocated: 0 bytes.
答案2
在文件分配表 (FAT) 中,有一个 (链接的) 32/16/12 位值列表,用于指示文件下一个分配单元的索引。
有一个特殊值 FFFE,表示分配单元是坏的,不应该用于文件或放入空闲列表中。
因此,当 CHKDSK 检查分配单元是否正确链接(文件中或空闲列表中的索引)时,它会满足这些特殊值,忽略它们但对它们进行计数。
这就是您看到的计数。
因此,CHKDSK 可以知道已经找到的坏分配单元,而无需 /R 请求新的扫描来查找可能的新分配单元。