Next Previous Contents

## 7. Геометрия диска , разделы и `overlap'

Если на вашем диске установлено несколько операционных систем, то каждая из них использует один или более разделов. Рассогласования между ними по поводу границ разделов могут привести к катастрофическим последствиям.

MBR содержит таблицу разделов описывающую расположение основных разделов. Данная таблица включает 4 описания , для 4х основных разделов , каждое выглядит таким образом

> `

>     struct partition {
>             char active;    /* 0x80: загрузочный, 0: не загрузочный */
>             char begin[3];  /* CHS для первого сектора */
>             char type;
>             char end[3];    /* CHS для последнего сектора */
>             int start;      /* 32 битный номер сектора (считая с 0) */
>             int length;     /* 32 битное число , количество секторов */
>     };

> `

(Где CHS означает Cylinder/Head/Sector).

Данная информация несколько избыточна : положение раздела на диске определяется как 24-битными полями `begin` и `end` , и 32 битными полями `start` и `length` .

Линукс использует только поля `start` и `length` , и поддерживает партиции содержащие не более 2^32 секторов , т.е. размер раздела ограничен 2 ТиБ. Это в 100 раз больше чем любой доступный сегодня диск , и вероятно это лимита хватит на следующие 5-8 лет. (Хотя разделы и могут быть очень больших размеров, но в тоже время нужно помнить что максимальный размер файла в ext2 системе 2 ГиБ)

DOS использует поля `begin` и `end` и использует сервисы BIOS (Int 13h) для доступа к диску , и поэтому не может использовать диски более 8.4 ГБ , даже с новым (преобразующим BIOS). (Разделы не могут быть более 2.1 ГБ , из за ограничений файловой системы FAT16).

Windows 95 поддерживает расширенный INT13 интерфейс ,и использует специальные типа разделов (c,e,f вместо b,6,5) чтобы обозначить что к партиции нужно обращаться таким образом.При использовании этих типов разделов , `begin` и `end` поля содержат "пустую" информацию , (1023/255/63). Windows 95 OSR2 поддерживает систему FAT32 (типы разделов b и c),которая позволяет использовать разделы почти 2 ТиБ размером.

Сообщения о перекрывании ('ovelapping') выдаваемые `fdisk` обычно обусловлены тем , что он воспринимает как не корректные поля `begin` и `end` для партиций большего размера. Проблема не поддается корректировке , т.к. разделы всегда будут восприниматься как перекрывающиеся , на дисках с более чем 1024 цилиндрами. Просто игнорируйте подобные сообщения , т.к. поля `start` и `length` все равно содержат корректную информацию. Следует быть осторожным при использовании fdisk , когда диск используется совместно с DOS, и использовать следующий формат вызова команд `cfdisk -Ps /dev/hdx` и `cfdisk -Pt /dev/hdx` для просмотра таблицы разделов диска `/dev/hdx`.

Next Previous Contents