Алгоритм восстановления данных с NTFS раздела

Читайте, как происходит восстановление данных с NTFS диска. Какой алгоритм используется программами для восстановления файлов.

Вот мы и подошли вплотную к теме восстановления файлов. В отличие от FAT, NTFS – очень удобная для восстановления данных файловая система, позволяющая полностью восстановить все занимаемые удалённым файлом секторы на диске. Но есть у неё и недостаток: при определённых обстоятельствах теряется имя файла. Впрочем, содержимое файла гораздо важнее его названия, так что недостаток этот хоть и неприятный, но не критичный.

Алгоритм восстановления данных с NTFS раздела

В статье «Анализ файловой системы NTFS» мы рассмотрели основные структуры данных файловой системы NTFS, далее мы рассмотрим алгоритм поиска удаленного файла.

Удаление файла

Рассмотрим ситуацию, когда файл был удалён штатными средствами системы (т.е. файловая система присутствует в полном объёме и не повреждена). Восстановить удаленный файл в NTFS проще, чем в большинстве файловых систем. Как мы помним, при удалении файла в файловой системе FAT терялась цепочка записей, указывающих на занимаемые файлом кластеры. Такого безобразия в NTFS не происходит.

Перейти к просмотру
Восстановление данных после удаления или создания новых разделов 📁🔥⚕️

Восстановление данных после удаления или создания новых разделов 📁🔥⚕️

При удалении файла с HDD, USB-диска, карт памяти CompactFlash, MicroSd его имя исключается из индекса родительского каталога, а соответствующая ему запись MFT и занимаемые им кластеры освобождаются. Происходит пересортировка индекса, в результате которой информация об имени файла может быть утеряна. Соответственно, имя удалённого файла более не будет присутствовать в исходном каталоге.

Перейти к просмотру
Как восстановить сбойные сектора жестких дисков программой HDD Regenerator ⚕️💻👨‍💻

Как восстановить сбойные сектора жестких дисков программой HDD Regenerator ⚕️💻👨‍💻

Впрочем, этот недостаток более чем компенсируется, тем фактом, что MFT хранит все записи в одной таблице. Таким образом, поиск свободных записей сильно упрощается. Каждая запись содержит атрибут с базовым адресом родительского каталога. Соответственно, при нахождении свободной записи становится возможным определить её полный путь.

Перейти к просмотру
Как исправить RAW диск и восстановить данные HDD с RAW разделами 💻⚕️🛠️

Как исправить RAW диск и восстановить данные HDD с RAW разделами 💻⚕️🛠️

Для того чтобы восстановить удалённые в NTFS файлы, необходимо просканировать MFT в поиске свободных записей. При обнаружении свободной записи становится возможным определить имя файла – оно хранится в одном из атрибутов. Как было сказано ранее, имя файла удаётся определить не всегда. Зато в отличие от файловой системы FAT указатели на кластеры, занимаемые удалённым файлом, продолжают существовать. Соответственно, удаётся восстановить файл любого размера и любой степени фрагментации – разумеется, при условии, что занимаемые им кластеры не были перезаписаны другими данными.

Как мы ранее говорили, некоторые файлы могут целиком храниться в области MFT в виде атрибута. Такие файлы называют резидентными. Если для хранения резидентного файла было достаточно единственной записи MFT, то такой файл может быть восстановлен вплоть до момента повторного выделения записи MFT.

Особенностью NTFS является алгоритм выделения записей MFT. При выделении записи, Windows использует алгоритм, выделяющий первую по порядковому номеру доступную запись. Соответственно, записи MFT с малыми номерами выделяются чаще, чем записи с большими номерами.

Ранее мы публиковали статью о преимуществах файловых систем FAT и NTFS в нашем блоге.

Журнал файловой системы

Одним из преимуществ NTFS является особенность организации записи информации в виде транзакций. Все изменения на диске регистрируются в специальном файле – журнале файловой системы. Журнал изменений активен не всегда, но он содержит информацию о времени удаления и последнего редактирования файла.

В NTFS есть функция самовосстановления, и журнал файловой системы – один из её инструментов. Наиболее распространённая причина повреждения файловой системе – сбой во время операции записи. При возникновении сбоя в работе компьютера в процессе операции записи файла на диск операционная система анализирует журнал файловой системы. В журнале хранится информация о предстоящих обновлениях метаданных, а после их успешного обновления создаётся соответствующая запись.

Что происходит, если во время операции записи происходит сбой? В этом случае операционная система сможет проанализировать журнал файловой системы и «откатить» состояние файловой системы к предыдущему состоянию.

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

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

Michael Miroshnichenko

Автор: , Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

Andrey Mareev

Редактор: , Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат