MBR (Master Boot Record / Главная загрузочная запись) - это первый сектор (первые 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). Загрузчик проверяет только активный раздел, читает X секторов с этого раздела и затем передаёт управление операционной системе (загрузчик Windows/DOS не в состоянии загрузить Linux, потому что он не был разработан чтобы загружать ядро Linux или что то другое, он может обслужить только активный, первичный раздел).
GRUB (GRand Unified Bootloader) - наиболее часто используемый загрузчик операционной системы от проекта GNU. Он позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки. Пользователям рекомендуется установить его в 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 на несоответствующую таблицу разделов сделает все данные нечитабельными, вернуть их будет практически невозможно.
dd if=/dev/zero of=/dev/sda bs=446 count=1
Вы можете войти под своим логином или зарегистрироваться на сайте.