Linux для пользователя - страница 14

Шрифт
Интервал

стр.

Таблица разделов содержит 4 записи по 16 байт для 4 разделов, которые называют первичными. Каждая запись имеет следующую структуру:

>struct partition {

>  char active;      /* 0x80: раздел активный (загрузочный), 0: не активный */

>  char begin[3];   /* CHS первого сектора, 24 бита

>  char type;        /* тип раздела (например, 83 — LINUX_NATIVE, 82 — LINUX_SWAP, 85 — LINUX_EXTENDED) */

>  char end[3];      /* CHS последнего сектора, 24 бита */

>  int start;            /* номер начального сектора (32-бита, счет начинается с 0) */

>  int length;         /* число секторов в разделе (32 бита) */

>};

Таблица разделов диска создается обычно с помощью программы fdisk. В ОС Linux имеется как стандартная программа fdisk (которая, впрочем, существенно отличается от программы fdisk в MS-DOS и Windows), так и еще две программы для работы с разделами диска: cfdisk и sfdisk. Программа cfdisk, как и fdisk, предназначена для работы с таблицей разделов диска: она не обращает никакого внимания на информацию, которая уже имеется на диске. Отличается она только несколько более удобным интерфейсом, предоставляющим пользователю не просто подсказку по командам, а систему меню. Программа sfdisk обладает несколько более широкими возможностями, в частности, она позволяет произвести некоторые операции над существующими разделами диска.

DOS использует поля begin и end таблицы разбиения диска и функции прерывания 13 BIOS (Int 13h) для доступа к диску, и поэтому не может использовать диски объемом более 8,4 Гбайт, даже с новым BIOS (об этом будет рассказано ниже), а разделы не могут быть более 2,1 Гбайт (но это уже из-за ограничений файловой системы FAT16).

Linux использует только поля start и length таблицы разбиения диска и поддерживает разделы, содержащие до 232 секторов, т. е. размер раздела может достигать 2 Тбайт.

Поскольку в таблице разбиения отведено только 4 строки для задания разделов, число первичных разделов на диске с самого начала ограничено: их может быть не более 4. Когда стало ясно, что и 4-х разделов мало, были изобретены логические разделы. Для этого один из первичных разделов объявляется "расширенным" (тип раздела - 5, или F, или 85 в шестнадцатеричной системе), и в нем создаются "логические разделы". Расширенные разделы сами по себе не используются, они могут лишь хранить логические разделы. Первый сектор расширенного раздела хранит таблицу разделов с четырьмя входами: один используется для логического раздела, другой для еще одного расширенного раздела, а два не используются. Каждый расширенный раздел имеет свою таблицу разбиения, в которой, как и в первичном расширенном разделе, используются только две строки, задающие один логический и один расширенный раздел. Таким образом, получается цепочка из таблиц разделов, где первая описывает три основных раздела, а каждая следующая - один логический раздел и положение следующей таблицы.

Программа sfdisk в Linux показывает всю цепочку:

[root]# sfdisk -l -x /dev/hda


Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/track

Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0


Device     Boot    Start    End    #cyls     #blocks      Id    System

/dev/hda1   *       0+      189      190-    1526143+    6    FAT16

/dev/hda2        190        783      594      4771305     5    Extended

/dev/hda3           0          —         0             0          0    Empty

/dev/hda4           0          —         0             0          0    Empty


/dev/hda5        190+      380      191-    1534176     6    FAT16

   —                381        783      403      3237097+   5    Extended

   —                190        189        0                0       0    Empty

   —                190        189        0                0       0    Empty


/dev/hda6        381+      783      403-    3237066     7    HPFS/NTFS

   —                381        380          0             0        0    Empty

   —                381        380          0             0        0    Empty

   —                381        380          0             0        0    Empty


стр.

Похожие книги