3

Я клонировал свой сбойный жесткий диск с Clonezilla с опцией --rescue и в нем было много плохих секторов. Некоторые плохие сектора были 3194529280, 3194529792, 3194530304, 3194530816. Как мне узнать, какие файлы были в этих поврежденных секторах?

Я жду ответа как

> whichfileisatsector.exe 3194529280
c:\Users\Chloe\Pictures\cat.jpg

Я видел блог, в котором упоминался nfi.exe со ссылкой на Microsoft, но он больше не доступен и ссылка не работает.

Windows 8.1

1 ответ1

3

- Вы найдете nfi.exe здесь:
http://www.jumpjet.info/Application-Software/Windows/win2k.htm
Скачайте «oem3sr2.zip», он там есть. Команда:

nfi X: [sector number]
(Replace "X:" with the relevant drive letter.)

Вы также можете получить полный список всех файлов в данном разделе, если вы не указали номер сектора:

nfi X: >"D:\nfi listing.txt"
(Replace "X:" with the relevant drive letter. Adjust the name/path of the output file.)

(Результирующий текстовый файл может быть огромным, если на анализируемом разделе много файлов. Для жесткого диска объемом 3 ТБ, над которым я сейчас работаю, он распаковал файл листинга размером 425 МБ.)

- Средство fsutil, изначально присутствующее в Windows (по крайней мере, в Windows 7), также может предоставлять эту функцию, среди прочего. Команда:

fsutil volume querycluster X: [cluster number]
(Replace "X:" with the relevant drive letter.)

Здесь входные данные должны быть в кластерах, поэтому вы должны разделить номер сектора на количество секторов в кластере, обычно 8 для общего размера кластера 4 КБ. Представление результата более упорядочено, чем в nfi.exe, что может сбивать с толку, если в файле много фрагментов (очевидно, один файл может быть представлен в виде нескольких номеров файлов в MFT, а nfi отображает только одну из этих частей, Я еще не совсем понял, как это работает); кроме того, он может дать короткое имя вместо полного имени, что потребует дополнительных шагов для точной идентификации этого файла (например, я получил «2017_0 ~ 3».MP4 », в папке, полной видеофайлов с полным именем, начинающимся с« 2017_0 »). С fsutil вы получаете одну строку, которая дает вам только ту информацию, которая вам нужна, надежно:

Cluster 0x000000001ec1ba42 utilisé par ----D \fichiers corrompus\2017_07_2122_49 - Arte - 101 - Depeche Mode.mp4::$DATA

(Номер кластера всегда отображается в шестнадцатеричном формате, но вы можете ввести его в десятичном формате; здесь я запросил кластер 516012610. Это по-французски, потому что я во Франции! :^ Р)
С обоими инструментами вы должны предоставить номер логического сектора или кластера, чтобы получить правильный результат, поэтому, если Clonezilla предоставила вам список абсолютных или физических номеров секторов (что, вероятно, имеет место, хотя я не пробовал, так как Программное обеспечение для клонирования предназначено для копирования всего, что не имеет отношения к схеме разбиения). Необходимо удалить смещение раздела. Например, с жестким диском объемом 3 ТБ, над которым я работаю, есть только один раздел, начинающийся в секторе 264192, поэтому, если у меня есть абсолютное число поврежденных секторов (например, предоставленных HD Sentinel - см. Ниже), скажем, 4128365072, и я хочу знать, к какому файлу он принадлежит, мне нужно набрать 4128365072 - 264192 = 4128100880 с помощью nfi.exe и 4128100880/8 = 516012610 с помощью fsutil.

Другие известные мне инструменты, которые могут предоставить такую информацию:

- Hard Disk Sentinel (не бесплатный, но это лучшее из известных мне программ для оценки работоспособности жесткого диска) предоставляет абсолютные или физические номера секторов (относительно всего физического устройства, а не данного раздела). Когда вы запускаете сканирование поверхности, нажимаете на данный блок, он отображает шестнадцатеричное представление первого сектора из этого блока, затем вы можете перейти в любой другой сектор, нажав «Перейти» (вы также должны указать абсолютное значение). номер сектора), и если вы щелкнете по полю «Определить информацию о файле для сектора», он покажет, какой файл занимает этот сектор, и полный список секторов, занятых этим же файлом. Однако у него есть предостережение: он будет пытаться фактически прочитать каждый сектор, запрошенный таким образом (чтобы отобразить его содержимое), что может излишне подчеркнуть уже поврежденную область и расширить ее, не восстанавливая ничего, что пытается сделать клонирующее программное обеспечение. (У меня аналогичная проблема , чтобы иметь дело с прямо сейчас , в моей ситуации число плохих секторов увеличилось в то время как я пытался этот метод, хотя я пытался определить уязвимые файлы путем доступа к секторам ряда , а не непосредственно с просьбой о них уже определены как плохие).

- Recuva предоставляет список номеров логических кластеров для каждого файла на вкладке «Информация». Он не делает напрямую то, что вам нужно: он предоставляет список кластеров, занятых данным файлом, но не позволяет определить, какой файл находится в каком секторе. Тем не менее, эта менее известная функциональность Recuva может использоваться в сочетании с указанными выше инструментами: когда вы знаете, какой файл занимает данный поврежденный сектор, может быть полезно узнать, какие секторы также заняты этим файлом, чтобы увидеть, записан ли он. например, последовательно или сильно фрагментированными (в моем случае несколько затронутых файлов сильно фрагментированы, поэтому я практически не мог извлечь их из частичного восстановления после аварийного восстановления соответствующего диапазона секторов без информации о файловой системе, как я изначально предполагал).
Обязательно запустите быстрое сканирование (метод по умолчанию), этого достаточно для анализа MFT и получения индексов выделенных в данный момент файлов, и он не будет перегружать жесткий диск, полностью анализируя его, если поврежденные области будут расположены дальше (как в случае с моими: все плохие сектора находятся на отметке 2 ТБ). Если файл с плохими секторами достаточно велик, а плохие секторы находятся не в самом начале, он должен быть безвредным, но с небольшими файлами или, если плохие сектора находятся в начале, просто нажмите на них, чтобы получить список кластеры, которые они занимают, могут увеличить урон, поскольку Recuva попытается отобразить предварительный просмотр или, по крайней мере, заголовок.

- Defraggler от Piriform (той же компании, которая разрабатывает Recuva): при нажатии на конкретный блок на карте тома он отобразит список файлов, содержащихся в этом же блоке (даже не фрагментированные файлы). А если щелкнуть имя файла на вкладке «Список файлов» (на которой отображаются только фрагментированные файлы), будут выделены все блоки, содержащие хотя бы один сектор, принадлежащий этому файлу. К сожалению, нет цифровой индикации интервалов смещения / сектора / кластера. (Я написал их, чтобы запросить несколько улучшений, которые сделали бы эту замечательную функцию более практичной.)

- R-Studio (тоже не бесплатная, но это одна из лучших программ для восстановления, которую я пробовал) может отображать сектора, занятые любым файлом в дереве восстановления (даже те, которые находятся в «Дополнительные найденные файлы», которые в настоящее время не выделены, но вырезаны в соответствии с их структурой верхнего / нижнего колонтитула), открыв шестнадцатеричное средство просмотра и щелкнув по вкладке «Сектора», - но в настоящее время он не предоставляет способа экспорта этого списка (вы можете копировать значения по одному с помощью сочетаний клавиш CTRL+C, но не выбирать их все с помощью Recuva или HD Sentinel можно скопировать весь список для дальнейших исследований).
Вы также можете определить, какой файл находится в данном секторе с помощью этого метода:
1) В дереве восстановления нажмите Файл => «Показать файлы в HexEditor».
2) Затем вернитесь на вкладку представления устройства, щелкните правой кнопкой мыши на томе, который вы исследуете, затем «Просмотр / редактирование»: откроется HexEditor (который является более шестнадцатеричным средством просмотра, по умолчанию он находится в режиме только для чтения, как и должно быть в целях восстановления данных). Здесь вы можете ввести номер сектора и отобразить его, а также получить имя файла, к которому он принадлежит. Однако существует несоответствие: для отображения содержимого сектора необходимо ввести его логический номер, но чтобы получить имя файла, к которому он принадлежит, необходимо ввести его абсолютное число, добавив или удалив смещение раздела.
Опять же, в случае сбоя жесткого диска (аппаратного сбоя) этот метод является рискованным, поскольку программное обеспечение будет пытаться получить доступ к дефектным секторам.

- С помощью ddru_ntfsfindbad, инструмента из набора инструментов ddr_utility, вы можете получить список файлов, занимающих сектора, которые ddrescue (программа клонирования командной строки, специально предназначенная для восстановления данных из сбойных блоков хранения) не смогла прочитать. Он работает с лог-файлом, сгенерированным ddrescue. В этом случае вы уже клонировали отказавший жесткий диск с помощью Clonezilla, но если есть только несколько поврежденных секторов, все равно можно создать собственный файл журнала из шаблона, не проходя процедуру клонирования заново. Его преимущество заключается в предоставлении подробной информации, в частности, о размере поврежденных данных для каждого затронутого файла. Хотя он работает на Linux, что является еще одним предупреждением, так что это не самое простое решение в вашем случае, но оно может помочь другим, кто действительно сделал восстановление с помощью ddrescue.

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