быстро решают два случая повреждения файловой системы NTFS.
- Отсутствуют оба Boot’а, но есть все остальное.
- Отсутствуют MFT0 и MFT Mirror, но есть все остальное.
При открытии раздела Data Extractor пробует определить тип файловой системы, проверяя «точки входа»: буты, суперблоки и тому подобное. Читается минимально необходимый объем данных, чтобы не нагружать проблемный диск.
Если в разделе NTFS стерты оба бута, то он не будет обнаружен штатным образом.
Раньше из этой ситуации было два выхода:
- Самостоятельно добавить виртуальный раздел. Однако, придется самостоятельно узнать его параметры: размер кластера, размещение MFT0 и MFT Mirror и прочие.
- Выполнить поиск структур файловых систем. Этот метод дает хороший результат, но выполняется долго, так как читает данные всего раздела или диска (смотря на чем запустить).
В новой версии (на момент написания это еще бета-версия) в черновом восстановлении можно добавить раздел на основе MFT0 или MFT Mirror. Эти записи легко узнать по комментарию, первое число в нем будет всегда 0. Например: [ 0, 3] ( 4).
Все неизвестные параметры будут рассчитаны автоматически. В остальном раздел будет открываться штатным образом.
Быстрый анализ диска теперь тоже знает этот метод и тоже добавит раздел если найдет MFT0 или MFT Mirror.
Этот случай в определенном смысле обратный к предыдущему — хотя бы один из бутов есть, но нет 0й записи MFT и ее копии MFT Mirror. Если таблица непрерывна, Data Extractor отобразит дерево полностью. Но так везет далеко не всегда и в худшем случае вы не увидите ни одного файла в корневом каталоге.
Суть проблемы в том, что MFT0 и MFT Mirror хранят карту размещения все таблицы MFT. Если эта карта не известна, то не известно где брать очередную запись, необходимую для открытия каталога или сохранения файла.
Анализ данных раздела и поиск структур файловых систем также без особых трудностей справятся с такими повреждениями. Но оба этих метода читают много данных и поэтому выполняются долго.
Есть подход, который во многих случаях быстрее. Сначала надо сформировать карту MFT, а потом сказать файловой системе, чтобы она ей воспользовалась. Рассмотрим подробней каждый шаг.
Формирование карты MFT
В карте должен соблюдаться правильный порядок записей — на позиции N должна находиться запись с номером N (номер хранится внутри записи). Иначе все будет работать неправильно.
Универсальный способ правильно сформировать карту MFT — это найти в черновом восстановлении все записи MFT и воспользоваться специальным методом «Создать таблицу записей MFT». Метод сделает правильную карту: упорядочит записи, отбросит лишние (от других разделов), добавит пустые цепочки на место пропусков.
После создания карты ее надо сохранить в файл (в данном случае мы подразумеваем не сами данные, которые хранятся в секторах, а просто список цепочек).

Сформированная карта MFT. Соблюден правильный порядок, на месте отсутствующих записей пустые цепочки. Кнопка справа от списка позволяет сохранить список цепочек в файл, который потом можно использовать в других местах.
Загрузка карты в файловую систему
Созданную карту надо показать файловой системе. Обратите внимание, что до загрузки карты методы «Карта таблицы MFT» и «Сканировать MFT» были не доступны. А после загрузки ими можно пользоваться.
После загрузки карты MFT корневой каталог может и не открыться. Так как помимо 0й могут быть повреждены и другие записи в начале таблицы. Зато теперь можно запустить сканирование MFT. В моем примере получился хороший результат — все нужные файлы были доступны.
Особенности формирования карты MFT
У читателя может возникнуть вопрос, как найти все записи MFT? Выполнить черновое для всего раздела? Но чем тогда этот метод лучше анализа данных раздела?
Тут следует исходить из текущей ситуации и целей. Рассмотрим несколько случаев.
- Если черновое уже выполнено для всего раздела или для большей его части, то метод просто позволяет вам быстрее получить результат, наиболее близкий к тому, как файловая система должна открываться штатным образом.
- Если клиенту нужен максимально полный результат, то лучше не заморачиваться с формированием карты, а сразу выполнить анализ данных раздела.
- Если клиенту нужна только одна самая-важная-база-данных или вы хотите быстро проверить результат сборки RAID, то все 110% записей вам и не нужны. Из нашего опыта можем сказать, что часто все фрагменты таблицы лежат в начале раздела. Тактика может быть такой: ищем в черновом восстановлении первую пачку записей MFT и используем ее. Если цель не достигнута, то ищем записи дальше и повторяем процедуру.
- Карту можно получить и использовать и без чернового восстановления. Например, при восстановлении данных с RAID бывают сложные поломки, когда карта строится в одной конфигурации, а файлы корректно открываются в другой, где карта уже не строится. В этом случае можно «перенести» карту между конфигурациями.
Спасибо за статью, очень помогла при восстановлении жесткого диска на 3Тб c bad-блоками в $MFT!
Рад, что статья оказалась полезной на практике!