Разделы полностью зависят от формата типа диска. Если мы используем тип диска MBR в Linux, мы можем создать всего 4 раздела, например:
Если мы рассмотрим два шага выше, то в расширенном разделе мы можем создать почти 65536 новых логических разделов и использовать их, но эти логические разделы, которые мы можем использовать, имеют некоторые ограничения, и это зависит от ОС.
Сколько разделов мы можем создать в расширенных разделах?
Ответ :Предположим, вы создали последний раздел в MBR как расширенный раздел и под ним мы создаем раздел размером 1 Гб как логический раздел.
Их структура следующая:
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4bc89c19
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 2293759 97280 83 Linux
/dev/sdb3 2293760 2488319 97280 83 Linux
/dev/sdb4 2488320 41943039 19727360 5 Extended < br/>
[root@localhost ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All primary partitions are in use
Adding logical partition 5
First sector (2490368-41943039, default 2490368):
Using default value 2490368
Last sector, +sectors or +size{K,M,G} (2490368-41943039, default 41943039): +1G
Partition 5 of type Linux and of size 1 GiB is set
Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4bc89c19
Device Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 2293759 97280 83 Linux <
/dev/sdb3 2293760 2488319 97280 83 Linux
/dev/sdb4 2488320 41943039 19727360 5 Extended
/dev/sdb5 2490368 4587519 1048576 83 Linux
Теперь, после создания логического раздела размером 1 ГБ выше, мы можем рассчитать общее количество логических разделов в расширенном разделе. Мы знаем, что MBR поддерживает 1 секторное пространство = 512 байт
Разница между значениями начального сектора /dev/sdb5
и /dev/sdb4
составляет 2490368 -2488320=2048. 2048 — это значение разницы, которое представляет собой зарезервированное пространство в расширенном разделе для хранения информации о логических разделах под ним. Если мы умножим 2048 на 512 байт, то общее количество байтов, присутствующих в расширенных разделах для поддержки логических разделов, т. е. 2048 *512 = 1048576 байт
В MBR общий размер 64 байта используется для хранения информации о разделе в таблице разделов. Это означает, что в таблице разделов хранится информация о каждом разделе, размер каждого раздела которого составляет 16 байт. Каждый раздел может использовать 16 байт пространства, поэтому в общей сложности в MBR предоставляется 4 раздела, включая расширенный. Если мы видим последний размер раздела, который является расширенным разделом, то они используют 16 байтов пространства.
Это означает, что если мы разделим 1048576 байт на 16, мы получим общее количество логических разделов в расширенном разделе, т.е.1048576/16=65536 (Максимальный логический раздел ).
Под ним можно использовать не более 65536 логических разделов. Но использование этого раздела зависит от ОС. В Linux MBR использует максимум 60 логических разделов в расширенном разделе.
Таким образом, общее количество разделов, которые мы можем создать в MBR, равно 3 (основным ), 1 (расширенным ), 60 (логическим )= 64
Но для передачи данных Linux используются только первичные и логические разделы, а не расширенные разделы, поэтому это означает, что только 63 раздела полезны для передачи данных в разделы.
Как мы можем сказать, что под MBR создается максимум 60 разделов и не более того?
Просто создайте столько логических разделов, сколько сможете, и когда вы создадите 60-й логический раздел, система покажет это сообщение
Command (m for help): n
All primary partitions are in use
Adding logical partition 60
First sector (23013477-41943039, default 23031808):
Using default value 23031808
Last sector, +sectors or +size{K,M,G} (23031808-24035327, default 24035327): +100
Partition 60 of type Linux and of size 50.5 KiB is set
Command (m for help): n
The maximum number of partitions has been created