- •Прежде всего... Меры предосторожности
- •Пожар в здании, где находится компьютер или стихийные бедствия. Общие принципы восстановления информации
- •С чего начать
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Структура файловой системы
- •Восстановление partition table
- •Восстановление данных вручную
- •Формат записи значений цилиндра и сектора (10 и 6 бит соответственно)
- •Значение "относительного сектора"
- •Восстановление винчестера, разбитого на несколько логических дисков.
- •Восстановление загрузочного сектора fat Простейший случай. Разрушен только Boot Sector
- •Непростой случай. Разрушен не только Boot Sector
- •Как восстановить Boot Sector вручную
- •Восстановление загрузочного сектора ntfs
- •Восстановление загрузочного сектора первого раздела
- •Восстановление резервного загрузочного сектора, если первичный сектор отсутствует, поврежден или содержит неверные данные
- •Восстановление загрузочных секторов в Extended partitions
- •Восстановление самой fat Резервная копия
- •Файл подкачки
- •Проверка состояния файловой системы fat
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Анализ главной загрузочной записи mbr и таблицы разделов
- •Описание формата таблицы разделов
- •Прослеживание списка разделов диска
- •Проверка таблицы разделов при помощи программы diskedit
- •Сохранение параметров диска и таблицы разделов диска
- •Исследование расширенного раздела диска
- •Сохранение содержимого таблиц логических дисков
- •Исследование логических дисков fat
- •Проверка загрузочного сектора
- •Анализ зарезервированных секторов
- •Формат таблицы fat
- •Просмотр таблицы fat
- •Формат каталогов
- •Просмотр каталогов
- •Каталоги в файловой системе vfat
- •Область данных
- •Поиск и восстановление файлов в разделах fat
- •Поиск с помощью программы Norton File Find
- •Поиск с помощью программы diskedit
- •Поиск разделов
- •Поиск таблиц fat
- •Поиск потерянных каталогов
- •Восстановление потерянных каталогов и файлов
- •Один из алгоритмов восстановления области данных
- •Приступим
- •А если Root Directory восстановить не удалось?
- •Этот способ применим как для каталогов, так и для отдельных файлов. Восстановление данных в разделах ntfs (с) Александр Фролов, 2002, http://www.Frolov.Pp.Ru/, http://www.Datarecovery.Ru/
- •Файловая система нового поколения для Microsoft Windows nt/2000
- •Поиск основных внутренних структур ntfs
- •Загрузочный сектор раздела ntfs
- •Определение геометрии раздела ntfs
- •Размер сектора
- •Размер кластера
- •Начало таблицы mft и копии ее первых записей
- •Размер записи таблицы mft
- •Поиск главной таблицы файлов mft
- •Атрибуты файла
- •Поиск атрибутов в записях mft
- •Массив корректировки секторов записи mft
- •Прослеживание списка атрибутов
- •Формат атрибутов файла
- •Заголовок атрибута файла
- •Проблемы с оборудованием
- •Термокалибровка
- •Отказ модуля диагностики
- •Мультисекторные операции
- •Вычисление зон предкомпенсации
- •Потеря сигнала готовности
- •Ошибка чтения сектора
- •Восстановление 0-й дорожки
Анализ зарезервированных секторов
Между загрузочным сектором и таблицей размещения файлов FAT могут находиться зарезервированные секторы, которые являются служебными для файловой системы или не используются.
Количество секторов, зарезервированных на логическом диске, можно узнать из блока параметров BIOS (BPB или Extended BPB, в зависимости от версии операционной системы). Искомое значение находится в поле этого блока со смещением 3. При форматном просмотре количество зарезервированных секторов указано в строке Reserved sectors at beginning.
Если зарезервирован только один сектор, то первая копия таблицы размещения файлов FAT располагается сразу вслед за загрузочным сектором. Именно загрузочный сектор в данном случае и является зарезервированным.
Когда зарезервировано несколько секторов, между загрузочным сектором и первой копией таблицы FAT может находиться еще несколько секторов, содержащих нулевые значения. Если компьютер заражен вирусом, в этих секторах может быть спрятано тело вируса или копия оригинальной загрузочной записи, замещенной вирусом.
Таблицы размещения файлов FAT
Операционная система объединяет отдельные секторы диска в так называемые кластеры. При создании новых каталогов и непустых файлов для них выделяется один или несколько кластеров. Если размер файла увеличивается, для него выделяются дополнительные кластеры.
Размер кластера в секторах (то есть количество секторов в одном кластере) нетрудно узнать из поля блока параметров BIOS BPB со смещением 2. При форматном просмотре содержимого загрузочного сектора размер кластера отображается в строке Sectors per cluster.
Для экономии дискового пространства файлам и каталогам распределяются кластеры, которые не обязательно расположены рядом. Таким образом, отдельные кластеры, принадлежащие одному и тому же файлу, могут находиться в разных местах логического диска. За такую экономию приходится платить производительностью, так как считывание фрагментированного файла связано с многочисленными перемещениями магнитных головок, а это самая медленная дисковая операция.
Другая проблема, связанная с фрагментацией файлов, заключается в необходимости хранения списка кластеров, выделенных каждому файлу. Очевидно, для того чтобы прочитать файл, операционная система должна последовательно прочитать все кластеры, распределенные этому файлу.
Где же хранятся списки кластеров?
Эти списки хранятся в таблице размещения файлов FAT (File Allocation Table), к анализу которой мы скоро приступим.
Таблицу размещения файлов можно представить себе как массив, содержащий информацию об относительном расположении кластеров всех файлов. Размер массива определяется общим количеством кластеров на логическом диске. В элементах массива находятся списки кластеров, распределенных файлам, причем элементы массива, соответствующие свободным кластерам, содержат нулевые значения.
Если файл занимает несколько кластеров, то такие кластеры связаны в список. При этом элементы таблицы FAT содержат номера следующих используемых данным файлом кластеров. Конец списка отмечен в таблице специальным значением. Номер первого кластера, распределенного файлу, хранится в элементе каталога, описывающего данный файл (в дескрипторе файла).
Таким образом, зная имя файла и каталог, где этот файл расположен, операционная система MS-DOS может определить номер первого кластера, распределенного файлу, а затем, проследив список кластеров по таблице FAT, определить и номер остальных кластеров, занятых этим файлом.
Программа FORMAT, предназначенная для форматирования диска и некоторые специальные программы аналогичного назначения проверяют логический диск на предмет наличия дефектных областей. Кластеры, расположенные в этих дефектных областях, отмечаются в FAT как плохие и не используются операционной системой.
Для примера на рис. 6 показаны упрощенные дескрипторы корневого каталога диска C:. В них описаны файлы MYFILE1.DOC и MYLETTER.DOC, а также элементы таблицы размещения файлов FAT, выделенные для этих файлов.
Рис. 6. Пример распределения кластеров для файлов MYFILE1.DOC и MYLETTER.DOC
Файл MYFILE1.DOC занимает три кластера с номерами 11, 17 и 18, а файл MYLETTER.DOC - два кластера с номерами 12 и 13. В каталоге указаны номера первых кластеров, распределенных этим файлам (соответственно 11 и 12). Последние ячейки, соответствующие последним кластерам, распределенным файлам, содержат специальное значение - признак конца цепочки кластеров. Для 16-разрядного формата FAT это 0xFFFF, а для 12-разрядного - 0xFFF.