MBR

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

Master Boot Record (MBR) — это первый сектор (первые 512 байт) устройства хранения данных. MBR - это не партиция, а участок памяти, зарезервированный для загрузчика операционной системы и таблицы разделов диска.

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

Загрузка - многоступенчатый процесс. Большинство ПК сегодня инициализируют системные устройства прошивкой, называемой BIOS (Basic Input/Output System). BIOS содержится внутри CMOS (Ceramic Metal Oxide Semiconductor), который выполняется при старте системы. После инициализации системных устройств BIOS ищет загрузчик в MBR первого устройства хранения (жесткий диск, твердотельный накопитель, CD/DVD диск, USB диск…) или на первом разделе устройства. Затем он передает управление этому загрузчику. Тот, в свою очередь, считывает таблицу разделов и готовится к загрузке операционной системы. Среди загрузчиков GNU/Linux особо выделяются GRUB и LILO.

Резервные копии и восстановление

Поскольку MBR расположен на диске, то он может быть сохранен и, в случае необходимости, восстановлен.

Для создания резервной копии MBR:

dd if=/dev/sda of=/path/mbr-backup bs=512 count=1

Восстановление MBR: dd if=/path/mbr-backup of=/dev/sda bs=512 count=1

Если нужно сохранить только загрузочный код (он занимает 446 байт), то меняем размер блока следующим образом:

dd if=/dev/sda of=/path/mbr-boot-code bs=446 count=1

Для сохранения только таблицы разделов (66 байт) нужно выполнить такую команду:

dd if=/dev/sda of=/path/mbr-part-table bs=1 count=66 skip=446

Соответственно, для восстановления только загрузочного кода из файла mbr-backup:

dd if=/path/mbr-backup of=/dev/sda bs=446 count=1

…таблицы разделов:

dd if=/path/mbr-backup of=/dev/sda bs=1 skip=446 seek=466 count=66

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

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

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

GUID Partition Table, аббр. GPT — стандарт формата размещения таблиц разделов на физическом жестком диске. Он является частью Расширяемого микропрограммного интерфейса (англ. Extensible Firmware Interface, EFI) — стандарта, предложенного Intel на смену BIOS. EFI использует GPT там, где BIOS использует Главную загрузочную запись (англ. Master Boot Record, MBR).

В отличие от MBR, которая начинается с исполняемой двоичной программы, призванной идентифицировать и загрузить активный раздел, GPT опирается на расширенные возможности EFI для осуществления этих процессов. Однако MBR присутствует в самом начале диска (блок LBA 0) как для защиты, так и в целях совместимости. Собственно GPT начинается с Оглавления таблицы разделов (англ. Partition Table Header).

GPT использует современную систему адресации логических блоков (LBA) вместо применявшейся в MBR адресации «Цилиндр — Головка — Сектор» (CHS). MBR, доставшаяся по наследству со всей своей информацией, содержится в блоке LBA 0, оглавление GPT — в блоке LBA 1. В оглавлении содержится адрес блока, где начинается сама таблица разделов, обычно это следующий блок — LBA 2. Количество разделов не ограничено стандартом и зависит от операционной системы[1] (технически ограничено порядка 264 разделами из-за разрядности полей). Так в Microsoft Windows в таблице разделов резервируется место для 128 записей по 128 байт каждая (в GNU/Linux ядро поддерживает до 256 разделов[2]). Таким образом для таблицы разделов в Windows резервируется 16 384 байт (при использовании сектора размером 512 байт это будет 32 сектора), так что первым используемым сектором каждого жёсткого диска в ней будет блок LBA 34.

Кроме того, GPT обеспечивает дублирование — оглавление и таблица разделов записаны как в начале, так и в конце диска.

Теоретически, GPT позволяет создавать разделы диска размером до 9,4 ЗБ (9,4 × 1021 байт) (при размере сектора 512 байт, иначе — больше), в то время как MBR может работать только до 2,2 ТБ (2,2 × 1012 байт).

GPT позволяет назначать разделам идентификаторы GUID, имена и атрибуты, независимо от внутренних UUID файловых систем, их меток и прочего, и позволяет обращаться по таким именам вместо менее удобных меток и номеров разделов. Благодаря поддержке Юникода в именах и щадящих ограничений на них, разделы могут быть названы на любом языке и сгруппированы по папкам[3].

DokuWiki Appliance - Powered by TurnKey Linux