33

У меня жесткий диск с 3 плохими секторами. Я знаю номера секторов, и компьютер все еще может загружаться в Windows. Я хочу запустить восстановление сектора из средства диагностики жесткого диска от производителя, но прежде чем я сделаю это, я хотел бы знать, какие файлы затронуты. Есть ли способ выяснить, какой файл или файлы занимают эти сектора?

7 ответов7

21

Вот процесс с использованием WinHex, удобного шестнадцатеричного редактора, который может напрямую проверять и редактировать диски. Будь очень осторожен; этот инструмент может повредить вашу систему, если используется не по назначению. Открытые диски только для чтения, когда это возможно.

  1. Поскольку у вас уже есть поврежденные сектора, вы можете открыть диск в WinHex напрямую (кнопка на панели инструментов "Открыть диск" ), а затем перейти к сектору для просмотра данных (кнопка панели инструментов "Перейти к сектору" ). Предполагая, что местоположения вашего сектора являются адресами физического сектора, на этом шаге вам нужно открыть свой физический диск.

    Это не идентифицирует файл напрямую, но левая панель должна идентифицировать раздел, содержащий этот сектор, и соответствующий ему относительный адрес сектора.

  2. Если указанный вами раздел является разделом NTFS или FAT, мы можем открыть этот раздел напрямую (снова "Открыть диск" ). Это откроет раздел в новой вкладке, так что вы можете переключаться туда и обратно при необходимости. На вкладке раздела снова используйте функцию "Перейти к сектору" , но на этот раз введите переведенный сектор ("относительный сектор", определенный на виде диска).

    Теперь на левой панели вы должны увидеть раздел "Распределение видимого дискового пространства". Под этим находятся # кластера, # физического сектора, логического (относительного) сектора # и имя файла, если этот сектор действительно принадлежит файлу.

Если эти шаги не дают немедленного ответа, ваши плохие сектора могут не использоваться. Если результаты неясны, вам, возможно, придется еще покопаться, чтобы найти свой ответ.

19

Попробуйте nfi.exe - служебную программу для файлового сектора файловой системы Windows NT (NTFS). Загрузите с Microsoft OEM Tools Tools Phase 3 SR2.

> nfi.exe
Dumps information about an NTFS volume, and optionally determines
which volume and file contains a particular sector.

Usage: nfi drive-letter [logical-sector-number]

        Drive-letter can be a single character or a character followed
        by a colon (i.e., C or C: are acceptable).

        Logical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the volume
        whose drive letter is given by drive-letter. If not
        specified, then information about every file on the volume
        is dumped.

   nfi NT-device-path physical-sector-number

        Determines which volume a given physical sector on a drive is
        within, and then which file on the volume it is in.

        NT-device-path is the NT-style path to a physical device.
        It must not include a partition specification.

        Physical-sector-number is a decimal or 0x-prefixed hex
        number, specifying a sector number relative to the physical
        drive whose device path is given by NT-device-path.

    nfi full-win32-path

        Dumps information about a particular file. full-win32-path
        must start with a drive letter and a colon.

Обратите внимание, вы должны опустить "\\?msgstr "префикс пути блочного устройства. Пример:

C:\Users\admin\Downloads>nfi \Device\Harddisk0\DR0 28521816
NTFS File Sector Information Utility.
Copyright (C) Microsoft Corporation 1999. All rights reserved.


***Physical sector 28521816 (0x1b33558) is in file number 5766 on drive C.
\IMAGES\win7HDD.vhd
    $DATA (nonresident)
        physical sectors 32863720-34098663 (0x1f575e8-0x2084de7)
        physical sectors 28519912-32863719 (0x1b32de8-0x1f575e7)
        physical sectors 25727944-26291143 (0x18893c8-0x1912bc7)
        physical sectors 95163976-115106143 (0x5ac1648-0x6dc615f)
8

Большинство программ дефрагментации показывают карту диска, отображающую все кластеры на диске, которые вы можете затем щелкнуть (найти помеченные как поврежденные), чтобы просмотреть файлы, расположенные в этом кластере.

Как сказал Уолтер, любая комбинация дисков и ОС за последнее десятилетие или около того обеспечит автоматическое перемещение файлов из поврежденных секторов (микропрограмма диска обычно справляется с этим, но дисковые инструменты, такие как chkdsk или defragmenters, обычно также делают это).


Defraggler:

Defrag-A-File:

Vopt:

6

DiskView от Sysinternals выполняет именно эту функцию: отображать карту диска накопителя и видеть, какие файлы занимают какие кластеры.

К сожалению, похоже, нет способа отобразить имена системных файлов.

Главное окно DiskView Системный файл DiskView

3

насколько я знаю, когда диск сталкивается с определенным количеством ошибок чтения в секторе, он помечается как плохой, и его содержимое копируется в другое место на диске. это обычно происходит до того, как данные по этому сектору становятся полностью нечитаемыми.

Я пытаюсь найти источник этого, просто прочитал вчера, но не могу вспомнить, где.

от человека hdparm (8)

Также обратите внимание, что флаг --repair-sector можно использовать для восстановления (любых) поврежденных секторов, когда они больше не нужны, в том числе секторы, которые действительно были повреждены (диск, вероятно, переназначит их в новую область на носителе).

Итог: вам не нужно заботиться о плохих секторах, прошивка жесткого диска сделает это за вас. единственное, что вам нужно сделать, - это получить новый диск до того, как их станет слишком много, и ваш диск умрет.

3

Вы можете использовать fsutil из командной строки администратора. volume подкоманды имеет querycluster querycluster. См. Справочник по командной строке Windows Fsutil.

Fsutil принимает номер кластера в логическом диске в качестве входного аргумента вместо номера сектора. Но это должно быть легко рассчитать это число:
cluster # = (absolute_sector - start_of_partition_sector) / sector_per_cluster.

Пример вывода:

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA
2

DiskExplorer от RunTime позволяет вам исследовать диск по секторам. Это платное ПО ($ 70 за версию NTFS), но можно попробовать бесплатно. У них есть версии для NTFS, FAT и Linux (ext2/3).

альтернативный текст

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