загрузка...

Общая картина

  Давайте объединим два метода определения разделов. Если в системе используется от одного до четырех разделов, то для их создания достаточно MBR и расширенные разделы не потребуются. Если количество разделов больше 4, в MBR создается до трех первичных разделов файловой системы, а оставшееся место на диске выделяется под первичный расширенный раздел.
В первичном расширенном разделе информация о разделах хранится в формате связанного списка. Для оптимизации схемы со связанным списком, описанной ранее, можно отказаться от изначального создания вторичного расширенного раздела и поместить таблицу разделов в начало первичного расширенного раздела. В этом случае таблица будет описывать одну вторичную файловую систему и один вторичный расширенный раздел.

Рассмотрим пример. Имеется 12-гигабайтный диск, который требуется разбить на шесть 2-гигабайтных разделов. Первые три 2-гигабайтных раздела создаются в первых трех записях MBR, а оставшиеся 6 Гбайт выделяются под первичный расширенный раздел, включающий дисковое пространство от 6 до 12 Гбайт.
Остается определить еще три раздела в формате связанного списка. Мы используем таблицу разделов в первом секторе первичного расширенного раздела, создаем вторичный раздел файловой системы в диапазоне от 6 Гбайт до 8 Гбайт и создаем вторичный расширенный раздел в диапазоне от 8 Гбайт до 10 Гбайт. Таблица разделов находится во вторичном расширенном разделе и содержит записи вторичного раздела файловой системы в диапазоне от 8 Гбайт до 10 Гбайт и вторичного расширенного раздела в диапазоне от 10 Гбайт до 12 Гбайт. Таблица разделов находится в последнем вторичном расширенном разделе и содержит запись последнего раздела файловой системы в диапазоне от 10 до 12 Гбайт. Схема показана на рис. 5.4.
Как утверждается в большинстве документов, расширенная таблица разделов должна содержать не более одной записи для раздела вторичной файловой системы и одной записи для вторичного расширенного раздела. На практике многие операционные системы не будут выдавать ошибку при использовании более двух записей. В июле 2003 г. я опубликовал 160-мегабайтный образ диска [Carrier, 2003]

с шестью 25-мегабайтными разделами DOS в списке CFTT Yahoo! Groups (http:/ /groups.yahoo.com/group/cftt/). Образ содержал первичный расширенный раздел с двумя записями вторичных разделов файловых систем и одной записью вторичного расширенного раздела. Одни системные программы правильно обрабатывали запись третьего раздела, другие игнорировали его или вместо 25-мегабайтного раздела обнаруживали раздел объемом 1 Тбайт. Этот пример показывает, что даже такая распространенная схема, как разделы DOS, может вызывать проблемы у аналитических программ.

Расширенные разделы обладают специальными типами, которые используются в их записях таблиц разделов. А чтобы эта сложная схема стала еще сложнее, существует несколько типов расширенных разделов, среди которых не различаются типы первичных и вторичных расширенных разделов. Самые распространенные типы расширенных разделов — «расширенный раздел DOS», «расширенный раздел Windows 95» и «расширенный раздел Linux».
Загрузочный код
Загрузочный код диска DOS находится в первых 446 байтах первого 512-байтового сектора, то есть в MBR. В конце сектора находится таблица разделов. Стандартный загрузочный код Microsoft обрабатывает таблицу разделов MBR и определяет, для какого раздела установлен флаг загрузки. Обнаружив такой раздел, загрузчик обращается к его первому сектору и передает управление находящемуся в нем коду. Код в начале раздела является специфическим для операционной системы. Вирусы, внедряющиеся в загрузочный сектор, записывают себя в первые 446 байт MBR, чтобы они выполнялись при каждой загрузке компьютера.
В наши дни компьютеры с несколькими операционными системами становятся все более распространенным явлением. Проблема решается двумя способами. Система Windows записывает в загрузочный раздел код, который дает возможность пользователю выбрать загружаемую операционную систему. Другими словами, сначала выполняется загрузочный код в MBR, который передает управление загрузочному коду Windows. Загрузочный код Windows дает возможность пользователю выбрать раздел для загрузки системы.
Второй способ основан на модификации кода MBR. Новый код MBR выдает список возможных вариантов, из которого пользователь выбирает раздел для загрузки. Как правило, такое решение требует большего объема кода и использует некоторые свободные секторы, существующие перед началом первого раздела.
Итоги
Сложность системы разделов DOS объясняется тем, что каждая таблица разделов может содержать не более четырех записей. В других системах разделов, рассматриваемых далее в этой главе, используются таблицы большего размера, поэтому такие системы получаются более простыми. Для получения информации о структуре диска с разделами DOS на высоком уровне необходимо выполнить следующие действия: Прочитать MBR из первого сектора диска, идентифицировать и обработать четыре записи таблицы разделов. При обработке записи расширенного раздела прочитать первый сектор расширенного раздела и обработать записи его таблицы разделов так же, как это делается для MBR.
При обработке записи обычного (не расширенного) раздела выводится его начальный сектор и размер. Конечный сектор определяется суммированием этих величин с вычитанием 1.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Общая картина:

  1. Общая картина
  2. Общая картина
  3. Общая картина
  4. Общая картина
  5. КУЛЬТУРНАЯ КАРТИНА МИРА
  6. Какими мне кажутся картины
  7. Картина мира. 
  8. Картина мира. 
  9. Содержание творчества — «картины сердцам
  10. ОБЩАЯ ЧАСТЬ Раздел I. ОБЩАЯ ХАРАКТЕРИСТИКА УГОЛОВНОГО ПРАВА (ALLGEMAIN GRUNDLAGEN)