Рис. 5.2. Структурная схема типичного жесткого диска, содержащая главные (primary) и расширенные (extended) разделы
Рис. 5.3. Расширенная таблица разделов
Штатные утилиты для разбиения диска на разделы (FDISK.EXE, Disk Manager) при создании логических дисков на расширенном разделе создают расширенную таблицу разделов с четырьмя записями: одна используется для описания логического раздела, вторая описывает еще один (следующий) логический раздел, а две не используются. Таким образом, получается "цепочка" таблиц разделов, в которой первая таблица разделов описывает от одного до трех основных (primary) разделов, а каждая следующая — соответствующий ей логический диск и положение следующей таблицы разделов (рис. 5.3).
Таким образом, при разбиении винчестера на четыре логических диска на нем образуются четыре таблицы разделов (см. листинг 5.4), хотя в данном случае можно было бы обойтись и одной. Штатный загрузчик требует, чтобы активный раздел описывался первой записью первой таблицы разделов, вследствие чего операционная система может грузиться только с диска С:. Нестандартные менеджеры загрузки, анализирующие всю цепочку разделов, позволяют загружаться с любого из разделов. Самые честные из них создают в первой таблице разделов еще один раздел (благо, если диск был разбит с помощью программы FDISK, то свободное место там всегда есть), назначают его активным и помещают в него свое тело. Другие же внедряются непосредственно в MBR и замещают собой первичный загрузчик, что создает очевидные проблемы совместимости.
Листинг 5.4. Пример таблицы разделов, сформированной программой FDISK
>Sector Inspector Copyright Microsoft Corporation 2003
>==================================================================
>Target - \\.\PHYSICALDRIVE0
> 1867 Cylinders
> 255 Heads
> 63 Sectors Per Track
> 512 BytesPerSector
> 12 MediaType
>LBN 0 [С 0, H 0, S 1]
>==================================================================
> Master Boot Record
>==================================================================
>| B | FS TYPE | START | END | | |
>| F | (hex) | C H S| C H S| RELATIVE | TOTAL |
>==================================================================
>| * | 07 | 0 1 1| 764 254 63| 63| 12289662|
>| | 0f | 765 0 1|1023 254 63| 12289725| 17687565|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>==================================================================
>LBN 12289725 [C 765, H 0, S 1]
>==================================================================
> Extended Boot Record
>==================================================================
>| B | FS TYPE | START | END | | |
>| F | (hex) | C H S| C H S| RELATIVE | TOTAL |
>==================================================================
>| | 07 | 765 1 1|1023 254 63| 63| 8193087|
>| | 05 |1023 0 1|1023 254 63| 8193150| 4096575|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>==================================================================
>LBN 20482875 [C 1275, H 0, S 1]
>==================================================================
> Extended Boot Record
>==================================================================
>| B | FS TYPE | START | END | | |
>| F | (hex) | C H S| C H S| RELATIVE | TOTAL |
>==================================================================
>| | 07 |1023 1 1|1023 254 63| 63| 4096512|
>| | 05 |1023 0 1|1023 254 63| 12289725| 5397840|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>| | 00 | 0 0 0| 0 0 0| 0| 0|
>==================================================================