Master Boot Record (MBR) – это первый сектор (первые 512 байт) устройства хранения данных. MBR – это не партиция, а участок памяти, зарезервированный для загрузчика операционной системы и таблицы разделов диска.
Для решения поставленной задачи воспользуемся командой dd.
Сперва узнаем, на какой раздел приходится корневая файловая система:
keiz@ekz:~/test_mbr$ cat /etc/fstab | grep /dev/sda1
/dev/sda1 / ext3 errors=remount-ro 0 1
, из этого вывода узнаем, что первый диск с которого начиается загрузка – это /dev/sda
Делаем резервную копию Главной Загрузочной Записи (MBR):
keiz@ekz:~$ mkdir test_mbr
keiz@ekz:~$ cd test_mbr
keiz@ekz:~/test_mbr$ sudo dd if=/dev/sda of=/home/keiz/test_mbr/mbr.img bs=512 count=1
[sudo] password for keiz:
1+0 записей считано
1+0 записей написано
скопировано 512 байт (512 B), 6,3196e-05 c, 8,1 MB/c
Информация о полученном файле:
keiz@ekz:~/test_mbr$ file mbr.img
mbr.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0x83, starthead 1, startsector 63, 404291727 sectors; partition 2: ID=0x83, starthead 254, startsector 404291790, 572476275 sectors, code offset 0x48
Для того чтобы восстановить MBR из копии нужно всего лишь поменять порядок входящего (if) и исходящего файлов (out):
keiz@ekz:~/test_mbr$ sudo dd if=mbr.img of=/dev/sda bs=512 count=1
Если нужно сохранить только загрузочный код (он занимает 446 байт), то меняем размер блока следующим образом:
keiz@ekz:~/test_mbr$ dd if=/dev/sda of=mbr.img bs=1 count=66 skip=446
Для удаления Главной Загрузочной Записи (MBR):
keiz@ekz:~/test_mbr$ sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
На этом всё, я показал наиболее востребованные примеры работы с записью MBR. Удачи!!!