Разделы BSD


Компьютерным аналитикам все чаще приходится иметь дело с серверными системами BSD UNIX — такими, как FreeBSD (http://www.freebsd.org), OpenBSD (http://www.openbsd.org) и NetBSD (http://www.netbsd.org). Такие системы используют собственные схемы формирования разделов, и в этой части будут описаны соответствующие структуры данных. На практике чаще встречается система Linux, но она использует только разделы DOS и не имеет собственных структур данных.
Многие системы BSD работают на оборудовании IА32 (то есть x86/i386), а при их проектировании учитывалась возможность их совместного существования на одном диске с продуктами Microsoft. Такие системы строятся на базе разделов DOS, упоминавшихся в предыдущей главе. Системы BSD, работающие на другом оборудовании, по всей вероятности, не будут использовать разделы DOS, но в книге они не рассматриваются.
Прежде чем переходить к рассмотрению темы, необходимо понять одно важное обстоятельство: во время работы операционная система может выбрать разделы, доступ к которым предоставляется пользователю. Как будет показано, операционная система FreeBSD использует системы разделов DOS и FreeBSD, тогда как OpenBSD и NetBSD используют только систему разделов BSD. Для данного раздела необходимо хотя бы общее понимание разделов DOS.
Общий обзор
Система разделов BSD проще системы разделов DOS, но по своим возможностям она уступает картам разделов Apple. Необходимые данные хранятся только в одном секторе, который находится в разделе DOS (рис. 6.1). Это было сделано для

того, чтобы на том же диске могла быть установлена система Windows, а пользователь мог выбрать загружаемую операционную систему. В таблице разделов DOS создается запись для разделов FreeBSD, OpenBSD или NetBSD — типы 0ха5, Охаб и 0ха9 соответственно. Раздел BSD является одним из первичных разделов DOS.

Рис. 6.1. Диск с двумя разделами DOS и тремя разделами BSD внутри раздела DOS


Если бы я стремился к максимальной строгости в терминологии, стоило бы сказать, что разделы BSD находятся внутри тома, созданного на основе раздела DOS. Как объяснялось в главе 4, это один из примеров разбиения на разделы тома, созданного на базе раздела.
Центральной структурой данных является разметка диска (disk label). Ее размер составляет минимум 276 байт, и она находится во втором секторе раздела BSD. В некоторых системах, не использующих платформу IA32, она может храниться в первом секторе со смещением. В FreeBSD, OpenBSD и NetBSD используется одна структура данных, но с некоторыми различиями в реализации. Сейчас я изложу общие положения, а конкретные подробности будут приведены далее.
Структура разметки диска содержит аппаратные спецификации диска и таблицы разделов для восьми или шестнадцати разделов BSD. В отличие от схемы Apple, таблица разделов имеет фиксированный размер, а в отличие от разделов DOS, существует только одна таблица разделов. Каждая запись в таблице разделов BSD содержит следующие поля: начальный сектор раздела BSD; размер раздела BSD; тип раздела; размер фрагмента файловой системы UFS; количество фрагментов файловой системы UFS на блок; количество цилиндров в группе UFS.
Адрес начального сектора отсчитывается от начала диска, а не от разметки диска или раздела DOS. Поле типа раздела определяет тип файловой системы, которая должна находиться в разделе BSD — например, UFS, область подкачки, FAT или неиспользуемая область.
Последние три значения используются только в том случае, если раздел содержит файловую систему UFS. Файловая система UFS описывается в главах 16 и 17.
Основные принципы схемы разделов BSD просты. Получение информации сводится к чтению одной структуры данных и обработке списка разделов. Впро

чем, некоторые проблемы могут возникнуть с доступом к разделам. Например, в системе с альтернативной загрузкой аналитик должен знать, обладал ли пользователь доступом к разделу Windows и/или к разделу BSD. В FreeBSD этот вопрос решается не так, как в OpenBSD и NetBSD. Мы разберемся, как каждая из этих систем использует данные в разметке диска, хотя эта тема может быть отнесена к анализу уровня приложений.
FreeBSD
FreeBSD предоставляет пользователю доступ ко всем разделам DOS и BSD на диске. В терминологии FreeBSD разделы DOS называются сегментами (slice), а разделы BSD называются просто разделами. Следовательно, если в системе установлены Windows и FreeBSD, при работе с FreeBSD пользователь будет иметь доступ сегментам Windows.
Структура разметки диска в FreeBSD используется для организации секторов только в пределах раздела DOS, содержащего разделы FreeBSD. На первый взгляд это кажется очевидным, но в действительности это одно из принципиальных различий между реализациями OpenBSD и FreeBSD. На рис. 6.2 разметка диска описывает три раздела, находящиеся в разделе DOS с типом раздела FreeBSD, но для описания раздела с типом NTFS она не нужна.


FreeBSD, как и прочие разновидности UNIX, связывает с каждым разделом и сегментом специальный файл устройства. Имя этого файла задается в соответствии с номером раздела DOS и номером раздела BSD. Первичному диску АТА присваивается базовое имя /dev/adO. Для каждого сегмента, также называемого разделом DOS, к базовому имени прибавляется буква «s» и номер сегмента. Например, первый сегмент обозначается именем /dev/adOsl, а второй — /dev/ad0s2. На любом сегменте с типом раздела FreeBSD система ищет структуру разметки диска. Разделам в сегменте присваиваются буквенные обозначения на основании положения их записей в таблице разделов разметки диска. Например, если второй раздел DOS принадлежит FreeBSD, первому разделу BSD будет присвоено имя /dev/ad0s2a, а второму — /dev/ad0s2b. Также иногда для разделов BSD создается вторая группа имен устройств, не включающая в себя номера сегментов. Например, имя /dev/adOa может использоваться как сокращенное обозначение раздела /dev/ad0s2a (если раздел FreeBSD является вторым разделом DOS).
Некоторые разделы BSD имеют особый смысл. Раздел «а» обычно выполняет функции корневого, в нем находится загрузочный код. Раздел «Ь» обычно содержит область подкачки, раздел «с» обычно представляет весь сегмент, а начиная с «d», разделы могут содержать произвольную информацию. Я говорю «обычно»,
потому что эти разделы создаются большинством системных программ BSD, но пользователь может отредактировать таблицу разделов в разметке диска и изменить ее содержимое.
Итак, система FreeBSD предоставляет доступ ко всем разделам DOS и разделам FreeBSD. В процессе полного анализа системы эксперт должен проанализировать каждый раздел DOS и каждый раздел BSD, присутствующий в разметке диска.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Разделы BSD:

  1. Раздел VIII. Раздел наследства
  2. Разделы Apple
  3. Разделы GPT
  4. Разделы в DOS
  5. Восстановление удаленных разделов
  6. 1.2. Правила раздела
  7. 6.2. Условия раздела
  8. 4. Время осуществления раздела наследства
  9. § 10. Раздел наследства (п. 1835-1838)
  10. 46. Преимущественное право при разделе наследства
  11. Раздел II Основы культурогенез