顯示壞區塊計數,無需重新掃描新的 HDD

顯示壞區塊計數,無需重新掃描新的 HDD

我知道這chkdsk會顯示有關壞塊的信息,但它在我的機器上運行有點慢。有沒有一種方法可以顯示壞塊訊息,而無需在 HDD 上執行新掃描?我知道這樣我不會找到新的壞塊,但是有些塊已經標記為壞塊,我想知道有多少塊,而不必運行新的掃描。

如果我跑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 請求新掃描來查找可能的新分配單元。

相關內容