Что выбрать – GPT или MBR? Объясняем чем отличаются стандарты

Одним из эффективных шагов по устранению неполадок связанную с загрузкой windows, является восстановление загрузочной записи Master Boot Record или MBR. Одна из распространенных причин, по которым MBR может быть повреждена, связана с заражением вредоносными программами. Неправильное завершение работы также может привести к повреждению загрузочной записи (MBR). Иногда проблемы бывают, когда Linux Grub установлен, и Windows не может его обнаружить. В некоторых случаях вы можете получить ошибку Bootmgr is Missing или BCD при включении компьютера. В таких случаях вы можете запустить восстановление MBR для устранения этих проблем.

Восстановление загрузчика Master Boot Record (MBR) в Windows 10

Нам нужно запустить командную строку (cmd) при загрузке системы windows, когда она не работает и не загружается на рабочий стол. Процесс одинаков для Windows 10/8/7. Прежде всего, нужен установочный DVD-диск или установочная флешка.

Шаг 1 . Нажмите F8 во время загрузки системы, чтобы войти в меню восстановления Windows. В более поздних версиях F8 не работает - можно создать или , чтобы запустить меню дополнительных параметров.

Шаг 2 . Нажмите "Поиск и устранение неисправностей ".

Шаг 3 . Выберите "Дополнительные параметры ".


Шаг 4 . Нажмите на "Командная строка ".


Шаг 5 . Теперь воспользуемся инструментом Bootrec.exe . Введите командную строку следующие команды одну за другой:

bootrec /RebuildBcd

bootrec /fixMbr

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

Предыстория

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

Поиск осуществляется с помощью базовой системы ввода-вывода (basic input/output system, сокращенно BIOS), в этом ей помогает MBR.

Концепция MBR

MBR (Master Boot Record) в переводе на русский «Главная загрузочная запись» - это первый сектор (самые первые 512 байт участка памяти) носителя информации (будь то жесткий диск (HDD) или твердотельный накопитель (SSD)). Предназначен MBR для нескольких функций:

  1. Содержит код и данные (446 байт - начальный загрузчик) которые необходимы BIOS, для начала загрузки ОС.
  2. Содержит информацию о разделах жесткого диска (4 первичных раздела по 16 байт каждый). Эта информация называется таблица разделов (Partition Table).
  3. Стража (0xAA55, размер - 2 байта).

Процесс загрузки ОС

Загрузка операционной системы после включения компьютера - многоступенчатый процесс. Большинство ПК на сегодняшний день подготавливают свою аппаратную часть к работе с помощью прошивки BIOS. Во время старта BIOS инициализирует системные устройства, затем ищет загрузчик в MBR первого устройства хранения (HDD, SDD, DVD-R диск или USB-накопитель) или на первом разделе устройства (поэтому, для того чтобы выполнить загрузку с другого накопителя, нужно ).

Далее BIOS передает управление загрузчику, который считывает информацию из таблицы разделов и готовится загрузить ОС. Завершает процесс наш страж - специальная сигнатура 55h AАh, которая идентифицирует главную загрузочную запись (загрузка ОС началась). Сигнатура находится в самом конце первого сектора, в котором расположен MBR.

Недостатки

Технология MBR впервые была применена в 80-х годах еще в первых версиях DOS. По прошествии времени MBR была отшлифована и обкатана со всех сторон. Она считается простой и надежной. Но при росте вычислительных мощностей, выросла и потребность в больших объемах памяти носителей. С этим возникли сложности, так как технология MBR поддерживает работу накопителей объемом только до 2,2 ТБ. Также, MBR не может поддерживать более 4 основных разделов на одном диске.

Особенности

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

  1. GPT не ограничивает свой объем в одном секторе (512 байт).
  2. Для таблицы разделов в Windows резервируется 16 384 байт (если используется сектор в 512 байт, то по подсчетам доступно 32 сектора).
  3. GPT имеет функцию дублирования - оглавление и таблица разделов записаны в начале и в конце диска.
  4. Количество разделов не ограничено, но технически сейчас существует ограничение в 2 64 раздела из-за разрядности полей.
  5. Теоретически GPT позволяет создавать разделы диска (при размере сектора в 512 байт; если размер сектора больше, то и размер раздела больше) размером до 9,4 ЗБ (это 9,4×10 21 байт; чтобы лучше представлялось, размер раздела носителя информации мог бы иметь такой объем, как вмещают в себя 940 миллионов дисков по 10 ТБ каждый). Этот факт сметает на нет проблему ограничения носителей информации в 2,2 ТБ под управлением MBR.
  6. GPT позволяет назначить разделам уникальный 128-битный идентификатор (GUID), имена, атрибуты. Благодаря использования стандарта кодирования символов юникод, разделы могут быть названы на любом языке и сгруппированы по папкам.

Этапы загрузки ОС

Загрузка ОС происходит совсем не так, как в BIOS. UEFI не обращается для загрузки Windows к коду MBR, даже если он есть. Вместо этого используется специальный раздел на винчестере, который называется «EFI SYSTEM PARTITION». В нем располагаются файлы, которые необходимо запустить для загрузки.

Загрузочные файлы хранятся в директории /EFI/<ИМЯ ВЛАДЕЛЬЦА>/. Это значит, что UEFI имеет собственный мультизагрузчик, который позволяет в разы быстрей определять и загружать нужные приложения (в BIOS MBR для этого требовались сторонние программы). Процесс загрузки UEFI происходит следующим образом:

  1. Включение компьютера → проверка аппаратного обеспечения.
  2. Загружается прошивка UEFI.
  3. Прошивка загружает диспетчер загрузки, который определяет, с каких дисков и разделов будут загружены UEFI приложения.
  4. Прошивка запускает UEFI приложение с файловой системой FAT32 раздела UEFISYS, как это указано в загрузочной записи менеджера загрузки микропрограммы.

Недостатки

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

Операционная система Разрядность Чтение, запись
Windows 10 x32 + +
x64 + +
Windows 8 x32 + +
x64 + +
Windows 7 x32 + -
x64 + +
Windows Vista x32 + -
x64 + +
Windows XP Professional x32 - -
x64 + -

Также, среди недостатков GPT можно выделить:

  1. Невозможно назначить имя всему диску, как отдельным разделам (есть только свой GUID).
  2. Идет привязка раздела к его номеру в таблице (сторонние загрузчики ОС предпочитают использовать номер вместо имен и GUID).
  3. Дубликаты таблиц (Primary GPT Header и Secondary GPT Header) строго ограничены в количестве 2 штук и имеют зафиксированные позиции. В случае повреждения носителя и наличия ошибок, этого может быть недостаточно для восстановления данных.
  4. Эти 2 копии GPT (Primary и Secondary GPT Header) взаимодействуют друг с другом, но не позволяют удалить и перезаписать контрольную сумму в случае, если она в одной из копий не верна. Это значит, что не предусмотрена защита от на уровне GPT.

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

Сравнение двух технологий

Хоть и концепции MBR и GPT достаточно отличаются друг от друга, постараюсь сравнить их в общих чертах.

Также наглядно сравните загрузку ОС посредством старой и новой технологии.

Заключение

Прежде чем решить, что лучше GPT или MBR, поставьте перед собой следующие вопросы:

  1. Я буду использовать диск с нужным мне разделом для хранения данных или как системный для загрузки Windows?
  2. Если как системный, то какую Windows я буду использовать?
  3. На моем компьютере стоит прошивка BIOS или UEFI?
  4. Объем моего жесткого диска менее 2 ТБ?

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

P.S. Материнские платы, что печатаются сейчас, оснащаются прошивкой UEFI. Если у вас такая, предпочтительно использовать разделы со стилем GPT (но опять таки, смотря какие цели вы преследуете). Со временем BIOS уйдет в прошлое и рано или поздно, но большинство компьютеризированных устройств будут работать с накопителями используя GPT.

1. Загрузить компьютер, с загрузочного DVD диска, загрузочной дискеты или загрузочной флешки, (см. как создать загрузочную флешку / USB flash )

2. Запустить утилиту debug.exe. Debug.exe присутствует в любой DOS , Windows но она чувствительна к версии, т.е. если переписать на загрузочный диск Win98 debug.exe из XP она не запустится. (см. Загрузочная флэшка).

3. Загрузить компьютер запустить debug.exe .

Теперь вводим короткую программу.

A100

int13

jmp100

u100 102

r

Пояснения:

a, u, r - команды утилиты debug

? - выводит полный список команд.
a - позволяет вводить программу с адреса
u - показывает программу
r - показывает регистры процессора
AX,BX,CX,DX,SP,BP,SI,DI это регистры процессора.
DS,ES,SS,CS - сегментные регистры значения в них будут отличаться от тех что на картинке, но они будут одинаковые.

IP(Instruction Pointer) регистр команд, указывает на адрес XXXX:0100 , куда мы ввели команду INT13 .

INT 13 команда процессора, вызывает подпрограмму BIOS для работы с дисками. Параметры передаются через регистры.

Команда JMP100 возвращает указатель команд на адрес 100

Е сли запустить такой код на выполнение командой G компьютер зависнет в бесконечном цикле, но т.к. мы собираемся выполнять нашу программу в пошаговом режиме, команда безусловного перехода избавит нас от необходимости изменять значение в регистре IP после каждого вызова int13

Итак освоим чтение загрузочного сектора. Master Boot Record

Вводим команды

rax
201
rbx
200
rcx
1
rdx
80

r


нетрудно догадаться, что команда r< имя регистра> позволяет менять значение в регистре процессора.

Для вызова int13 смысл этих значений такой:
AX = 02 старший байт код операции 02= чтение (03 =запись)
01

младший байт количество секторов которое надо прочитать

BX =0200 адрес памяти куда считывать сектор
CX =0001 младшие биты задают номер сектора. Сектора нумеруются с 1
DX =00 старший байт номер головки, головки нумеруются с нуля
80 младший байт номер диска 01 для флоповода , 80,81 для жестких дисков и USB flash дисков, которые BIOS видит как жесткий диск.

Теперь вводим

после вызова INT13 важно проконтролировать последние две буквы регистра флагов CY-означает ошибку, при успешном выполнении должно быть NC. (На картинке CY, т.к. из под Windows нельзя прочитать MBR, а из под DOS нельзя создать скриншот)

Итак мы прочитали нулевой сектор в память по адресу 200.


Команда n задает имя файла. Команда w

записывает в файл данные из памяти по адресу. Количество байт задается сразу в двух регистрах BX:CX.

Чтобы загрузить файл в память используем команду L

. В регистре CX ,будет количество прочитанных байт. Чтобы просмотреть память по адресу (в нашем случае, там содержимое нулевого сектора) команда d


Рассмотрим варианты редактирования данных перед записью их обратно на диск.

f200 3bd 00 обнуляет загрузочную программу но оставляет информацию о разделах диска нетронутой.

Команда e

позволяет редактировать память.

Чтобы записать данные из памяти на диск вводим.

rax
301
rbx
200
rcx
1
rdx
80

r

p

Надо перезагрузить

Форматирование жестких дисков выполняется в три этапа:

    низкоуровневое форматирование (физическая разметка диска на цилиндры, дорожки, секторы);

    разбиение диска на разделы (логические устройства):

    высокоуровневое (логическое) форматирование каждого раздела.

На этапе низкоуровневого форматирования процессор, выполняя программу форматирования, поочередно передает в контроллер жесткого диска сначала команду "Поиск" для установки головок накопителя на нужный цилиндр, а затем посылает команду "Форматировать дорожку". Выполняя команду "Форматировать дорожку" контроллер жесткого диска, получив из накопителя импульс "Индекс" (начало дорожки), производит запись служебного формата дорожки, который разбивает ее на секторы. Каждый сектор содержит в себе блок данных (512 байт), обрамленный служебным форматом сектора (содержание к размер служебного формата определяется конкретной фирмой-разработчиком данного устройства). Служебный формат дорожки и секторов необходим контроллеру жесткого диска при выполнении команд. Читая и расшифровывая поля служебного формата, контроллер находит на диске нужный цилиндр, поверхность, сектор и блок данных внутри сектора. На следующих этапах форматирования в блоки данных ряда секторов записывается системная информация, которая обеспечивает организацию разделов на диске, автоматическую загрузку операционной системы и поддержку файловой системы на диске.

На этапе разбиения диска на разделы в блоке данных первого физического сектора диска (0 цилиндр, 0 поверхность, 1 сектор) с адреса 1BEh формируется таблица разделов (Partition table), состоящая из 4-х шестнадцатибайтных строк. Обычно системную информацию, записанную в блок данных этого сектора в процессе форматирования, называют Master Boot Record (MBR).

С самого начала блока данных этого сектора располагается программа (IPL 1). Переход на программу IPL 1 процессор осуществляет после успешного завершения POST и программы "Начального загрузчика", выполняя которую процессор загружает с диска в память MBR, и передает управление на начало MBR (на программу IPL 1), продолжая действия ведущие к загрузке операционной системы. Программа IPL 1 (загрузчик), находящаяся в MBR просматривает строки таблицы разделов в поисках активного раздела с которого возможна загрузка операционной системы. Если в таблице разделов нет активного раздела, выдается сообщение об ошибке. Если хотя бы один раздел содержит неправильную метку, либо несколько разделов помечены как активные, выдается сообщение об ошибке Invalid partition table, и процесс загрузки останавливается. Если активный раздел обнаружен, то анализируется загрузочный сектор этого раздела. Если найден только один активный раздел, то содержимое блока данных его загрузочного сектора (BOOT) читается в память по адресу 0000:7С00 и управление передается по этому адресу, если загрузочный сектор активного раздела не читается за пять попыток, выдается сообщение об ошибке: Error loading operating system и система останавливается; проверяется сигнатура считанного загрузочного сектора активного раздела и если последних два его байта не соответствуют сигнатуре 55AAh, выдается сообщение об ошибке: Missing operating system и система останавливается). Процессор читает по адресу 0000:7С00 команду JMP, выполняя ее, передает управление на начало программы IPL 2, которая осуществляет проверку, действительно ли раздел активный: IPL 2 проверяет имена и расширения двух файлов в корневом каталоге - это должны быть файлы IO.SYS и MSDOS.SYS (NTLDR для Windows NT), загружает их и. т. д.

Система Windows 9x во многом основана на тех же концепциях, что и DOS, но в ней эти концепции получили дальнейшее логическое развитие. Те же два системных файла IO.SYS и MSDOS.SYS, но теперь вся системная программа находится в IO.SYS , а второй файл MSDOS.SYS содержит ASCII-текст с установками, управляющими поведением системы при загрузке. Эквиваленты программ Himem.sys. Ifshlp.sys и Setver.exe автоматически загружаются программой IO.SYS при запуске системы. Как и прежде, для загрузки в память драйверов и резидентных программ можно использовать файлы Config.sys и Autoexec.bat, но загрузку 32-разрядных драйверов устройств, которые разработаны специально для Windows 9x, теперь обеспечивают записи в системном реестре. Когда вся предварительная работа выполнена, запускается файл Win.com, и Windows 9x загружается и предоставляет свои возможности через графическое меню.

Системный реестр является базой данных, в которой Windows 9x хранит информацию обо всех настройках, конфигурационных установках и параметрах, необходимых для работы ее собственных модулей и отдельных приложений. Системный реестр как бы выполняет функции Config.sys, Autoexec.bat и ini-файлов Windows 3.1 вместе взятых. На диске компьютера реестр хранится в виде двух отдельных файлов: System.dat и User.dat. В первом из них содержатся всевозможные аппаратные установки, а во втором - данные о работающих в системе пользователях и используемых ими конфигурациях. Каждый пользователь может иметь свой файл User.dat, т.е. собственную рабочую среду, которую он настраивает по своему вкусу и потребностям. Системный реестр можно импортировать, экспортировать, а также создавать его резервные копии и, используя их, восстанавливать сохраненные данные - одним словом, это довольно мощный механизм управления системными параметрами и их защиты от потерь и повреждений.

Таблица 3. Компоненты MBR

Область

Описание

Программа IPL 1 (программа загрузчика занимает зону от адреса 00h до 1BEh)

Код программы Сообщения об ошибках (Error Messages):

    Invalid Partition Table (неправильная таблица разделов).

    Error loading operating system (ошибка при загрузке операционной системы)

    Missing operating system (операционная система отсутствует).

Таблица разделения физического диска на логические устройства (Partition Tables) (4 строки по 16 байт = 64 байта) занимает зону с адреса 1BEh до 1FDh

1 строка (16 байт):

    Флаг загрузки (80h - активный / 00h -обычный раздел) - 1 байт

    Начальный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Тип раздела -1 байт

    Конечный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Число секторов предшествующих разделу - 4 байта

    Общее количество секторов в данном разделе - 4 байта

2 последних байта в блоке данных сектора с адреса 1FE по 1FF- концевая сигнатура (Ending Signature)

55АА - отмечает конец MBR. Проверяется программой начального загрузчика

Область MBR, изменившаяся в FAT32 - это Partition Table. Она, как и прежде, состоит из четырех 16-байтных записей. Каждая запись определяет раздел. В FAT32 введено 2 новых типа разделов DOS32 (0В) и DOS32X (ОС).



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные