Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

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