При создании раздела на
жестком диске в операционной среде Windows одним из этапов является
форматирование раздела, а именно выбор файловой системы FAT (File
Allocation Table) или NTFS (New Technology File System). Многие
пользователи часто задаются вопросом, а какую файловую систему выбрать?
Часть людей выбирает ответ который предоставляет Windows по умолчанию,
другие же делают свой выбор основываясь на мнениях друзей и коллег, но
есть и такие, кто ищет статьи, сравнивающие эти файловые системы в
Internet и прочей литературе. Статей таких сейчас найти можно немало,
но основным критерием для сравнения выбирается, как правило,
быстродействие файловых систем, а именно: поиск данных файла, поиск
свободного места, работа с каталогами и файлами, и т.д. Но данный
критерий не дает точного ответа на поставленный вопрос - какую же
файловую систему выбрать? У каждой из них есть как свои достоинства,
так и недостатки, иначе одна бы из них отмерла за ненадобностью. Мы же
попробуем поставить вопрос иначе, введем новый критерий для оценки
файловых систем используемых операционной системой Windows, возможно
именно он и склонит чашу весов в пользу одной из них. С чего легче
восстановить данные? С FAT или NTFS? При выборе какой файловой системы
пользователь получает большие шансы сохранности своих данных?
Для того, чтобы разобраться
с поставленным вопросом необходимо немного углубиться в специфику
работы каждой из систем. Каждая файловая система состоит из служебных и
пользовательских данных. Под служебными мы будем понимать те данные, в
которых хранятся сведения о самой файловой системе, а также сведения о
размещении данных на разделе. К примеру, в папке Мои документы на диске есть файл 1.doc.
Так вот, сведения о том в какой папке лежит файл, его название, дата
создания, дата последнего изменения, размер и т.д. – все это будем
относить к служебным данным. Содержание же самого файла - это
пользовательские данные. Разница между файловыми системами, как раз, и
проявляется в служебных данных и их восстановлении в случае повреждения.
Служебные данные, независимо
от типа файловой системы, всегда начинаются с так называемого Boot
Record (загрузочный сектор) – содержит описание параметров раздела.
Повреждение данного сектора некритично для пользовательских данных, так
как всегда есть копия (только одна) или же специалист всегда может
высчитать его вручную в случае, когда остальные служебные данные
остались неповрежденными.
Каждый файл, находящийся на
разделе зачастую хранится не целиком, а разбит на фрагменты разной
длины, которые разбросаны по всему разделу (отсюда, кстати, и возникает
понятие дефрагментации - сложить файл целиком в одном месте).
Информацию о порядке фрагментов и их местонахождении назовем цепочкой
файла. В файловой системе FAT сразу же за загрузочным сектором следуют
данные о цепочках файлов, так называемая FAT таблица и ее копия.
Основная концепция файловой системы FAT заключается в том, что каждому
файлу и каталогу выделяется структура данных, называемая записью
каталога. В этой структуре хранится имя файла, его размер, начальный
адрес содержимого файла (первый фрагмент) и т.д. Записи располагаются
по всему разделу. Основным отличием между рассматриваемыми файловыми
системами как раз и является то, что в NTFS записи для каждого файла и
каталога хранятся в одном месте, так называемой, зоне MFT (главная
файловая таблица). Эта зона в свою очередь тоже иногда может быть
фрагментирована.
Рассмотрим типичные
повреждения служебных данных и попытаемся оценить вероятность
восстановления. В данных примерах мы не учитываем повреждение
пользовательских данных.
1. В служебных данных появился нечитаемый участок (bad - блок).
Для файловой системы
FAT необходимо разделять два варианта повреждения служебных данных:
поврежденный участок попал в таблицу FAT и тем самым оказались
утерянными сведения о некоторых цепочках файлов, поврежденный участок
попал в запись о каталоге. В первом случае однозначно остаются
работоспособными нефрагметированные файлы. Если же файл был
фрагментирован и утеряна цепочка фрагментов, теоретически файл можно
восcтановить, так как известно начало файла и все фрагменты на разделе
присутствуют. Однако сложность такого восстановления вырастает в
несколько раз, в связи с тем, что специалисту в ручном режиме
необходимо найти все фрагменты (количество фрагментов, их размер,
местоположение неизвестно). Сроки выполнения такой работы могут быть
продолжительными. Во втором случае, если повреждена запись каталога,
файлы можно восстановить по таблице FAT, единственное будут утеряны
имена файлов и их местоположение в дереве каталогов. На практике
встречается повреждение и таблицы FAT и записей о каталогах.
Для файловой системы
NTFS: если нечитаемый участок попадает в зону MFT, то, целиком
исправными остаются файлы в неповрежденных участках, в остальных же
файлах, как правило, оказываются утерянными важные сведения:
местоположение начала файла, имя, размер, цепочка фрагментов и т.д.
Восстановить удастся нефрагментированные файлы, но при этом они будут
без первоначального имени и местоположения в дереве каталогов. Все
другие файлы, как правило, будут утеряны, но встречаются частные
случаи, когда все-таки можно восстановить информацию.
2. Форматирование раздела.
Для файловой системы
FAT: при форматировании раздела происходит создание новых таблиц FAT
(старые таблицы оказываются обнуленными, без сведений о цепочках
файлов) и корневого каталога раздела. Дерево каталогов можно
восстановить, за исключением названий папок в корневом каталоге.
Работоспособными будут нефрагментированные файлы. Как и в предыдущем п.
1., остальные файлы необходимо собирать вручную специалисту.
Для файловой системы
NTFS: при форматировании происходит создание новой таблицы MFT
минимального размера, по сути, происходит только изменение заголовка
MFT, остальная часть зоны остается неизмененной, таким образом,
восстановление возможно в полном объеме.
3. Форматирование и дополнительное повреждение служебных данных (запись новой информации на раздел). Для файловой системы
FAT: полностью отсутствуют оригинальные таблицы FAT и есть повреждения
в записях о каталогах. В таком случае работоспособными будут
нефрагментированные файлы, фрагментированные же в неповрежденных
записях о каталогах можно пробовать собирать вручную. Остальное же, как
правило, утрачено.
Для файловой системы
NTFS: полностью удастся восстановить файлы, попавшие в неповрежденные
участки MFT, кроме этого, исправными будут файлы, лежащие целиком,
правда без первоначального имени и местоположения в дереве каталогов.
4. Удаление файла.
Для файловой системы
FAT: при удалении файла происходит обнуление цепочки фрагментов в
таблице FAT и в запись о каталоге, в котором находился файл, заносятся
сведения об удалении – изменяется первый символ имени файла. В данном
случае восстановление файла производится специалистом в ручном режиме.
Для файловой системы
NTFS: мы не будем вдаваться в детали того, что происходит при удалении,
так как придется ввести и объяснить много новых терминов, а это не
является целью данной статьи, отметим лишь то, что восстановить файл
намного проще и вероятность такого восстановления высока.
5. Удаления файла и запись новых данных на раздел.
Для файловой системы
FAT: при удалении для нас остается важным и непотерянным начало файла,
тогда остается вероятность собрать файл вручную. Если же, новые данные
попадут в запись о каталоге, в котором находился файл, то шансы
восстановить файл значительно уменьшаются. Работоспособными будут
только целиком лежащие файлы на разделе.
Для файловой системы NTFS:
при попадании новых данных на запись MFT теряются важные сведения о
файле, восстановление будет высокой степени сложности.
Мы рассмотрели наиболее
часто встречающиеся случаи повреждения служебных данных, те же примеры,
которые не попали в список, зачастую, можно привести к описанному выше.
Попробуем подвести некоторые итоги. В независимости от файловой системы
и какие бы повреждения служебных данных не происходили, высока
вероятность восстановить нефрагментированные файлы, но на практике, как
правило, те файлы с которыми ведется интенсивная работа являются
фрагментированными. Отсюда, кстати, вытекает важность дефрагментации,
что в дальнейшем увеличит процент восстановленной информации, но
следует учитывать, что сама процедура дефрагментации является очень
опасной, так как, происходит изменение размещения пользовательских
данных на разделе и неизвестно поведение дефрагментирующих программ при
попадании на ошибки в файловой системе (возникающие из-за различных
сбоев операционной системы), реакция на bad-блоки, появление которых,
зачастую, сразу незаметно. Поэтому перед дефрагментацией рекомендуется
делать резервную копию важных данных на другой (нефрагментируемый)
раздел. В случае, когда файл фрагментирован, для восстановления важно
знать адрес начала файла, тогда есть вероятность собрать его фрагменты.
При повреждении записи MFT о файле неизвестно начало файла, но
восстановление такого файла затруднительно еще и потому, что
минимальный размер фрагмента в NTFS, как правило, равен 4096 байт даже
на разделах большого размера. В файловой же системе FAT минимальный
размер фрагмента встречается и 4096 байт, 8192 байт, 16384 байт, 32768
байт в зависимости от размера раздела, что повышает вероятность
восстановления. Но для того, чтобы делать однозначные выводы о
преимуществе той или иной файловой системы, необходимо детальнее
углубиться в специфику работы каждой из них. В следующих статьях мы
попытаемся подробнее рассмотреть, что происходит при создании файла,
увеличении его размера, как ведут себя обе файловые системы в этом
случае. Возможно именно тогда мы и приблизимся к интересующему нас
ответу на вопрос: с какой файловой системы FAT или NTFS легче
восстановить данные?
|