Master Boot Record (Русский)

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

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

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 состоит из небольшой части ассемблерного кода (начальный загрузчик – 446 байт), таблицы разделов - 4 первичных раздела (16 байт каждый) и стража (0xAA55).

"Традиционный" загрузчик Windows/DOS проверяет только активный раздел, читает X секторов с этого раздела и затем передаёт управление операционной системе. Загрузчик Windows/DOS не в состоянии загрузить Arch Linux, потому что он не был разработан, чтобы загружать ядро Linux. Он может обслужить только активный, первичный раздел.

GRand Unified Bootloader (GRUB) - это стандарт для загрузчика GNU/Linux, и пользователям рекоммендуется установить его в MBR, чтобы иметь возможность загружать операционную систему с любого раздела, первичного или логического.

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

Поскольку 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 на несоответствующую таблицу разделов сделает все ваши данные нечитабельными, вернуть их будет практически невозможно. Если вам нужно просто переустановить загрузчик, почитайте GRUB or LILO.

Чтобы очистить MBR, но оставить таблицу разделов (может быть полезно, если вы хотите полностью переустановить операционную систему):

dd if=/dev/zero of=/dev/sda bs=446 count=1

Восстановление загрузчика Windows

В соответствии с соглашением (и для простоты установки) Windows обычно устанавливается на первую партицию и, следовательно, устанавливает свой загрузчик и таблицу разделов в первый сектор этой партиции. Если вы случайно установили загрузчик GRUB на партицию с Windows или каким-то другим образом повредили загрузочную запись, вам нужно будет воспользоваться утилитой, чтобы переустановить его. Эта утилита содержится на диске восстановления системы Windows или, иногда, на установочном диске и называется fixmbr. Эта утилита восстановит MBR (то есть переустановит загрузчик Windows и добавит таблицу разделов). Затем Вы должны будете переустановить GRUB[broken link: invalid section]. После этого GRUB сможет загружать Windows, когда это будет необходимо. Если, вдруг, Вы не имеете установочный диск Windows, то вы можете переустановить загрузчик прямо из Linux утилитой, которая называется ms-sysAUR. Сначала нужно загрузиться с LiveCD и запустить ms-sysAUR. Большинство LiveCD не имеют этой утилиты по умолчанию, так что сперва установите ее или посмотрите на диске восстановления Parted Magic.

Во-первых, перепишите таблицу разделов:

ms-sys --partition /dev/sda1

Чтобы прописать загрузчик 2000/XP/2003 выполните:

ms-sys --mbr /dev/sda

ms-sysAUR также может установить загрузчик Windows 98, ME, Vista и 7. Для вывода справки, наберите ms-sys -h.

Resources