Чому на диску MBR є лише чотири первинних розділу?


23

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

У розділі 25.1.2. Розділи: Перетворення одного диска у багато , є такий вислів:

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

Я не розумію, чому тут може бути тільки чотири розділи. Це просто так, як було спроектовано на початку? Чи дійсно може існувати лише 4 основні розділи?

Відповіді:


36

Це просто так, як було спроектовано на початку? Чи дійсно може існувати лише 4 основні розділи?

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

(Це та сама причина, через яку диски з форматом MBR мають проблеми з 2TB + дисками. Кластери розміром 512 байт і 32-бітові поля, що містять підрахунок кластерів для розміру розділу = Максимальний розмір диска 2 Тб. Розмір кластера 4 КБ стримує проблему по дорозі. )

GPT - це оновлений метод обробки розділів, що не має цих обмежень.


1
Це також лише обмеження на диски типу IDE. Наприклад, у SCSI є 8, причому третій за умовою являє собою перекриваючий розділ, який охоплює весь пристрій.
MadHatter підтримує Моніку

18
@MadHatter таблиця розділів сама по собі є типом сховища. Здається, ви описуєте Slares Solaris, які є дещо іншим поняттям.
віббіт

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 сам по собі повинен бути на первинному розділі - завантажувальний механізм низького рівня запускає груби, що дозволяє вам вибирати.
Sobrique

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.