Различают следующие типы разделов.
? Основной раздел (Primary Partition), который иногда называют «первичным» разделом, – это часть физического диска, с которой можно работать как с отдельным физическим устройством. Важнейшей особенностью основного раздела является то, что только с раздела такого типа может производиться загрузка операционной системы. Каждый основной раздел имеет собственное имя – букву диска. На одном физическом диске с главной загрузочной записью (о ней будет сказано ниже) можно создать до четырех основных разделов либо три основных раздела и один дополнительный раздел с несколькими логическими дисками.
? Дополнительный раздел (Extended Partition), который иногда не очень правильно называют «расширенным», – это специальный раздел, который создается (точнее, может быть создан) на жестком диске с целью преодоления ограничений на максимально допустимое число основных разделов. В отличие от основного раздела, дополнительный раздел не требуется форматировать и ему не назначается буква диска. Вместо этого на дополнительном разделе создается один или несколько логических дисков.
? Логический диск – это часть дополнительного раздела, с которой можно работать как с отдельным устройством. Логический диск должен быть отформатирован и ему должна быть присвоена буква диска. Число создаваемых логи– ческих дисков не ограничено (ограничен лишь их суммарный объем: он не должен превышать размера дополнительного раздела, на котором создаются диски). Правда, реальное число доступных логических дисков ограничено числом 26, то есть длиной английского алфавита.
Каждому основному разделу, создаваемому на физическом диске, также ставится в соответствие логический диск. И в дальнейшем операционная система работает именно с логическими дисками, не «опускаясь» до уровня секторов и цилиндров, с которыми работает BIOS.
ПРИМЕЧАНИЕ
Для большей определенности логические диски, соответствующие основным разделам, в документации Windows именуются томами.
И так, на каждом физическом жестком диске компьютера может быть создано несколько разделов, с которых возможна загрузка операционных систем. Причем допустима ситуация, когда на разных томах установлены разнотипные операционные системы.
Возможна и такая конфигурация, при которой компоненты одной ОС распределены по нескольким дискам. В связи с этим введем еще два понятия.
Системный раздел – это раздел, содержащий файлы операционной системы.
Загрузочный раздел – это раздел, содержащий файлы, необходимые для загрузки операционной системы.
ПРИМЕЧАНИЕ
По какой-то загадочной причине в документации Windows системные тома именуются загрузочными и наоборот. В соответствии с этой документацией системный том содержит файлыподдержки оборудования, необходимые для загрузки Windows, а на загрузочном томе размещаются файлыоперационной системыWindows. Причем загрузочный том не обязательно является системным (каково, а?!). Основным признаком системного диска для ОС можно считать наличие в его корневой папке файла boot.ini, который содержит параметрыпроцедурызагрузки установленных ОС. Подробнее о роли файла boot.ini в процессе загрузки системыи поддержании ее работоспособности рассказано в главе 5.
В конфигурации компьютера может иметься несколько загрузочных разделов (например, один – для загрузки Windows 98, второй – для загрузки Windows XP, третий – для загрузки Linux).
Чтобы BIOS могла определить, с какого именно раздела должна выполняться загрузка при включении компьютера, используется признак активности раздела.
Активный раздел – основной раздел, с которого производится загрузка ОС при включении компьютера. Признак активности устанавливается для раздела при его создании, но может быть впоследствии установлен для другого раздела.
Теперь несколько слов о том, как организована и где хранится информация о созданных разделах.
На этапе разбиения диска на разделы в первый сектор диска (цилиндр 0, головка 0, сектор 1) записывается служебная информация, которая, собственно, и делает возможным дальнейшее применение диска «по назначению»:
в начало сектора помещается так называемая главная загрузочная запись – Master Boot Record (MBR). Она содержит программу начальной загрузки BIOS (ROM Bootstrap routine), которая считывает и загружает в оперативную память первый физический сектор активного раздела диска, называемый загрузочным сектором (Boot Sector);
после MBR, начиная с адреса 1BE (в шестнадцатеричном коде), создается таблица разделов (Partition Table), состоящая из 4 строк по 16 байт каждая (вот с чем связано ограничение в 4 основных раздела). Каждая запись в таблице разделов содержит адрес начала и размер раздела на жестком диске, а также информацию о том, является ли раздел активным.
В свою очередь, каждый раздел (кроме дополнительного) также имеет в своем составе служебную область, в которую обязательно входит загрузочная запись раздела – Boot Record (BR). Загрузочные записи логических дисков, входящих в состав дополнительного раздела, помещаются в каждый из них.
Загрузочная запись раздела (и логического диска) располагается в его первом секторе. Как и MBR, она содержит программу загрузки. Только в данном случае имеется в виду загрузка ОС, установленной на данном диске. Если диск не является системным, то при попытке загрузиться с него программа загрузки выдаст сообщение об ошибке.
Кроме того, в BR логического диска имеется своя (дополнительная) таблица разделов, EPT (Extended Partition Table). Если дополнительный раздел содержит несколько логических дисков, то EPT каждого логического диска (кроме последнего) содержит ссылку на EPT следующего логического диска.
Состав других компонентов, относящихся к служебной области раздела (логического диска), зависит от типа файловой системы, под которую он отформатирован.
Хранение данных в файловой системе FAT32
Файловая система FAT32 предназначена для хранения данных на жестких дисках и поддерживается операционными системами Windows 98/ME, Windows 2000/XP и Windows 2000/2003 Server. Структура FAT32 унаследована ею от файловой системы FAT, применявшейся в MS DOS.
Логическая структура диска в FAT32
Аббревиатура FAT означает File Allocation Table (таблица размещения файлов). Эта таблица хранит информацию о папках и файлах, имеющихся на жестком диске, и является одним из основных компонентов файловой системы. Число 32 указывает на разрядность чисел, используемых для нумерации элементов данных на диске. Очевидно, что чем «длиннее» число, тем большее количество элементов данных можно пронумеровать с его помощью. Теоретически FAT32 может работать с томами емкостью 2 Тбайт.
К служебным компонентам FAT32 относятся:
загрузочная запись раздела – Boot Record (BR);
таблица размещения файлов (FAT);
корневой каталог.
После служебной области располагается область данных (рис. 3.5).
ПРИМЕЧАНИЕ
В секторе под номером 6 (от начала раздела с файловой системой FAT32) хранится резервная копия загрузочной записи раздела. В других версиях файловой системыFAT типа FAT12 и FAT16 резервная копия BR отсутствует.
Рис. 3.5. Логическая структура раздела файловой системы FAT32
Таблица размещения файлов (FAT), которая дала название целому семейству файловых систем, хранит сведения о распределении файлов по кластерам из области данных. Ее структура достаточно проста: таблица содержит однотипные ячейки по числу кластеров в области данных раздела. Содержимое каждой ячейки определяет, занят ли соответствующий кластер или свободен. Если кластер занят (то есть выделен под какой-либо файл), то в ячейке хранится ссылка на следующий кластер, отданный этому файлу. В ячейке, соответствующей последнему кластеру файла, записывается признак конца файла (EOF – End Of File, «конец файла»).
Почему возникает необходимость связывать ссылками кластеры одного файла, вместо того чтобы разместить данные в соседних кластерах? Если бы файлы записывались на диск последовательно и ни один из них впоследствии не удалялся или не изменялся бы в размере, то так бы, вероятно, и было. Однако после удаления файла его кластеры распределяются под новый файл, размер которого будет, скорее всего, другим. Если новый файл окажется больше предыдущего, то его «хвост» придется дописывать на другой свободный участок. Если же новый файл окажется меньше, то после его записи останется «дыра», которую файловая система отдаст при случае следующему файлу. Очевидно, что уже после месяца интенсивной работы с файлами дисковое пространство будет напоминать своеобразные пазлы (puzzle), сложить которые в цельную картину без участия FAT не получится (рис. 3.6).
ПРИМЕЧАНИЕ
Освобождение и повторное использование дискового пространства приводит к так называемой фрагментации диска, о которой пойдет речь в подразделе «Обслуживание дисков» данной главы. Более подробно структура таблицы размещения файлов рассматривается в разделе «Восстановление структуры файловой системы» главы 5.
Для повышения надежности хранения данных каждый раздел содержит две копии FAT, которые можно условно обозначить как FAT1 и FAT2. Запись информации в обе копии выполняется автоматически, и так же автоматически файловая система переходит к работе с FAT2, если прочитать FAT1 не удается. Однако сравнение содержимого таблиц не производится, и если они различаются, то определить, какая из них «правильная», можно только «методом дедукции».
Рис. 3.6. Пример распределения пространства раздела
Корневой каталог содержит описание записанных в нем файлов (имя, атрибуты, номер первого кластера файла) и, по сути, ничем не отличается от любого другого каталога (папки), созданного на диске. Особое внимание к корневому каталогу в FAT32 можно считать традицией, унаследованной от предыдущих версий файловой системы (FAT12 и FAT16).
Корневой каталог в FAT32, в отличие от ее предшественницы FAT16, может располагаться не «впритык» к FAT2, а в произвольной позиции области данных. Ссылка на номер первого кластера корневого каталога хранится в загрузочной записи раздела. Благодаря предоставленной «свободе» корневой каталог в FAT32 может при необходимости расширяться (в FAT16 его размер фиксирован и он не может содержать более 512 записей).
Из всего сказанного выше следует вывод, весьма важный с точки зрения проблемы сохранения и восстановления данных: создание нескольких логических устройств даже при наличии единственного физического диска позволяет повысить надежность хранения данных. Разумеется, если вы знаете, как именно использовать такую возможность.
Настраиваемые параметры FAT32
При форматировании раздела или логического диска под файловую систему FAT32 пользователь может выбирать значение размера кластера. Этот параметр весьма важен не только с точки зрения рационального использования пространства диска, но и с точки зрения эффективности операций по восстановлению данных.
Дело в том, что успешность восстановления данных существенно зависит от соотношения размера кластера и среднего размера записываемых на диск файлов. Если выбрать размер кластера, примерно равный среднему размеру файлов (с некоторым запасом), то велика вероятность того, что файл будет «умещаться» в одном кластере. Восстановить такой файл значительно проще, чем состоящий из десятка кластеров, разбросанных по всему диску.
С другой стороны, чем больше размер кластера, тем сложнее файловой системе отыскать на диске свободный участок, достаточный для размещения непрерывной цепочки кластеров. Соответственно увеличение размера кластера повышает вероятность быстрой фрагментации диска. Поэтому кластеры большого размера целесообразно использовать для таких дисков (разделов), на которые предполагается записывать редко изменяемые файлы большого размера, например файлы с мультимедийными (видео– или аудио-) данными.
Чтобы оценить возможные потери дискового пространства для различных размеров кластера, можно воспользоваться утилитой, которая входит в состав программы Norton PartitionMagic (подробнее о ней рассказано в следующем разделе, «Инструменты для работы с разделами дисков»). Утилита, о которой идет речь, позволяет изменить размер кластера выбранного раздела, но предварительно предлагает оценить выбранное решение (рис. 3.7).