Что такое mbr на жестком диске

Что такое GPT и MBR?

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

В чём разница между GPT и MBR при создании разделов на диске?

GPT — новый стандарт и он постепенно приходит на смену MBR. GPT имеет множество преимуществ, но MBR выигрывает в совместимости и всё ещё необходим в некоторых случаях. К тому же этот стандарт поддерживает не только Windows, его могут использовать Mac OS X, Linux и другие операционные системы.

MBR расшифровывается как Главная загрузочная запись. Этот стандарт был представлен в 1983 году вместе с DOS 2.0 для IBM PC.

Для чего нужны GPT и MBR?

Прежде чем использовать диск, его необходимо разбить на разделы. MBR (Главная загрузочная запись), GPT (Таблица разделов GUID) представляют собой два различных способа хранения информации о разделах диска.

Сюда входят данные о начале и конце разделов, чтобы система знала, к какому разделу принадлежит каждый сектор, и какой раздел является загрузочным. Вот почему вы должны выбрать MBR или GPT перед созданием разделов на диске.

MBR — это специальный загрузочный сектор, расположенный в начале диска. Этот сектор содержит загрузчик для установленной операционной системы, а так же информацию о логических разделах диска.

Загрузчик — это небольшой кусок кода, который обычно используется для загрузки большого загрузчика с другого раздела или диска. Если на вашем компьютере установлен Windows, здесь будут находиться начальные элементы загрузчика Windows. Именно поэтому вам приходится восстанавливать MBR, если он был перезаписан и Windows не загружается. Если у вас установлен Linux, MBR чаще всего будет содержать загрузчик GRUB.

MBR работает с дисками объёмом до 2 Тб, но он может справиться и с дисками большего размера. Кроме этого MBR поддерживает не более 4 основных разделов. Если вам нужно больше, придётся сделать один из основных разделов «расширенным разделом» и разместить в нём логические разделы. Впрочем, чаще всего вам этот трюк не потребуется.

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

GPT означает Таблица разделов GUID. Это новый стандарт, который постепенно приходит на смену MBR. Он является частью UEFI, а UEFI заменяет старый неудобный BIOS так же, как GPT заменяет MBR на что-то более современное. Он называется таблицей разделов GUID, поскольку каждому разделу на вашем диске присваивается «уникальный глобальный идентификатор» или GUID — случайная строка такой длины, что каждый GPT раздел на Земле, скорее всего, обладает уникальным идентификаторов.

У этой системы нет ограничений в отличии от MBR. Диски могут быть гораздо объёмнее, а ограничение на размер будет зависеть от операционной и файловой систем. GPT позволяет создавать практически неограниченное количество разделов. Всё будет зависеть от вашей операционной системы. К примеру, в Windows можно создать до 128 разделов на GPT диске, так что вам больше не придётся возиться с расширенными разделами.

На MBR диске данные о разделах и загрузочная информация хранятся в одном месте. Если эти данные повреждены или перезаписаны, у вас проблемы. GPT же хранит несколько копий этих данных по всему диска, поэтому работает гораздо быстрее и позволяет восстановить повреждённую информацию. GPT так же хранит значения циклического избыточного кода (CRC), чтобы точно знать, что данные нетронуты.

Если информация повреждена, GPT замечает проблему и пытается восстановить повреждённые данные с другого места на диске. MBR не может узнать о повреждении информации. Вы увидите, что возникла проблема, только если не сможете загрузить систему или один из разделов диска исчезнет.

В чём разница между GPT и MBR?

Преобразование MBR и GPT дисков

Как преобразовать диск с MBR или GPT разделами без потери данных. Чем отличается MBR от GPT и что выбрать для UEFI или BIOS системы.

Совместимость

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

Windows может загружаться с GPT только на компьютерах с UEFI, работающих под управлением 64-битных версий Windows 10, 8.1, 8, 7, Vista и соответствующих серверных версий. Все версии Windows 10, 8.1, 8, 7 и Vista могут читать GPT диски и использовать их для хранения данных, но они не могут с них загружаться.

Другие современные операционные системы так же могут использовать GPT. Linux имеет встроенную поддержку GPT. Компьютеры компании Apple на базе процессоров Intel больше не используют схему APT (Таблица разделов Apple), заменив её GPT.

При настройке диска вы, скорее всего, захотите использовать GPT. Это более современный и быстрый стандарт, к которому движутся все компьютеры. Если вам необходима совместимость со старыми системами, например, возможность загружать Windows на компьютере с традиционным BIOS, придётся пока остановиться на MBR.

Источник

В чем разница между GPT и MBR при разметке диска

Вы установили новый жесткий диск на компьютер, и при установке Windows 10 вас спросят, хотите ли Вы использовать MBR (Master Boot Record) или GPT (GUID Partition Table). Сейчас мы рассмотрим разницу между этими двумя способами организации данных на диске и узнаем, что лучше для MBR или GPT. Сказанное ниже касается и жестких дисков (HDD) и SSD.

Структура разделов диска определяет, как дисковое пространство дробится на части, где начинается раздел, где он заканчивается, а также какой код используется, если раздел загрузочный. Вот почему надо сделать выбор между MBR и GPT до того, как разделы создаются. Если вы когда-либо разбивали диск на разделы и форматировали их, вы, конечно, сталкивались с этим. GPT – это новый стандарт, он постепенно вытесняет MBR.

Компьютер обычно имеет как минимум один диск для хранения данных. Но физический диск не может хранить данные без разбивки на разделы. Один физический диск может содержать один или быть разбит на несколько разделов. Но как создать несколько разделов? Здесь в дело вступает таблица разделов. Операционная система обратится к этой таблице для получения данных о разделах.

Ограничения MBR

MBR – Master Boot Record, что в переводе означает «главная загрузочная запись». Впервые спецификация появилась на IBM PC для DOS 2.0 в 1983 году. Формат получил свое название в виду того, что задается специальный загрузочный сектор, расположенный в «начале», т.е. операционная система знает, где его найти, а сделать это нужно первым делом.
В этом секторе содержится загрузчик установленной операционной системы и информация о разбиении физического диска на разделы. Программа начальной загрузки (boot loader) небольшая. Здесь задаются буквально начальные данные для загрузки, а в дальнейшем процесс загрузки передает управление более мощному загрузчику. Т.е. это первые биты информации, необходимые для работы загрузчика операционной системы.

У MBR есть недостатки. Например, пресловутое ограничение в 2 ТБ для размера логического диска. MBR поддерживает только четыре основных раздела. И если надо больше, придется делать один из основных разделов расширенным (extended partition) и уже в нем создавать логические разделы. По нынешним временам это выглядит диковато, как доставать правой рукой левое ухо.

Преимущества GPT

Это новый стандарт. Он ассоциируется с UEFI, который вытесняет громоздкий и неповоротливый BIOS. А GPT, в свою очередь, заменяет отживший свое MBR на нечто более современное. Называется он GUID Partition Table, т.е. таблица разделов с глобально уникальными идентификаторами. И каждый раздел диска в самом деле имеет такой идентификатор. Этот идентификатор – произвольная строка такой длины, что без труда можно каждому разделу на Земле такой идентификатор сделать уникальным.
Ограничений, присущих MBR у GPT нет. Иначе говоря, диски могут быть гораздо больше. Размеры их ограничены операционной системой и ее файловой системой. Также GPT позволяет создавать, практически, неограниченное количество разделов. Опять же ограничением будет операционная система. Так Windows позволяет создать до 128 разделов на GPT-диске. И не надо создавать расширенный раздел, чтобы система заработала.

В конце 1990-х голов корпорация Intel разработала новый стандарт таблицы разделов как часть прогрессивной технологии Unified Extensible Firmware Interface (UEFI). На сегодняшний день это часть спецификации UEFI. Технология GPT также предусматривает циклический избыточный контроль (cyclic redundancy check или CRC). Сохраняются контрольные суммы для проверки сохранности данных. Если данные претерпели непредусмотренные изменения, GPT идентифицирует проблему и пытается восстановить поврежденные данные из другого места на диске. В случае MBR нет возможности понять, что данные повреждены. Поэтому о проблеме вы узнаете, только когда операционная система не сможет загрузиться, или данные о разделе исчезнут.

Совместимость MBR и GPT

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

Windows может загружаться c GPT-дисков только на 64-битных компьютерах с UEFI. Речь идет от Windows 10, 8, 7, Vista и соответствующих серверных версиях ОС. Точнее говоря, все упомянутые выше версии Windows могут использовать GPT-диски для чтения и записи данных, но вот загрузиться с них они не смогут без UEFI. Другие современные операционные системы также могут использовать GPT. Linux имеет встроенные средства для применения этой технологии. В компьютерах Apple на базе процессоров Intel более не используется APT (Apple Partition Table), ее место заняла технология GPT.

Вы, скорее всего, захотите применить GPT при разбиении диска на разделы. Это более современный и надежный стандарт, к которому все производители компьютеров и программного обеспечения уже перешли. Если же нужна совместимость со старым оборудованием, например, для загрузки Windows с диска на компьютере с обычным BIOS, пока придется пользоваться только MBR.

Честно говоря, таблица несколько условна, т.к. квалифицированный системный администратор может путем некоторых манипуляций превратить это «не поддерживает» в «поддерживает». Тем не менее, практический вывод очевиден: современные 64-битные ОС все способны применять современную технологию. А на 32-разрядной ОС применение стандарта GPT не получится.

Отличия MBR и GPT

Как узнать, MBR или GPT на диске

В Windows 10, чтобы посмотреть MBR или GPT, нажмем Win + R (или Пуск / Выполнить), введем diskmgmt.msc и нажмем Enter.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Запуск diskmgmt.msc в Windows

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

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Правой кнопкой мышки надо кликнуть сюда.

Теперь надо открыть вкладку «Тома».

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Если вкладка «Тома не появилась, значит, кликнули куда-то не туда.

Выводы: MBR или GPT что лучше для SSD и HDD

Легко видеть, что GPT сильно превосходит MBR. Для применения этого стандарта нужно не сильно старое железо. Двадцать лет технологии – а все еще есть компьютеры, на которых ее применять затруднительно. Тем не менее, если материнская плата позволяет выбрать Legacy BIOS Boot Mode или UEFI Boot Mode, не надо использовать BIOS. Но до сих пор сохранившиеся операционные системы вроде Windows XP не смогут загружаться с GPT-дисков. В этом случае придется использовать защитный MBR (protective MBR). Во всех остальных случаях рекомендуется отказаться от MBR. Используя GPT, вы получите лучшую производительность компьютера и программного обеспечения на нем, а также избежите многих проблем при установке операционной системы и эксплуатации компьютера.

Related Posts

Windows 10 иногда использует шифрование жесткого диска по-умолчанию, иногда это не делает, в зависимости от…

ISO-файлы — это образы дисков. Полная копия CD или DVD диска в одном файле. Этот…

По-умолчанию папка Dropbox хранится в папке USERS — C:Users (или в домашней папке пользователя…

Когда вы удаляете файлы из папки Dropbox, вы наверное уверены, что вы удалили их навсегда?!…

Источник

MBR или GPT? Что такое структуры накопителей и чем отличаются

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Содержание

Содержание

Компьютер, жесткий диск, операционная система — для современного человека, это обыденные вещи. Но все самое интересное, заставляющее компьютер работать так, как мы
к тому привыкли, остается «за кадром». Сегодня поговорим об одной из вещей, которая позволяет существовать разделам на нашем накопителе — способе описания разделов, она же таблица разделов.

Таблица разделов — это структура, где содержится информация обо всех разделах на диске: как он называется (Label), откуда начинается, где заканчивается, какой объем имеет и т.д. Рассмотрим два различных варианта таких таблиц, а именно MBR и GPT.

MBR (Master Boot Record — главная загрузочная запись) непосредственным образом участвует в загрузке операционной системы. Но, кроме этого, она хранит и информацию, позволяющую описать разделы на компьютере. Чтобы объяснить, почему это работает так, а не иначе, и имеет определенные особенности/ограничения, придется немного углубиться в структуру MBR.

Если сигнатура не равна 55AAh, значит, MBR поврежден. В MBR процесс загрузки тесно связан с разделами диска, так как хранятся они «вместе».

Пусть процесс загрузки и не относится к теме материала, упрощенно и кратко расскажем
о нем. После выполнения определенных операций, BIOS читает первый сектор накопителя,
в котором и находится наша главная загрузочная запись. Выполняется код загрузчика, который просматривает таблицу разделов, и передает управление загрузчику операционной системы, который уже ее и загружает.

Вернемся к нашей таблице разделов. На нее выделено 64 байта, разделенных на 4 записи, по 16 байт.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Одна запись — это один раздел, из чего происходит первое ограничение MBR — максимальное число разделов на диске не может быть больше четырех. Но это утверждение правда лишь наполовину: нельзя создать больше четырех основных разделов. Но об этом чуть позже, сейчас же посмотрим на структуру самой 16-ти битной записи.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Самый первый бит в записи обозначает признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — и может иметь значения 80h (раздел активен) и 00h (раздел не активен). Установленная операционная система должна находиться именно на активном разделе. Данное правило справедливо для стандартного загрузчика ОС семейства Windows — NTLDR, а вот для UNIX-систем это нужно не всегда.

А теперь переместимся в конец записи — к последним четырем байтам. Именно они в ответе за самое известное ограничение, связанное с использованием MBR — максимальный размер раздела.

На описание количества секторов в разделе отводится 4 байта, следовательно количество секторов ограничено величиной 232, где степень — это количество бит описания (4 байта = 32 бита). Поскольку размер сектора равен 512 бит, то максимальный размер раздела, который можно описать в таблице разделов MBR, составляет 232 x 512 = 2 ТБ. Те самые «два терабайта», набившие оскомину. Это техническое ограничение не обойти.

Расширенный раздел

Но давайте вернемся к тому, что максимальное количество разделов в таблице разделов ограничено четырьмя. Чтобы это обойти, был придумал особый тип раздела — расширенный (Extended Partition). Внимательный читатель заметил, что из 16 байт описания раздела один отведен именно под указание его типа. Для расширенного раздела там прописывается 0Fh (для современный Windows систем).

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

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

На рисунке видно, что на логическом диске находится один основной и один расширенный раздел. «Внутри» расширенного раздела создано шесть логических дисков (хотя в силу определенных причин во многих случаях будет использоваться термин «логический раздел»). Для созданных таким образом разделов есть некоторые ограничения, по сравнению
с основными. Например, они не могут быть активными.

GPT (GUID Partition Table) — таблица разделов GUID, создана для замены MBR и является частью UEFI, который в свою очередь пришел на замену BIOS. В новой версии таблицы разделов постарались убрать ограничения и недочеты MBR, которые были неявны на момент ее создания, но проявились с развитием технологий.

Как видно из расшифровки, основа GPT — GUID — Globally Unique Identifier — 128-битный статистически уникальный идентификатор. Уникальность здесь не стопроцентная, но поскольку количество вариантов равно 2 в 128 степени, то вероятность получить одинаковые GIUD (например, для разделов) крайне мала. Выглядит он как последовательность из 32 шестнадцатеричных цифр, разделенных на группы.

024DEE41-33E7-11D3-9D69-0008C781F39F — пример того, как выглядит GUID раздела с MBR.

Ниже вы можете видеть схематическое изображение структуры GPT. Кратко рассмотрим ее.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

В первом физическом блоке диска, а точнее в блоке LBA0, поскольку GPT оперирует именно LBA адресами, расположен защитный (Protective) MBR. Его основное назначение — «защита» структуры диска благодаря обеспечению совместимости с устаревшим программным обеспечением, работающим с MBR, но «не знающем» о GPT.

В LBA1 находится основной заголовок GPT. В нем содержатся различные данные, например, где начинается и заканчивается область для размещения разделов, а также контрольные суммы самого заголовка и таблицы разделов, по которым происходит проверка их целостности.

Далее, начиная с блока LBA2, находится массив записей о разделах на диске. Каждая такая запись имеет размер 128 байт (размер может меняться в большую сторону), а на весь массив выделяется 16384 байта, что дает 32 LBA (для 64-битных ОС Windows). Таким образом, можно создать до 128-ми разделов.

Именно в каждой записи указывается GUID раздела, типа раздела, стартовый и конечный блоки (LBA) раздела. На последние выделяется по 8 бит данных, что теоретически позволяет создать раздел размером до 9,4 ЗБ (Зеттаба́йт, 1021). Фактически, размер раздела ограничен используемой ОС.

Достоинства и недостатки MBR и GPT

Итак, попробуем обобщить все вышесказанное в более краткой форме, указав сильные
и слабые стороны обоих решений.

Плюсы

Минусы

Совместимость со старыми системами.Позволяет создавать разделы размером не более 2 ТБ.Количество первичных разделов ограничено четырьмя. Можно обойти использованием расширенного раздела, но это костыль.Отсутствует резервирование таблицы разделов.Общая устарелость структуры и правил MBR (например, использование CHS-координат).

Плюсы

Минусы

Поддержка большого числа разделов (до 128 разделов для Windows).Проблемы поддержи/совместимости со старыми системами.Возможность создавать разделы объемом более 2 ТБ.Использование резервной копии GPT не гарантирует 100 % возможность восстановления и должно учитываться при изменении параметров диска.Дублирование GPT в конце диска и использование контрольных сумм для проверки корректности содержимого.

Нет сомнений, что за GPT будущее. Его использование в современных ПК позволяет не думать о том, что в последующем можно натолкнуться на какие-либо ограничения. С другой стороны, на данный момент, обычный среднестатистический пользователь может с одинаковым успехом использовать любой из двух вариантов, и не замечать никакой разницы, если диски в его ПК не больше 2 ТБ.

Источник

Изучаем структуры MBR и GPT

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

Способов разбиения дисков на разделы на сегодняшний день существует два. Первый способ — использовать MBR. Этот способ применялся еще чуть ли не с появления жестких дисков и работает с любыми операционными системами. Второй способ — использовать новую систему разметки — GPT. Этот способ поддерживается только современными операционными системами, поскольку он еще относительно молод.

Структура MBR

До недавнего времени структура MBR использовалась на всех персональных компьютерах для того, чтобы можно было разделить один большой физический жесткий диск (HDD) на несколько логических частей — разделы диска (partition). В настоящее время MBR активно вытесняется новой структурой разделения дисков на разделы — GPT (GUID Partition Table). Однако MBR используется еще довольно широко, так что посмотрим что она из себя представляет.

MBR всегда находится в первом секторе жесткого диска. При загрузке компьютера, BIOS считывает этот сектор с диска в память по адресу 0000:7C00h и передает ему управление.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Итак, первая секция структуры MBR — это секция с исполняемым кодом, который и будет руководить дальнейшей загрузкой. Размер этой секции может быть максимум 440 байт. Далее идут 4 байта, отведенные на идентификацию диска. В операционных системах, где идентификация не используется, это место может занимать исполняемый код. То же самое касается и последующих 2 байт.

Начиная со смещения 01BEh находится сама таблица разделов жесткого диска. Таблица состоит из 4 записей (по одной на каждый возможный раздел диска) размером 16 байт.

Структура записи для одного раздела:

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

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

Следующие три байта — это так называемые CHS-координаты первого сектора раздела.

По смещению 04h находится код типа раздела. Именно по этому типу можно определить что находится в данном разделе, какая файловая система на нем и т.п. Список зарезервированных типов разделов можно посмотреть, например, в википедии по ссылке Типы разделов.

После типа раздела идут 3 байта, определяющие CHS-координаты последнего сектора раздела.

CHS-координаты сектора расшифровываются как Cylinder Head Sector и соответственно обозначают номер цилиндра (дорожки), номер головки (поверхности) и номер сектора. Цилиндры и головки нумеруются с нуля, сектор нумеруется с единицы. Таким образом CHS=0/0/1 означает первый сектор на нулевом цилиндре на нулевой головке. Именно здесь находится сектор MBR.

Все разделы диска, за исключением первого, обычно начинаются с нулевой головки и первого сектора какого-либо цилиндра. То есть их адрес будет N/0/1. Первый раздел диска начинается с головки 1, то есть по адресу 0/1/1. Это все из-за того, что на нулевой головке место уже занято сектором MBR. Таким образом, между сектором MBR и началом первого раздела всегда есть дополнителььные неиспользуемые 62 сектора. Некоторые загрузчики ОС используют их для своих нужд.

Интересен формат хранения номера цилиндра и сектора в структуре записи раздела. Номер цилиндра и номер сектора делят между собой два байта, но не поровну, а как 10:6. То есть на номер сектора приходится младшие 6 бит младшего байта, что позволяет задавать номера секторов от 1 до 63. А на номер цилиндра отведено 10 бит — 8 бит старшего байта и оставшиеся 2 бита от младшего байта: «CCCCCCCC CCSSSSSS», причем в младшем байте находятся старшие биты номера цилиндра.

Проблема с CHS-координатами состоит в том, что с помощью такой записи можно адресовать максимум 8 Гб диска. В эпоху DOS это было приемлемо, однако довольно скоро этого перестало хватать. Для решения этой проблемы была разработана система адресации LBA (Logical Block Addressing), которая использовала плоскую 32-битную нумерацию секторов диска. Это позволило адресовать диски размером до 2Тб. Позже разрядность LBA увеличили до 48 бит, однако MBR эти изменения не затронули. В нем по-прежнему осталась 32-битная адресация секторов.

Итак, в настоящее время повсеместно используется LBA-адресация для секторов на диске и в структуре записи раздела адрес его первого сектора прописывается по смещению 08h, а размер раздела — по смещению 0Ch.

Для дисков размером до 8Гб (когда адресация по CHS еще возможна) поля структуры с CHS-координатами и LBA-адресации должны соответствовать друг другу по значению (корректно конвертироваться из одного формата в другой). У дисков размером более 8Гб значения всех трех байт CHS-координат должны быть равны FFh (для головки допускается также значение FEh).

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

Расширенные разделы

Разделы, отмеченные в таблице типом 05h и 0Fh, это так называемые расширенные разделы. С их помощью можно создавать больше разделов на диске, чем это позволяет MBR. На самом деле расширенных разделов несколько больше, например есть разделы с типами C5h, 15h, 1Fh, 91h, 9Bh, 85h. В основном все эти типы разделов использовались в свое время различными операционными системами (такими как например OS/2, DR-DOS, FreeDOS) с одной и той же целью — увеличить количество разделов на диске. Однако со временем различные форматы отпали и остались только разделы с типами 05h и 0Fh. Единственное исключение — это тип 85h. Он до сих пор может использоваться в Linux для формирования второй цепочки логических дисков, скрытых от других операционных систем. Разделы с типом 05h используются для дисков менее 8Гб (где еще возможна адресация через CHS), а тип 0Fh используется для дисков больше 8Гб (и используется LBA-адресация).

В первом секторе расширенного раздела находится структура EBR (Extended Boot Record). Она во многом схожа со структурой MBR, но имеет следующие отличия:

В отличие от MBR, где позволяется создавать не более четырёх разделов, структура EBR позволяет организовать список логических разделов, ограниченный лишь размером раздела-контейнера (того самого, который с типом 05h или 0Fh). Для организации такого списка используется следующий формат записей: первая запись в таблице разделов EBR указывает на логический раздел, связанный с данным EBR, а вторая запись указывает на следующий в списке раздел EBR. Если данный логический раздел является последним в списке, то вторая запись в таблице разделов EBR должна быть заполнена нулями.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Формат записей разделов в EBR аналогичен формату записи в структуре MBR, однако логически немного отличается.

Признак активности раздела для разделов структуры EBR всегда будет 0, так как загрузка осуществлялась только с основных разделов диска. Координаты CHS, с которых начинается раздел используются, если не задействована LBA-адресация, также как и в структуре MBR.

А вот поля, где в режиме LBA-адресации должны находиться номер начального сектора и количество секторов раздела, в структуре EBR используются несколько иначе.

Что такое mbr на жестком диске. Смотреть фото Что такое mbr на жестком диске. Смотреть картинку Что такое mbr на жестком диске. Картинка про Что такое mbr на жестком диске. Фото Что такое mbr на жестком диске

Для первой записи таблицы разделов EBR в поле начального сектора раздела (смещение 08h) записывается расстояние в секторах между текущим сектором EBR и началом логического раздела, на который ссылается запись. В поле количества секторов раздела (смещение 0Ch) в этом случае пишется размер этого логического раздела в секторах.

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

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

Структура GPT

В современных компьютерах на смену BIOS пришла новая спецификация UEFI, а вместе с ней и новое устройство разделов на жестком диске — GUID Partition Table (GPT). В этой структуре были учтены все недостатки и ограничения, накладываемые MBR, и разработана она была с большим запасом на будущее.

В структуре GPT используется теперь только LBA-адресация, никаких CHS больше нет и никаких проблем с их конвертацией тоже. Причем под LBA-адреса отведено по 64 бита, что позволяет работать с ними без всяких ухищрений, как с 64-битными целыми числами, а также (если до этого дойдет) даст в будущем возможность без проблем расширить 48-битную LBA-адресацию до 64-битной.

Кроме того, в отличие от MBR, структура GPT хранит на диске две своих копии, одну в начале диска, а другую в конце. Таким образом, в случае повреждения основной структуры, будет возможность восстановить ее из сохраненной копии.

Рассмотрим теперь устройство структуры GPT подробнее. Вся структура GPT на жестком диске состоит из 6 частей:

Защитный MBR-сектор

Первый сектор на диске (с адресом LBA 0) — это все тот же MBR-сектор. Он оставлен для совместимости со старым программным обеспечением и предназначен для защиты GPT-структуры от случайных повреждений при работе программ, которым про GPT ничего не известно. Для таких программ структура разделов будет выглядеть как один раздел, занимающий все место на жестком диске.

Структура этого сектора ничем не отличается от обычного сектора MBR. В его таблице разделов дожна быть создана единственная запись с типом раздела 0xEE. Раздел должен начинаться с адреса LBA 1 и иметь размер 0xFFFFFFFF. В полях для CHS-адресации раздел соответственно должен начинаться с адреса 0/0/2 (сектор 1 занят под саму MBR) и иметь конечный CHS-адрес FF/FF/FF. Признак активного раздела должен иметь значение 0 (неактивный).

При работе компьютера с UEFI, данный MBR-сектор просто игнорируется и никакой код в нем также не выполняется.

Первичный GPT-заголовок

Этот заголовочный сектор содержит в себе данные о всех LBA-адресах, использующихся для разметки диска на разделы.

Структура GPT-заголовка:

Смещение (байт)Размер поля (байт)Пример заполненияНазвание и описание поля
0x008 байт45 46 49 20 50 41 52 54Сигнатура заголовка. Используется для идентификации всех EFI-совместимых GPT-заголовков. Должно содержать значение 45 46 49 20 50 41 52 54, что в виде текста расшифровывается как «EFI PART».
0x084 байта00 00 01 00Версия формата заголовка (не спецификации UEFI). Сейчас используется версия заголовка 1.0
0x0C4 байта5C 00 00 00Размер заголовка GPT в байтах. Имеет значение 0x5C (92 байта)
0x104 байта27 6D 9F C9Контрольная сумма GPT-заголовка (по адресам от 0x00 до 0x5C). Алгоритм контрольной суммы — CRC32. При подсчёте контрольной суммы начальное значение этого поля принимается равным нулю.
0x144 байта00 00 00 00Зарезервировано. Должно иметь значение 0
0x188 байт01 00 00 00 00 00 00 00Адрес сектора, содержащего первичный GPT-заголовок. Всегда имеет значение LBA 1.
0x208 байт37 C8 11 01 00 00 00 00Адрес сектора, содержащего копию GPT-заголовка. Всегда имеет значение адреса последнего сектора на диске.
0x288 байт22 00 00 00 00 00 00 00Адрес сектора с которого начинаются разделы на диске. Иными словами — адрес первого раздела диска
0x308 байт17 C8 11 01 00 00 00 00Адрес последнего сектора диска, отведенного под разделы
0x3816 байт00 A2 DA 98 9F 79 C0 01 A1 F4 04 62 2F D5 EC 6DGUID диска. Содержит уникальный идентификатор, выданный диску и GPT-заголовку при разметке
0x488 байт02 00 00 00 00 00 00 00Адрес начала таблицы разделов
0x504 байта80 00 00 00Максимальное число разделов, которое может содержать таблица
0x544 байта80 00 00 00Размер записи для раздела
0x584 байта27 C3 F3 85Контрольная сумма таблицы разделов. Алгоритм контрольной суммы — CRC32
0x5C420 байт0Зарезервировано. Должно быть заполнено нулями

Система UEFI проверяет корректность GPT-заголовка, используя контрольный суммы, вычисляемые по алгоритму CRC32. Если первичный заголовок поврежден, то проверяется контрольная сумма копии заголовка. Если контрольная сумма копии заголовка правильная, то эта копия используется для восстановления информации в первичном заголовке. Восстановление также происходит и в обратную сторону — если первичный заголовок корректный, а копия неверна, то копия восстанавливается по данным из первичного заголовка. Если же обе копии заголовка повреждены, то диск становится недоступным для работы.

У таблицы разделов дополнительно существует своя контрольная сумма, которая записывается в заголовке по смещению 0x58. При изменении данных в таблице разделов, эта сумма рассчитывается заново и обновляется в первичном заголовке и в его копии, а затем рассчитывается и обновляется контрольная сумма самих GPT-заголовков.

Таблица разделов диска

Следующей частью структуры GPT является собственно таблица разделов. В настоящее время операционные системы Windows и Linux используют одинаковый формат таблицы разделов — максимум 128 разделов, на каждую запись раздела выделяется по 128 байт, соответственно вся таблица разделов займет 128*128=16384 байт, или 32 сектора диска.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *