Как определить, какой файл занимает данный сектор?

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

2
задан Jens Erat
14.02.2023 7:19 Количество просмотров материала 2965
Распечатать страницу

7 ответов

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

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

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

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

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

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

21
отвечен quack quixote 2023-02-15 15:07

попробуйте nfi.exe - Windows NT File System (NTFS) файловый сектор информация утилита. Скачать с средства поддержки OEM Майкрософт Фаза 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.

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

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)
18
отвечен Robert Collier 2023-02-15 17:24

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

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



Defraggler:

enter image description here

Дефрагментация-файл:

enter image description here

Vopt:

enter image description here

8
отвечен Synetech 2023-02-15 19:41

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

к сожалению, не существует способа отображения имен системных файлов.

DiskView main windowDiskView system file

6
отвечен Synetech 2023-02-15 21:58

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

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

с man hdparm (8)

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

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

3
отвечен Baarn 2023-02-16 00:15

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

Fsutil принимает номер кластера в логическом диске в качестве входного аргумента, а не номер сектора. Но это число легко вычислить:

кластер# = (absolute_sector - start_of_partition_sector) / sectors_per_cluster.

пример:

c:\tmp> fsutil volume querycluster C: 5235
Cluster 0x0000000000001473, verwendet von
 ----D \Program Filesx86)\LibreOffice 4\program\fwilo.dll::$DATA
3
отвечен NorbertM 2023-02-16 02:32

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

alt text

2
отвечен quack quixote 2023-02-16 04:49

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх