Восстановить удаленный файл в NTFS проще, чем в большинстве файловых систем. При удалении файла его имя исключается из индекса родительского каталога, освобождается его запись MFT и занимаемые им кластеры. Компонент Microsoft не стирает содержимое указателей, хотя исключать такую возможность в будущих версиях Windows нельзя.
У NTFS есть один большой недостаток: при удалении имени файла из индекса родительского каталога индекс сортируется заново, и информация об имени может быть потеряна. В этом случае имя удаленного файла пропадает из исходного каталога. Тем не менее, недостаток отчасти компенсируется тем, что все записи MFT хранятся в одной таблице, что упрощает поиск всех свободных записей. Кроме того, каждая запись содержит атрибут $FILE_NAME с базовым адресом родительского каталога. А это означает, что при нахождении свободной записи обычно удается определить ее полный путь, если только записи ее родительских каталогов не были повторно выделены новым файлам или каталогам.
Другое обстоятельство, которое необходимо учитывать при восстановлении удаленной информации в NTFS – поиск дополнительных атрибутов $DATA. Для тестирования программ восстановления файлов в NTFS можно воспользоваться тестовыми образами с сайта DFTT. Образ содержит удаленные файлы с несколькими атрибутами $DATA, на которые не ссылается ни один индексный элемент.
Поиск удаленных файлов в NTFS
Чтобы восстановить все удаленные данные в NTFS, необходимо провести в MFT поиск свободных записей. После обнаружения свободной записи имя определяется по атрибуту $FILE_NAME и адресу родительского каталога. Указатели на кластеры продолжают существовать, и если данные еще не были перезаписаны, их удастся восстановить. Восстановление документов возможно даже при сильной фрагментации файла. Если значение атрибута было резидентным, данные не будут перезаписаны вплоть до повторного выделения записи MFT. Если для хранения атрибутов файла требуется более одной записи MFT, для полного восстановления могут потребоваться другие записи. В Windows для записей MFT используется алгоритм выделения первой доступной записи, поэтому записи MFT с малыми номерами выделяются чаще, чем записи с большими номерами.
Получение информации для восстановления
При восстановлении файлов или просмотре удаленного содержимого могут пригодиться данные журнала файловой системы или журнала изменений. Журнал изменений не всегда активен, но в нем можно найти информацию о времени удаления и последнего редактирования файла.