Восстановление удаленных файлов

Восстановление удаленных файлов (не в корзину) — задача популярная. К счастью, при удалении происходит лишь изменение метаданных файловой системы, но не тела файлов. Их содержимое по-прежнему лежит на диске, но (!) ФС уже считает эти блоки свободными для записи. Если вовремя взяться за восстановление (или запастись удачей), то файлы часто можно вернуть.

В этой статье мы рассмотрим как с помощью Data Extractor восстановить удаленные файлы.

Подход первый. Поиск и анализ метаданных файловой системы

Первый подход основан на том, что метаданные удаленных файлов останутся на диске и их получится обнаружить.

Начнем с файловой системы NTFS. Рассмотрим простой и удобный для демонстрации пример: на отформатированный раздел я записал несколько каталогов, а потом удалил один из них.

Каталог до удаления

Каталог до удаления

Каталог после удаления

Каталог после удаления

Попробуем разобраться, что произошло при удалении файлов.

Каждый файл в NTFS описывается «записью MFT», в ней содержится его имя, даты создания, изменения и последнего доступа к файлу, она необходима для того, чтобы построить его размещение. Все такие записи имеют одинаковый размер (обычно 1024 байта) и хранятся в специальной области на диске — в «таблице MFT» или просто MFT (Master File Table). Эта область выделяется с запасом, поэтому внутри нее могут быть неиспользуемые участки. Есть даже специальная битовая карта, которая отслеживает занятые и свободные области внутри таблицы MFT.

После удаления каталога pics произошло следующее:

  • удалена ссылка на каталог pics;
  • запись для каталога pics и записи, соответствующие каждому из изображений, обозначены как незанятые в таблице MFT;
  • пространство, которое занимали изображения теперь считается свободным (для этого существует еще одна битовая карта — битмап раздела, он же служебный файл $Bitmap).

(Это не полный список изменений, но он достаточен для рассмотрения нашего примера).

Раздел NTFS до и после удаленя

После удаления место, которое занимали файлы считается свободным. Задействованные ранее записи MFT — свободны для хранения информации о новых файлах.

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

В DataExtractor есть специальный режим — «Сканирование MFT», который как раз занимается таким анализом. Если запустить его на нашем примере, то он найдет все удаленные файлы. Не забудьте поставить флажок «Показывать удаленные файлы».

Результат сканирования MFT

Результат сканирования MFT

 

«Сканирование MFT» — не единственный режим логического анализа для файловой системы NTFS:

  • «Сканирование MFT» и «Сканирование MFT+INDX» — читают небольшой объем данных (в сравнении со всем разделом), поэтому выполняются быстро. Оба дают хороший результат, когда файловая система повреждена не сильно.
  • «Анализ данных раздела» и «Поиск структур NTFS» — разработаны для более сложных случаев, чем удаление файлов. Читают весь раздел, поэтому выполняются ощутимо дольше. Дают наиболее качественный и полный результат даже если файловая система сильно порушена.

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

Если случай сложный, то имеет смысл запустить более «мощный» режим — «анализ данных раздела».

Подход второй. Когда не удалось найти метаданные удаленных файлов

У всех файловых систем в DataExtractor есть свои режимы логического анализа. Например, в XFS есть «Анализ данных раздела». Но в нашем примере он не отработает (не найдет удаленные файлы), потому что драйвер XFS стирает метаданные при удалении файла.

Похожая ситуация может сложиться и с NTFS, если после удаления с ней еще успели поработать. Записи об удаленных файлах могут быть переписаны новыми записями. Это один из тех случаев, для которых хорошо подходит режим «черновое восстановление» (он был описан ранее: часть 1 и часть 2), но есть прием, который может ускорить и упростить поиск.

Место, занимаемое удаленными файлами отмечается как свободное. В файловых системах предусмотрены механизмы для отслеживания занятых и свободных блоков. Например, в NTFS это битовая карта, а в XFS – деревья цепочек. DataExtractor умеет использовать эту информацию и строить карты занятых и незанятых секторов.

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

Запустим режим черновое восстановление на карте неиспользуемых секторов и проверим результат.

Результат чернового восстановления

Результат чернового восстановления

Черновое восстановление нашло все уделенные файлы.

Реальные случаи восстановления могут быть сложнее и потребовать применения обоих подходов сразу.

Заключение

В статье мы нашли очередное применение «черновому восстановлению», а также затронули новую большую тему — режимы логического анализа файловых систем («сканирование MFT», «Анализ данных раздела» и др). В основном, они применяются, когда штатный способ раскрытия ФС по каким-то причинам нас не устраивает. Например, файлов и каталогов не видно вообще, из-за того что не читается сектор с корневым каталогом в FAT32. Но эти режимы часто используется и как вспомогательные, например, при определении конфигурации RAID-массива.

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 голосов, средний: 4,33)
Loading...Loading...

Об авторе Александр Леоненко

Разработчик Data Extractor и Data Extractor RAID Edition
Запись опубликована в рубрике Data Extractor с метками , , , , , , . Добавьте в закладки постоянную ссылку.

Один комментарий на «Восстановление удаленных файлов»

  1. Андрей Зенков говорит:

    Вот всегда рад поучительным статьям с пошаговым объяснением и обязательными скринами. И понятно всё и информацию воспринимать куда легче. Кстати попробовал, ну что сказать, не сразу конечно получилось, да и правильно сказано, что там дальше ещё большая наука идёт.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>