Что такое разметка диска

Опубликовано: 25.04.2024

Простыми словами о сложном — что такое MBR и GPT, как работают разметки и как преобразовать одну в другую? Обо всем этом подробно вы можете узнать в нашей статье.

Назначение MBR и GPT разметки носителя данных

MBR (Master Boot Record) и GPT (GUID Partition Table) представляют собой два разных способа хранения информации о разделах на жестком диске. Данная информация включает в себя как сведения о принципе работы накопителей, так и определяет какой раздел станет загрузочным для системы.

Перед тем как приступать к работе с Windows и выбирать предложенный раздел по умолчанию, стоит взвесить все за и против. Стандартный вариант не всегда может стать оптимальным.

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

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

Главная загрузочная запись (Master Boot Record, MBR) — представляет собой код и набор данных, необходимый для последующей загрузки операционной системы. Применялась с 1983 года вплоть до введения в эксплуатацию UEFI схемы GPT в 2010-м году.

Как вы помните, ранее в ходу были компьютеры с операционной системой, которая поддерживала только 32-битный формат. При запуске этих машин, первым в работу вступает BIOS (MBR использует версию Legacy) и далее происходит выбор устройства, с которого будет произведен последующий запуск. Это может быть дискета, жесткий диск или любой указанный в настройках сетевой ресурс. В случае же, если в компьютере установлен только один раздел, выбор будет однозначен и загрузка произойдет только с единственного уникального устройства.

Master Boot Record работает с дисками размером до 2 Тб и не поддерживает носители, превышающие этот порог. Кроме того, MBR поддерживает только до 4 основных разделов. Если вам нужно больше, придется один из основных блоков сделать расширенным. Это приведет к потере одного из разделов, который сольется с основным, выбранным вами.

Legacy BIOS, с которым работает MBR, характеризуется следующими особенностями:

  • Драйверы загружаются при старте операционной системы после загрузки самого BIOS.
  • Все подключенные устройства запускаются в порядке очереди.
  • Может быть создано только 4 логических раздела размером до 2 Тб.

В 2020 году Master Boot Record морально устарел и не подходит для использования на современных компьютерах. Почти все они используют GPT.

Что такое GPT на HDD и SSD дисках

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

Диск GPT состоит из трех частей:

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

В GPT больше не используется привычный нам BIOS. Данное “предзагрузочное” состояние по прежнему продолжают так именовать, по памяти, но официально оно имеет совершенно другое название — UEFI. И оно имеет существенные отличия, в сравнении с предшественником:

  • Прежде всего, это совершенно новая разметка, никак не относящаяся к старой MBR и BIOS.
  • Позволяет создавать неограниченное количество разделов любого объема.
  • Обладает более высокой скоростью загрузки, особенно при использовании нескольких объемных жестких дисков.
  • Драйверы загружаются одновременно с UEFI и затем переходят под управление операционной системы.
  • Присутствует Secure Boot — система, обеспечивающая безопасность загрузки Windows.
  • Поддерживает улучшенный графический интерфейс.

На сегодняшний день, GUID Partition Table является единственной подходящей разметкой для полноценной работы компьютера. Работает разметка только в сочетании с UEFI, в то время как MBR кооперирует только с Legacy BIOS.

Как определить разметку диска

Определить разметку жесткого диска или твердотельного накопителя довольно просто. Для этого нужно воспользоваться утилитой “Управление дисками” или же командной строкой. Начнем мы с самого простого.

Определение разметки с помощью утилиты “Управление дисками”

1. Щелкните правой кнопкой мыши по меню пуск или используйте комбинацию клавиш Windows + X .

2. Откройте утилиту Управление дисками .

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

4. Далее нужно открыть свойства диска. Но не торопитесь кликать по физическим и логическим разделам (в верхней части окна). Через них нельзя получить доступ к нужной информации. Вместо этого обратите внимание на нижнюю часть и выберите нужный физический диск.

С внутренним устройством жёсткого диска HDD знакомы многие пользователи, включая тех, которым никогда не приходилось вскрывать гермоблок. Благо, это и не нужно, ведь на этот счёт в интернете имеется масса информации. А вот как именно устроена логическая структура диска знают лишь немногие. Физически жёсткий диск HDD представляет собой несколько закрепленных на центральном шпинделе магнитных пластин, имеющих особую «нарезку», именуемую треками.

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

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

Адресация жесткого диска

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

Первый механизм адресации, который использовался в ранних моделях жёстких дисков назывался CHS, что расшифровывалось как Cylinder, Head, Sector — цилиндр, головка, сектор. Что такое головка и сектор, надеемся, вам понятно. Под цилиндром же нужно понимать совокупность круговых дорожек одинакового радиуса на всех магнитных поверхностях пластин одного накопителя.

CHS

По сути, CHS это ничто иное, как трёхмерная система координат, где Cylinder это номер дорожки на поверхности диска, Head — номер считывающей головки, а Sector — номер конкретного сектора. Когда компьютеру нужно было прочитать некий файл, он делал запрос в формате CHS, и считывающая головка переходила как раз в нужный сектор, в котором этот файл был записан.

Очевидный минус технологии CHS заключался в поддержке дисков весьма ограниченного объёма, так как на низком уровне под адресацию изначально выделялось немного памяти. Максимальный объём диска с CHS не мог превышать 508 Мб. Поэтому, когда появились более объёмные диски, возникла нужда в новых механизмах адресации. Последующие механизмы адресации были основаны на CHS и представляли собой его расширенную версию.

Настоящим прорывом стал LBA (Logical block addressing), не нуждающийся в учёте геометрии жёсткого диска, вместо этого всем секторам от самого первого (нулевого) до самого последнего присваивался свой порядковый номер, служащий идентификатором. При этом под адресацию выделялось гораздо больше памяти. В общем, максимальный объём жёсткого диска, с которым может работать LBA составляет 128 Пиб , что намного больше объёма любых современных дисков, используемых в персональных компьютерах.

Разметка жёсткого диска

С адресацией всё более-менее ясно, теперь давайте перейдём к другому важному понятию — разметке жёсткого диска. Разметка — это разделение общего пространства диска на логические разделы иначе партиции, которые могут быть видны в операционной системе. Зачем вообще нужно такое разделение? Во-первых, это позволяет разграничивать загрузочные, системные и пользовательские файлы, во-вторых, использовать на каждом из разделов свой тип файловой системы, в-третьих — устанавливать на один ПК несколько разных операционных систем.

Существует две основных схемы разбиения на партиции. Самой распространённой является MBR. Называется она так потому, что в первых физических секторах жёсткого диска этого типа размещается особая область, содержащая загрузочный код и таблицу разделов. Эта область ещё именуется главной загрузочной записью, что на английском языке звучит как master boot record или сокращённо MBR.

MBR

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

• На MBR-диске нельзя создать более четырёх логических Primary-разделов (ограничение условно снимается посредством создания extended-партиции).
• Каким бы объёмным ни был диск, пользователю будет доступно только 2 Терабайта.

Менее распространённой, но зато более новой и надёжной схемой является GPT или GUID Partition Table. Если посмотреть на схематическое изображение GPT-диска, то можно увидеть, что его структура очень похожа на структуру диска MBR, но это сходство весьма условное. Приходящаяся на нулевой сектор область называется Protection MBR, и назначение её несколько иное, чем обычной MBR. Служит она для защиты схемы GPT от перезаписи утилитами, которые не понимают GPT. Если такой утилите «показать» GPT-диск, то благодаря Protection MBR она определит его как MBR-диск, на котором отсутствует свободное пространство. Следовательно, перезаписать она его уже не сможет.

GPT

В будущем, когда MBR уйдёт в прошлое, возможно, в Protection MBR больше не будет надобности, ведь процесс загрузки с GPT-дисков в EFI происходит несколько иначе. Помимо области Protection MBR, на GPT-дисках имеется другая область, именуемая GUID Partition Entries Array. Это аналог Partition Table в MBR, содержащий список всех партиций на диске GPT. В отличие от MBR, он не имеет жёсткой фиксации, поэтому на GPT-диске можно создавать практически неограниченное количество логических разделов. Ограничения тут могут быть только на уровне операционной системы. Например, Windows не может работать с более чем с 128 партициями.

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

И наконец, разметка GPT позволяет работать с дисками объёмом больше 2 Тб.

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

Одним из базовых вопросов в работе с компьютером является разметка его жёсткого диска – создание Читать далее

Ортодоксальные системщики не любят создавать разметку на чистом жёстком диске во время установки Windows. И Читать далее

Если мы захотим избавиться от текущей структуры жёсткого диска – убрать все разделы на нём Читать далее

Одной из причин торможений и подвисаний при работе Windows и её сторонних программ является наличие Читать далее

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

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

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

Что для этого нужно?

Для применения вышеописанного подхода работы с даными ничего лишнего нам не потребуется. Можем обойтись даже одним диском, но всеже я бы рекомендовал Вам не скупиться и купить еще один несильно скоростной, но объемный диск в качестве файлохранилища. Если у Вас уже установлено два жестких диска на компьютере, вы можете переоборудовать больший из них под файлохранилище и не заморачиваться с выбором нового жесткого диска. Для наших целей нам идеально подойдет диск с параметрами: 5200 оборотов шпинделя в секунду и объемом от 1 террабайта. На нем мы будем хранить нашу музыку, фильмы, различную документацию, программы и игры в неустановленном виде.

Если же вы по какой-то причине не можете установить на свой компьютер дополнительный жесткий диск, вполне достаточно будет разбить уже установленный на 2 раздела по томуже принципу. Один раздел отведем под ОС, другой под файлохранилище.

Как следует размечать новый раздел?

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

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

Размечаем новый раздел

Теперь давайте рассмотрим как с помощью стандартного средства windows можно разметить диск на разделы. Для этого перейдем в пункт меню "Управление" нашего компьютера:

далее к запоминающим устройствам (нашим дискам):

и к меню управления ими:

теперь выберем наш системный раздил и применим к нему опцию "Сжать том":

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

В графе "Доступное для сжатия пространство" мы видим общее количество свободного места на нашем диске в мегабайтах, которое мы можем использовать для разметки нового раздела. В графе "Размер сжимаемого пространства" мы уже конкретно задаем сколько свободных мегабайт мы будем использовать под новый раздел из свободного места. Графы "Общий размер до сжатия" и "Общий размер после сжатия" показывают сколько мегабайт у нас занимал системный раздел, который мы сейчас размечаем на 2, перед разметкой и сколько будет занимать после нее.

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

Теперь нам остается только отформатировать свободное пространство в нужную нам файловую систему (для Windows это чаще всего NTFS) и приписать новому разделу букву, под которой он будет отображаться в окошке "Мой компьютер". Для этого создадим на неразмеченном пространстве новый том:

Затем выберем для него все доступное место (если мы хотим создать только один раздел) :

зададим желаемую букву:

При этом можете задать в метке тома произвольное название для нового раздела. Оно будет отображаться рядом с выбранной для раздела буквой. Кликнем "Далее", подождем пока новый раздел отформатируется в нужную файловую систему и вуаля. Теперь у Вас 2 раздела на диске. Можете пройти в окошко моего компьютера и убедиться, что это так:

Создание структуры разделов в разметке GPT

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

Разметка жёсткого диска

Для взаимодействия компьютера и жёсткого диска, на последний должна быть нанесена разметка. С помощью неё компьютер, его БИОС, находит на винчестере места, с которых начинает загрузку ОС. С помощью этой разметки на винчестере указывается какое пространство для чего используется.

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

На сегодняшний день применяются два основных способа разметки винчестера:

  • MBR – популярная разметка, применявшаяся ранее и использующаяся до сих пор.
  • GPT – стиль раздела – современная разметка, созданная для работы с современным оборудованием.

Информация о диске

Разметка диска стала массового применяться в 80-х годах прошлого века, как единственный используешься на ПК. В то время в жизнь входили персональные компьютеры, работали они под операционной системой DOS, которая требовала загрузки со стороннего носителя. Несколько позже появилась Windows.

Для загрузки системы на жёстком диске создаётся загрузочный сектор. Компьютер при запуске обращается к нему, происходила начальная загрузка. Загружаются начальные элементы загрузки. Потом управление передаётся основному загрузчику, как правило, установленной операционной системе.

По сути, при включении компьютера идёт обращение к главной загрузочной записи. Именно так переводится английская аббревиатура MBR – Mster Boot Record.

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

  1. Использование жёстких дисков, объёмом не более 2 Тб.
  2. Винчестер может содержать не более четырёх основных разделов, как следствие – ограничение на количество одновременно установленных работоспособных ОС (В случае Windows 7,8 – не более двух).
  3. Низкая надёжность разметки. При повреждении загрузочного сектора, запуск ОС невозможен.

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

Как создать диск

Стиль разметки GPT появился сравнительно недавно. Для раздела на носителе используется неповторимый идентификатор, имя раздела. Символьная длинна имени позволяет создавать столько имён, что среди всех разделов существующих винчестеров не будет двух с одним и тем же именем.

При использовании GPT-разметки на винчестере создаётся первый системный, загрузочный, раздел, в котором хранится необходимая для загрузки компьютера информация. Этот раздел заменят собой БИОС компьютера. Других разделов может быть 127. Каждый из них может быть основным и на каждый может быть установлена отдельная операционная система.

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

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

Производители ОС Windows привязывают лицензию продукта не к оборудованию пользователя, а к уникальному имени раздела винчестера, куда система установлена. При смене раздела или замене жёсткого диска лицензию необходимо сбрасывать.

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

Новый стиль разметки GPT накладывает ограничения в совместимости:

Установка Windows на GPT

  • операционная система Windows загружается с GPT-носителей на компьютерах с современным UEFI;
  • использование Windows 64-битных версий;
  • Linux имеет встроенную поддержку GPT-носителей;
  • компьютеры Aple перешли с фирменной разметки APT на разметку GPT;
  • на одном физическом носителе не может быть одновременно разделов MBR и GPT;
  • в новых устройствах применяется стиль разметки gpt windows 8 и более поздних версий ОС.

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

Как узнать MBR или GPT

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

Откроется окно свойств винчестера. На вкладке «Тома» будет указан стиль раздела «Основная загрузочная запись (MBR)» или «Таблица с GUID», что означает GPT диск.

Также разметку можно узнать с помощью системной программы DiskPart. Для запуска нажать на клавиатуре Win+R, ввести Diskpart, ввод, согласится с вопросом системы безопасности. В интерфейсе программы ввести «List disk», нажать ввод. В списке дисков, принадлежащих системе, диски с GPT структурой будут отмечены звёздочкой в колонке GPT.

Создание и преобразование дисков

Что такое жёсткий диск

При преобразовании дисков, данные содержащиеся на винчестере будут безвозвратно утеряны. Создайте резервную копию диска.

Создание GPT диска сводится к преобразованию MBR диска в GPT. Для этого необходимо перейти в «Управление дисками» (см. «Как узнать разметку диска»). На диске, выбранном для преобразования, требуется удалить все тома: в верхней части окна по правой кнопке мыши нужно нажать последовательно по всем томам и выбирая «Удалить том».

После удаления томов, снизу нужно нажать правой кнопкой мыши на базовый GPT или MBR диск, выбрать «Преобразовать в GPT» или «Преобразовать в MBR». Далее следовать инструкциям и давать необходимые пояснения.

UEFI и диски GPT

С приходом на рынок нового стиля разметки GPT, старые БИОС стали неактуальны. Для запуска компьютера используется загрузчик UEFI со всеми своими преимуществами:

Исправление ошибки жёсткого диска

  • UEFI поддерживает современное оборудование;
  • UEFI блокирует попытки вредоносных программ вставить чужой код в загрузчике;
  • UEFI ускоряет загрузку системы;
  • UEFI и GPT призвано бороться с пиратством и нарушением авторский прав.

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

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

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

Структура MBR

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

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

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

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

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

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

Следующие три байта — это так называемые 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, но имеет следующие отличия:

  • В EBR нет исполняемого кода. Некоторые загрузчики могут его туда записывать, но обычно это место заполнено нулями
  • Сигнатуры диска и два неиспользуемых байта должны быть заполнены нулями
  • В таблице разделов могут быть заполнены только две первых записи. Остальные две записи должны быть заполнены нулями

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

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

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

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

Для первой записи таблицы разделов 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 частей:

LBA-адрес Размер (секторов) Назначение
LBA 0 1 Защитный MBR-сектор
LBA 1 1 Первичный GPT-заголовок
LBA 2 32 Таблица разделов диска
LBA 34 NN Содержимое разделов диска
LBA -34 32 Копия таблицы разделов диска
LBA -2 1 Копия GPT-заголовка

Защитный 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-заголовка:

Смещение (байт) Размер поля (байт) Пример заполнения Название и описание поля
0x00 8 байт 45 46 49 20 50 41 52 54 Сигнатура заголовка. Используется для идентификации всех EFI-совместимых GPT-заголовков. Должно содержать значение 45 46 49 20 50 41 52 54, что в виде текста расшифровывается как "EFI PART".
0x08 4 байта 00 00 01 00 Версия формата заголовка (не спецификации UEFI). Сейчас используется версия заголовка 1.0
0x0C 4 байта 5C 00 00 00 Размер заголовка GPT в байтах. Имеет значение 0x5C (92 байта)
0x10 4 байта 27 6D 9F C9 Контрольная сумма GPT-заголовка (по адресам от 0x00 до 0x5C). Алгоритм контрольной суммы — CRC32. При подсчёте контрольной суммы начальное значение этого поля принимается равным нулю.
0x14 4 байта 00 00 00 00 Зарезервировано. Должно иметь значение 0
0x18 8 байт 01 00 00 00 00 00 00 00 Адрес сектора, содержащего первичный GPT-заголовок. Всегда имеет значение LBA 1.
0x20 8 байт 37 C8 11 01 00 00 00 00 Адрес сектора, содержащего копию GPT-заголовка. Всегда имеет значение адреса последнего сектора на диске.
0x28 8 байт 22 00 00 00 00 00 00 00 Адрес сектора с которого начинаются разделы на диске. Иными словами — адрес первого раздела диска
0x30 8 байт 17 C8 11 01 00 00 00 00 Адрес последнего сектора диска, отведенного под разделы
0x38 16 байт 00 A2 DA 98 9F 79 C0 01 A1 F4 04 62 2F D5 EC 6D GUID диска. Содержит уникальный идентификатор, выданный диску и GPT-заголовку при разметке
0x48 8 байт 02 00 00 00 00 00 00 00 Адрес начала таблицы разделов
0x50 4 байта 80 00 00 00 Максимальное число разделов, которое может содержать таблица
0x54 4 байта 80 00 00 00 Размер записи для раздела
0x58 4 байта 27 C3 F3 85 Контрольная сумма таблицы разделов. Алгоритм контрольной суммы — CRC32
0x5C 420 байт 0 Зарезервировано. Должно быть заполнено нулями

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

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

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

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

Читайте также: