Геометрия диска , разделы и `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.