Почему на диске MBR только четыре основных раздела?


23

Я читаю документы на CentOS.org .

В разделе 25.1.2. Разделы: превращая один диск во многие , есть следующее утверждение:

Таблица разделов разделена на четыре раздела или четыре основных раздела. Основной раздел - это раздел на жестком диске, который может содержать только один логический диск (или раздел). Каждый раздел может содержать информацию, необходимую для определения одного раздела, а это означает, что таблица разделов может определять не более четырех разделов.

Я не понимаю, почему может быть только четыре раздела. Это просто так, как это было задумано в начале? Разве может быть только 4 основных раздела?

Ответы:


36

Это просто так, как это было задумано в начале? Разве может быть только 4 основных раздела?

Да, именно так. Таблица разделов в передней части MBR-диска (в отличие от диска в стиле GPT) имеет очень строгую структуру данных, которая датируется 1980-ми годами, когда пространство было драгоценной, драгоценной вещью. В то время проектным решением было разрешить только четыре раздела, но разрешить одному из них быть «расширенным» разделом, который был указателем на другое место на диске, которое могло бы содержать гораздо больше «логических» разделов.

(Это та же самая причина, по которой диски, отформатированные в MBR, имеют проблемы с дисками объемом 2 ТБ +. Кластеры размером 512 байт и 32-битные поля, содержащие подсчет кластеров для размера раздела = максимальный размер диска 2 ТБ. Размер кластера 4 КБ решает проблему в будущем. )

GPT - это обновленный метод обработки разделов, который не имеет этих ограничений.


1
Это также только ограничение на диски типа IDE. SCSI, например, имеет 8, причем третьим по соглашению является перекрывающийся раздел, охватывающий все устройство.
MadHatter поддерживает Монику

18
@MadHatter таблица разделов сама по себе является независимой от типа хранилища. Кажется, вы описываете срезы Solaris, которые представляют собой несколько иную концепцию.
the-wabbit

3
Я не думал, что это так, но вы совершенно правы, что большая часть моего опыта работы с SCSI-разделами основана на Solaris. Я преклоняюсь перед вашей поправкой и благодарю вас!
MadHatter поддерживает Монику

4
На самом деле, расширенные разделы появились намного позже ; IBM PC DOS 2.0 представила MBR как часть своей поддержки жестких дисков в марте 1983 года, но только в 3.3 (апрель 1987 года) стали доступны расширенные разделы .
CVn

На самом деле, «расширенный раздел» просто указывает на другую таблицу разделов в стиле MBR, которая, в свою очередь, может также содержать только 4 записи (каждая из которых может быть расширенной записью раздела, которая указывает на другую таблицу разделов, которая также может содержать 4 записи ( каждый из которых может быть расширенным разделом…)) На самом деле, некоторые операционные системы допускают только расширенные разделы в слоте 4, и если он есть, то слоты 2 и 3 должны быть пустыми, так что на практике вы получите в одиночку связанный список таблиц разделов с первичным в слоте 1 и ссылкой на следующую таблицу в слоте 4.
Jörg W Mittag

25

Их всего четыре, потому что структуры данных для таблицы разделов MBR допускают только четыре записи, описывающие разделы:

Вы можете создать дополнительные таблицы разделов, вложенные в определения того, что называется «расширенным разделом», но определенные в нем разделы традиционно называются «логическими» разделами. Имейте в виду, что это ограничение данной конкретной реализации. Другие типы разделов, такие как таблица разделов GUID , не разделяют это ограничение.


3

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

Тем не менее, на практике это спорный вопрос - он актуален во время «загрузки» для запуска вашей ОС в первую очередь, но это все. Существуют расширенные разделы, которые позволяют больше разделов на вашем диске. Вы не могли загрузиться с них все же.

Более фундаментально - большинство операционных систем работают с большей абстракцией диска - менеджерами логических томов - что означает, что фактическая топология на диске в значительной степени не имеет значения. (И действительно, часто не желательно сегментировать ваш пул памяти)


1
Я думаю, что вы ошибаетесь из-за того, что не можете загрузиться с одного; Я думаю, что GRUB с удовольствием загрузит Linux с расширенного раздела. Кроме этого, я в основном согласен с вами.
MadHatter поддерживает Монику

Сам GRUB должен находиться на основном разделе - загрузчик низкого уровня запускает grub, который затем позволяет вам выбирать.
Sobrique

1
Загрузчик этапа 1 вообще не должен находиться в разделе; это должно быть в MBR. Остальная часть кода находится внутри /bootраздела, и, как я уже сказал, я считаю, что он вполне может быть расширенным разделом.
MadHatter поддерживает Монику

Справедливо. Я пойду почитаю и сделаю домашнее задание. Но я полагаю, что до сих пор поддерживается случай, когда хотя первичные разделы ограничены, этот предел в значительной степени не имеет значения.
Sobrique

1
«... потому что многие производители дисков и материнских плат должны будут согласиться на внедрение нового стандарта». Какая? Как это? Это совершенно не имеет значения для диска, и даже материнская плата не должна заботиться об этом. Все, что нужно сделать материнской плате - это прочитать сектор 0 и выполнить его код. Распознавание разделов - это работа этого кода.
glglgl

0

Не уверен, что я опоздал на вечеринку, но здесь это идет:

Размер таблицы разделов составляет 64 байта, а каждая таблица разделов - 16 байтов. 16 * 4 = 64 и, следовательно, больше нет места для любых других записей в таблице разделов.

Чтобы обойти это, в четвертой записи предусмотрена запись расширенного раздела, которая может иметь последовательные указатели на другие расширенные разделы.

https://docs.microsoft.com/en-us/windows/win32/fileio/basic-and-dynamic-disks

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.