Автор: М. А. Седневец, С. В. Теплинский
Источник: Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ - 2017) : сборник материалов VIII Международной научно-технической конференции в рамках III Международного Научного форума Донецкой Народной Республики, 25 мая 2017г., г. Донецк / ГОУ ВПО "ДОННТУ", Фак. комп. наук и технологий ; редкол.: К.Н. Маренич и др. - Донецк : ДОННТУ, 2017. - С. 655–658.
Седневец М.А., Теплинский С.В. Особенности поиска удаленных файлов и каталогов в файловой системе NTFS. Выполнен анализ методики поиска файлов и каталогов пригодных для восстановления в файловой системе NTFS. Определены основные особенности поиска файлов и каталогов.
Потеря информации – Довольно частое хоть и неприятное явление особенно среди неопытных пользователей в зависимости от важности данных их утрата может привести к разного рода проблемам в том числе финансовым, да и потеря личных данных событие неприятное.
На данный момент проблема поиска и восстановления удаленных данных в файловой системе NTFS решена. На просторах интернета можно найти множество программ однако информации о самих принципах поиска удаленных файлов и их восстановления не так много из за чего тема не перестает быть интересной для исследования. Различные утилиты используют разные подходы следовательно и результаты их работы отличаются. В данной статье мы проведем исследование одного из алгоритмов «ручного» восстановления данных и разработаем свой алгоритм поиска удаленных файлов.
Провести анализ методики поиска удаленных файлов и каталогов в файловой системе NTFS. Разработать алгоритм поиска удаленных файлов и каталогов пригодных для дальнейшего восстановления.
Файловая система NTFS была разработана компанией Microsoft для использования в новой на тот момент операционной системе Windows NT. NTFS должна была заменить устаревшую файловую систему FAT имеющую множество ограничений которые не позволяли на основе этой системы создать полноценно многопользовательскую и многозадачную ОС. [1]
Целью было разработать безопасную, надежную, расширяемую систему которая была бы способна не только полноценно заменить FAT но обладать рядом преимуществ. Как мы видим разработка была удачной на данный момент Windows одна из самых популярных операционных систем по всему миру.
В архитектуре файловой системы NTFS абсолютно все данные, в том числе и разнообразные служебные структуры самой файловой системы, представлены в виде файлов. И даже сверх этого сама файловая система представлена в виде файлов. Также в виде файлов представлены и административные данные файловой системы, в иных операционных системах подобные данные храниться в скрытых областях с фиксированным адресом. Как раз из-за того что в NTFS к примеру таблица разделов храниться в виде файла. NTFS нет нужды резервировать какие-либо области т.к. файлы могут располагаться (физически) в любом месте тома.
В случае необходимости файлы могут менять свой размер к примеру файловые таблицы заметно прибавляют в весе при хранении на томе большого числа фалов. При всем при этом используются стандартные средства работы с файлами. Также не является проблемой и отсутствие непрерывного участка для хранения данных системы если такого не найдено то файл будет фрагментирован и все равно сохранен.
В отличии от других систем в NTFS нет жесткой структуры. В NTFS вся файловая система рассматривается как область данных а значит и любой файл может быть сохранен где угодно. Исключениями являются загрузочный сектор и загрузочный код расположенные в первых секторах тома.
Информация о фалах и каталогах содержится в главной файловой таблице MFT. Даная таблица содержит информацию обо всех файлах и каталогах. Каждому файлу или каталогу соответствует как минимум одна запись.
Формально размер записи MFT содержится в одной из переменных в загрузочном секторе. Но на практике все версии Windows используют фиксированный размер в 1024 байта. Из которых заголовок расположенный в начале файла размером 42 байта и содержащий 12 полей. И 982 байта без четкой структуры который используются для хранения атрибутов.
В таблице MFT записи пронумерованы. Каждая запись имеет порядковый номер (16 разрядов). Номер автоматически увеличивается при добавлении новой записи.
Адрес файла формируется по такому принципу. Адрес записи в таблице объединяется с порядковым номером (старшие 16 бит) на выходе получаем уникальный базовый адрес файла (64- разряда)
Для обращения к записям используют порядковый номер который как очевидно уникален для каждой записи. Использования такого обращения имеет ряд преимуществ к примеру помогает выявить поврежденный файла рассмотрим небольшой пример. Если ошибка произошла в момент выделения структур данных для нового файла то по уникальному номеру возможно определить какому файлу принадлежит запись новому или предыдущему. Следовательно данный метод используют программы для восстановления данных.[2]
Как уже говорилось в NTFS в отличии от FAT нет жесткой структуры записей. Отдельная запись имеет минимальное структурирование. Иметься заголовок и место для хранения атрибутов. При этом атрибутом может являться что угодно от даты и времени до самого файла.
В атрибутах может храниться самая разнообразная информация и естественно разные типы информации могут записываться в разных форматах и занимать разное количество места в записи.
Последние три пункта удобнее выполнять с помощью CHKDSK [3]
Представленный алгоритм прекрасно демонстрирует через что предстоит пройти пользователю при ручном восстановлении файла и необходимость в средстве сканирования для определения возможности восстановления файла. На основе ручного алгоритма был составлен алгоритм поиска удаленных файлов в системе NTFS представленный на рисунке 1.
Рисунок 1 Алгоритм поиска удаленных данных
В результате проделанной работы разработан алгоритм поиска удаленных файлов в файловой системе NTFS пригодных для дальнейшего восстановления. Файлы могут быть любых форматов и размеров.