2

Я знаю, что 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 КБ в плохих секторах.

    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-информация, кажется, не включает в себя количество поврежденных секторов.

2 ответа2

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.
1

В таблице размещения файлов (FAT) есть список (сцепленных) значений 32/16/12 битов, которые указывают индекс следующей единицы выделения файла.
Существует специальное значение FFFE, которое указывает, что единица выделения неверна и не должна использоваться для файла или помещаться в свободный список.
Следовательно, когда CHKDSK проверяет, правильно ли связаны единицы размещения (индекс в файле или в свободном списке), он встречает эти специальные значения, игнорирует их, но считает их.
Это количество вы видите.
Таким образом, CHKDSK может узнать, какие единицы размещения уже найдены, без /R, запрашивающего новое сканирование для поиска возможных новых.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .