Что такое GPT диск? Чем стиль разделов лучше MBR?
Привет, друзья! Сегодня в статье разбор популярной темы. Не всем нравиться Windows 10. По разным причинам, но основная — это ее ресурсоемкость, слабые устройства ее не очень хорошо тянут. Плюс частые обновления. Поэтому, много людей предпочитают ставить привычную Windows 7, которая хорошо себя зарекомендовала. А «десятку» иди «восьмерку» удаляют».
И вот, представьте, человек купил ноутбук, хочет поставить «семерку» вместо установленной «десятки», а у него не получается. Прежде чем заняться переустановкой, будет полезным узнать, что такое стили разделов, почему они бывают разными и какой лучше использовать.
Компьютеры — это такая непостоянная вещь, каждый день узнаем что-нибудь новенькое… Увеличиваются постоянно скорость, быстродействие наших устройств и объемы памяти для хранения настроек и данных. Приведу пример. Может быть Вы уже сталкивались с такой проблемой — купили флешку на 8 Гб, а данных влезает туда только на 2 Гб,? Компьютер пишет — нет места, файл не записывается. Все дело в файловой системе.
Старая файловая система FAT не может хранить данных более, чем 2 гб. Явление это чисто математическое, и сейчас редкое, не будем углубляться. Но вот, вы переформатировали флешку в системе NTFS и все стало в порядке, можно туда все записывать, пока место не кончится. Так и со стилями разделов. Появились недавно в природе более емкие и быстрые устройства для хранения информации — стала нужна новая таблица разделов, поддерживающая эти новые устройства. Чтобы понять разницу, вспомним сначала, что представляет собой стиль MBR.
Что такое стиль разделов MBR?
MBR — аббревиатура английского словосочетания Master Boot Record, в переводе на русский — » главная загрузочная запись». Именно в таком стиле работали все компьютеры на Windows примерно до 2010-2011 годов. С 1983 года эта система в деле. В каждом компьютере есть базовая система ввода- вывода (биос). Записана она в определенной микросхеме материнской платы. После включения компьютера система эта запрограммирована таким образом, что сначала тестирует сама себя, по сути происходит проверка всех устройств по заданной программе.
Если оборудование найдено, нужно теперь определить, как дальше будет грузится Ваш компьютер. Вариантов загрузки может быть несколько — с жесткого диска, флешки или компакт-диска. Эти варианты определяются в БИОС. У жесткого диска может быть несколько разделов, на одном из них «лежит» ваша операционная система. Функция MBR как раз и состоит в том, чтобы передать управление загрузкой из БИОС устройству, на котором лежит эта загрузочная запись, то есть жесткому диску.
Что значит «GPT-диск»?
Как говориться, время шло. И вот флагман из разработчиков компьютерного (фирма InteL) начала реализовывать в своих микросхемах новый продукт — расширенную версию микропрограммного обеспечения (интерфейса). БИОС превратился в EFI. Для нас это выглядело так (BIOS):
А на более поздних версиях это теперь может выглядеть так (EFI):
EFI использует GPT так же, как БИОС использует главную загрузочную запись. Но, дело не в том, какие инструменты лучше использовать для идентификации активного раздела, а в том, что новый стиль разделов позволяет работать с разделами на жестком диске емкостью более 2,2 Терабайт. Там где возможности уже MBR исчерпаны.
Растут емкости накопителей, но MBR все равно оставлена в EFI для совместимости со старыми операционными системами и безопасности. Она расположена по другому адресу, записывается в других единицах измерения(LBA) защищена от удаления, но по прежнему может использоваться и в EFI. Кстати, для безопасности главная загрузочная запись дублируется, она теперь есть и в начале и в конце диска. Есть еще интересные сложные технические ньюансы, но думаю, что основной момент — зачем придумали стиль GPT мы уже уяснили и теперь нам легко будет ответить на следующий вопрос.
Какой стиль для создания разделов жёстких дисков выбрать — MBR или GPT?
Старые компьютеры не поддерживают GPT стиль разделов, тут выбирать не из чего. В остальных случаях смотрим на объем вашего жесткого диска. Если у Вас ноутбук или компьютер с жестким диском менее 2,2 терабайт, то для Вас нет принципиальной разницы, какой стиль раздела использовать. Все прелести EFI а вместе с ней и GPT начинают сказываться, только если у вас стоят емкие, быстрые диски — с большими массивами информации. Для таких устройств загрузка, скорость чтения/записи на диск увеличивается с использованием новой таблицы разделов и EFI.
Конечно, нужно помнить, что не все операционные системы умеют работать с новым стилем. Старые так же не установятся на новую разметку. Для наших компьютеров, у которых диск жесткий имеет стандарт 500 гб, не актуальна эта проблема — что лучше, что хуже, потому что работать будет все одинаково. Вот если Вы используйте новые жесткие диски большой емкости для хранения файлов + сервер — в этом случае конечно преимущество GPT будет явным.
Пока для нас актуальна другая проблема, заводские настройки. При покупке устройства оказывается, что диск уже размечен в стиле GPT и нужно переразмечать раздел, чтобы установить на него Windows 7. Но, об этом продолжим разговор в следующей статье.
Не получается установить Windows на диск GPT или MBR. Исправляем
Поскольку ПК приобретается раз в несколько лет, а его комплектующие периодически заменяются, программные и аппаратные компоненты порой плохо соответствуют друг другу. Сам ПК может быть достаточно старым, но вы укомплектовали его современным SSD. Уже не первый год доступна Windows 10, а вы до сих пор отдаете предпочтение привычной «семерке».
Помимо таких заметных каждому вещей, как производительность процессора и интерфейс ПО, есть значимые характеристики, которые начинают представлять интерес только в тех случаях, когда становятся причиной сбоев.
К ним относится и формат таблиц разделов HDD или SSD. Вы могли и не слышать о существовании характеристики накопителя, которая неожиданно огорчила, препятствуя установке Windows 7, 10 или 8.
ПК «говорит», что установка Windows невозможна. Причина: таблица разделов диска — GPT или MBR. Увы, технологии прошлого не всегда «дружат» с современными. К счастью, это легко исправимо.
Не получается поставить ОС на GPT-диск. Решения, которые помогут
Существуют две возможности:
Настоящее (UEFI и GPT) и прошлое (BIOS и MBR)
Раньше материнская плата ПК оснащалась ПО BIOS. Оно осуществляло диагностику и анализ железа, а затем загружало ОС, опираясь на загрузочную запись раздела MBR.
В более современных моделях роль BIOS выполняет UEFI. Загружается быстрее и поддерживает:
GPT превосходит MBR по важным параметрам:
Выбор метода
Пытаться все же установить систему на «несовместимый HDD» или преобразовать его в MBR и тем самым сделать так, что ошибка больше появляться не будет. В каждом случае решение зависит от ряда факторов:
Помните:
BIOS или UEFI
Когда вы заходите в BIOS и видите старомодный синий экран — перед вами традиционный BIOS. Если интерфейс с современной графикой и поддержкой мыши — это UEFI.
Чаще всего не получается установить Windows 7
Сложности с установкой системы на GPT-диск с большей вероятностью возникают у пользователей, которые предпочитают Windows 7.
Для установки Windows на диск со стилем разделов GPT необходимо соблюсти два условия:
Исхожу из того, что вы устанавливаете 64-битную версию Windows. Это означает, что сообщение об ошибке появляется по причине несоответствия второму требованию.
Не исключено, что будет достаточно поменять настройки BIOS. Зайдите в него, нажав предусмотренную для этого клавишу. Вы увидите, какую клавишу нажимать в процессе загрузки компьютера. В ноутбуках чаще всего применяется F2, в настольных моделях — Delete.
Поменяйте загрузку CSM (Compatibility Support Mode) на UEFI.
Ищите в разделах «BIOS Setup», «BIOS Features» или подобных по смыслу. В SATA определите режим AHCI, а не IDE.
Для седьмой (и еще более древних) версий Windows нужно также выключить Secure Boot.
BIOS вашей модели компьютера может выглядеть иначе. Названия пунктов меню также могут быть другими. Но смысл всегда сохраняется.
После изменения и сохранения вами новых параметров BIOS у вас появится возможность установки системы на GPT-диск. Если вы устанавливаете ОС с DVD, то сообщение об ошибке при повторной попытке установки, скорее всего, не появится.
В случае установки с USB-накопителя сообщение может отобразиться опять. В этой ситуации необходимо пересоздать установочную флешку таким образом, чтобы она поддерживала загрузку UEFI.
Если накопителем поддерживаются два метода загрузки, удалите файл «bootmgr» в корневой директории флешки. Тем самым вы предотвратите возможность загрузки в режиме BIOS. Если нужна загрузка в режиме BIOS, удалите каталог «efi». Не делайте этого в тех случаях, когда есть хоть малейшие сомнения. Можно повредить дистрибутив.
Преобразование GPT в MBR
Если вы располагаете ПК с классическим BIOS и собираетесь поставить Windows 7, этот вариант будет лучшим (и, возможно, единственным). В процессе преобразования вся информация с накопителя будет удалена.
Во время работы мастера установки ОС нажмите F10 и Shift. В некоторых моделях ноутбуков — F10, Fn и Shift. В открывшейся командной строке последовательно введите такие команды:
— diskpart
— list disk (запишите номер подлежащего преобразованию диска)
— select disk N (вместо N — записанный номер)
— clean (команда очистит диск)
— convert mbr
— create partition primary
— active
— format fs=ntfs quick (быстрое форматирование в файловой системе NTFS)
— assign
— exit
Невозможно поставить ОС на диск с MBR-разделами
Вероятна обратная ситуация. Появляется ошибка:
«Установка Windows на данный диск невозможна. На выбранном диске находится таблица MBR-разделов. В системах EFI Windows можно установить только на GPT-диск»
Она означает, что вы пытаетесь установить систему с DVD или USB-накопителя в режиме EFI. Таблица разделов HDD или SSD старая — MBR. В этом случае вы можете:
Первый вариант предпочтительнее, поскольку проще и быстрее. Помните, что информация со всех разделов накопителя будет полностью потеряна.
Преобразование MBR в GPT. Вся информация будет удалена
В установщике системы запустите командную строку:
В открывшемся окне:
— diskpart
— list disk (запишите номер подлежащего преобразованию диска)
— select disk N (вместо N — записанный номер)
— clean (команда очистит диск)
— convert gpt
— exit
Когда команды применены:
Более простой способ преобразования с потерей информации на накопителе:
Результатом ваших действий станет автоматическое преобразование в GPT. Следующим шагом стартует установка ОС.
Как не потерять данные при преобразовании
Используйте стороннюю утилиту Minitool Partition Wizard Bootable. Скачайте ISO-образ и запишите его на флешку, отформатированную в FAT32. Необходимые условия:
Загрузите ПК с созданного вами накопителя. В окне программного инструмента:
Если диск системный, может появиться сообщение о том, что его преобразование невозможно. Чтобы все же преобразовать его:
Как обойтись без преобразования
Зайдите в BIOS и установите режим загрузки CSM (Compatibility Support Mode) или Legacy, отключив EFI. Отключите «Secure Boot».
Ранее я подробно рассмотрел процессы чистой установки Windows 10 и Windows 7.
Какие другие затруднения возникали у вас при установке Windows?
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
GPT и MBR. В чём суть и отличие стилей разделов жёсткого диска
Что такое GPT- и MBR-диски? С этими понятиями впервые сталкиваются обычно либо в процессе инициализации только что приобретённых новых жёстких дисков, либо в процессе переустановки Windows, когда при выборе места для установки получают внезапно ошибку «Установка Windows на данный диск невозможна». В сообщении из которой, далее следует одно из пояснений ошибки:
Ниже будем детально разбираться в этих двух понятиях.
Что такое GPT и MBR
GPT и MBR – эти стили разделов жёсткого диска, их также называют стили разметки или таблицы разделов диска. Всё это синонимы одного понятия — способа хранения сведений о разделах жёсткого диска. Сведений о начале и конце разделов, а также о принадлежности каждому из них секторов, об их атрибутах (основной, логический и пр.), о том, какой из разделов является загрузочным и т.п.
Если мы подключим к компьютеру новый или старый, но пустой жёсткий диск, он не будет видеться системой Windows, пока мы его не проинициализируем в управлении дисками – входящей в состав операционной системы утилитой diskmgmt.msc (или с помощью сторонних и разнообразных менеджеров дисков). В штатном управлении дисками инициализация подключённых пустых носителей запускается автоматически при открытии утилиты. И система предлагает нам указать, какой мы хотим задать стиль разделов:
В окне инициализации Windows подсказывает нам, какой из стилей выбрать опцией предустановки. И выходит система из текущих условий своей работы – на диске с каким стилем разметки она установлена, в таком и предлагает проинициализировать новый носитель данных.
MBR – старый стиль, GPT же современный, более совершенный. В чём именно их разность?
Тип BIOS
Работать с незагрузочными дисками GPT и MBR можно на любых компьютерах. А вот загружать с них операционную систему – нет. Чтобы была возможна загрузка с GPT-диска, материнская плата компьютера должны быть с BIOS UEFI. Ну или как минимум с гибридным BIOS с реализацией ПО EFI в части поддержки дисков GPT. Это большая часть материнок ПК и ноутбуков, выпущенных после 2012 года. При этом в BIOS должен быть активен либо сам режим UEFI, либо режим совместимости с обычной BIOS Legacy, если таковой поддерживается.
А чтобы компьютер мог загружаться с MBR-дисков, в BIOS должен быть выставлен либо, опять же, режим совместимости двух типов BIOS, если он предусматривается, либо только Legacy.
В довольно скором будущем производители материнок ПК и ноутбуков откажутся от совместимости с BIOS Legacy, и устройства будут поставляться только с прошивкой UEFI. Например, компания Intel заявляет, что сделает это уже после 2020 года. Так что таймер отсчёта отправки MBR на свалку истории уже запущен.
Типы разделов
На MBR-дисках доступно создание не более 4-х основных разделов – таковых, с которых возможна загрузка системы Windows. Если разделов нужно создать больше, основными могут быть только трое, а все остальные должны быть логическими, с которых запуск Windows невозможен.
Тогда как на GPT-дисках этой заморочки нет – на нём все разделы основные, и их может быть аж 128 штук.
Видимый объём носителя
Стиль MBR не позволяет увидеть объём носителя данных больше 2,2 Тб. Если же у носителя больший объём, ему принципиально нужна GPT-разметка.
Быстродействие и восстановление данных
MBR как способ хранения сведений о разделах жёсткого диска предусматривает такое хранение сведений в одном месте. Что делает и Windows, и наши данные уязвимыми к сбоям, влекущим за собой ошибки записи этих сведений. Тогда как GPT хранит эти сведения в нескольких местах, причём равномерно распределённых по всей поверхности носителя. Это делает Windows более устойчивой к последствиям сбоя во время записи системных данных, увеличивает шансы на восстановление пользовательских файлов, привносит небольшое быстродействие в работу HDD по считыванию данных.
У MBR и GPT разное обустройство загрузчика. У стиля GPT меньше стадий процедуры загрузки, потому Windows на таких дисках запускается немножко быстрее.
Совместимость Windows
На GPT-дисках могут работать только определённые ОС, так называемые EFI-системы – от названия ПО EFI, на базе которого функционирует прошивка UEFI. Это:
Работа 32-битных Windows, старой версии XP и ниже возможна только на дисках MBR.
Структура разделов Windows
У обычных систем Windows на MBR-дисках и EFI-систем на GPT-дисках разная по сути структура технических системных разделов. На MBR-дисках из числа системных разделов вообще может быть только единственный С, на котором размещены и сама Windows, и её загрузчик. Но чаще это схема, состоящая из двух разделов:
На GPT-дисках схема EFI-системы включает обычно три раздела:
Иногда схема может исключать раздел восстановления Windows или включать ещё один технический раздел MSR.
Загрузочные флешки UEFI
Чтобы на компьютере с активной BIOS UEFI переустановить Windows на диске GPT или просто запуститься с Live-диска для реанимации системы, загрузочную флешку необходимо создавать специальным образом. Как создавать загрузочные флешки для обоих типов BIOS – и UEFI, и Legacy, чтобы установить Windows на нужный стиль разметки диска, читайте в этой статье.
Только правильно создать флешку для UEFI мало. Во-первых, с неё нужно правильно загрузиться. Во-вторых, чтобы была возможной загрузка с установочной флешки Windows 7, в UEFI предварительно нужно отключить Secure Boot.
Как узнать, диск GPT или MBR
Какой у подключённых к компьютеру носителей информации стиль разметки — GPT или MBR? Как это узнать? В среде рабочей Windows сделать это можно средствами штатного управления дисками. Запускаем через поиск или команду «Выполнить» утилиту diskmgmt.msc. И смотрим структуру разделов Windows, как показано выше. Если носитель чисто для пользовательских данных, на нём нет Windows, вызываем на нём контекстное меню и смотрим неактивную функцию преобразования. Если это «Преобразовать в GPT-диск», следовательно, диск в стиле MBR. Если «Преобразовать в MBR», то, соответственно, у диска стиль GPT.
В разы проще эта информация представлена в бесплатной утилите Show Disk Partition Style от разработчика Sordum. Она портативная, просто скачиваем её, запускаем и видим простенькую табличку с указанием на стиль разметки всех подключённых к компьютеру носителей информации.
В интерфейсе продвинутых менеджеров управления дисками получим больше информации по любым аспектам носителей. Например, в одном из таковых — AOMEI Partition Assistant — увидим прямое указание на стиль разметки и на карте дисков, и в табличной их сводке.
Как создать GPT- и MBR-разметку
Жёсткий диск получает стиль разметки при инициализации средствами Windows или сторонними менеджерами. О чём, собственно, и говорилось в самом начале статьи. В процессе установки Windows на пустой диск – на незанятое пространство, стиль разметки задаётся автоматически.
Если в BIOS компьютера активен режим UEFI, то автоматически будет выбран стиль разметки GPT. Но ежели на компьютере нет UEFI или в BIOS указан режим Legacy, то автоматом выберется MBR.
Преобразование стилей разметки
GPT-диски могут преобразовываться (конвертироваться) в MBR, а диски MBR — в GPT. С участием штатных средств Windows этот процесс невозможен без потери разметки носителя и хранящихся на нём данных. А вот сторонние программы-менеджеры могут эту операцию проводить без потери разметки и данных носителя. А в отдельных случаях ещё без необходимости переустановки Windows. Детально о преобразовании стилей разметки читайте в отдельной статье блога.
Изучаем структуры 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, но имеет следующие отличия:
В отличие от 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 частей:
Защитный 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 сектора диска.































