Master boot record, MBR — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых 512 байтах (первом секторе) жесткого диска, как правило – первого.
MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (Partition Table) и специальную сигнатуру.
Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует загружать операционную систему. На «стадии MBR» происходит выбор раздела диска, с которого запускается загрузчик самой операционной системы.
В процессе запуска компьютера, после окончания начального теста (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) загружает «код MBR» в оперативную память и передаёт управление находящемуся в MBR загрузочному коду.
Сама запись MBR содержит 512 байт кода, из которых:
- 446 bytes – запись, касающаяся только схемы загрузки ОС с диска/ов (Bootstrap);
- 64 bytes – схема разделов диска/ов (Partition table)
- 2 bytes – signature.
Что бы создать резервную копию MBR – выполняем:
# dd if=/dev/sda of=/media/Main/Backups/sda-mbr.bin bs=512 count=1
1+0 записей считано
1+0 записей написано
скопировано 512 байт (512 B), 0,016881 c, 30,3 kB/c
Что бы проверить – что именно вы скопировали, т.е. прочитать саму копию MBR – выполняем:
# file /media/Main/Backups/sda-mbr.bin
/media/Main/Backups/sda-mbr.bin: x86 boot sector; partition 1: ID=0x7, active, starthead 1, startsector 2048, 204800 sectors; partition 2: ID=0x7, starthead 1, startsector 206848, 102195200 sectors; partition 3: ID=0x7, starthead 1, startsector 102402048, 1045460992 sectors; partition 4: ID=0xf, starthead 1, startsector 1147865086, 102396487 sectors, code offset 0x63, OEM-ID ” м”, Bytes/sector 190, sectors/cluster 124, reserved sectors 191, FATs 6, root entries 185, sectors 64514 (volumes <=32 MB) , Media descriptor 0xf3, sectors/FAT 20644, heads 6, hidden sectors 309755, sectors 2147991229 (volumes > 32 MB) , physical drive 0x7e, dos < 4.0 BootSector (0x0)
Что бы восстановить MBR – выполняем:
# dd if=/media/Main/Backups/sda-mbr.bin of=/dev/sda bs=1 count=64 skip=446 seek=446
либо проще:
# dd if=/media/Main/Backups/sda-mbr of=/dev/sda
Соответственно, измените путь /media/Main/Backups/ на путь к каталогу, в котором хотите сохранить копию MBR и укажите ваш диск, на котором находится MBR.
Если вы хотите восстановить только саму запись о схеме загрузки операционных систем – используйте первые 446 байт, вместо 512. Если хотите восстановить всю запись, т.е. схему загрузки ОС + схему разделов на диске – укажите 512 байт, как в примере.
Так же, в Linux для работы со схемой разделов – можно воспользоваться утилитой sfdisk.
Для создания копии схемы разделов – выполните:
# sfdisk -d /dev/sda > /media/Main/Backups/backup-sda.sfdisk
Что бы восстановить таблицу разделов:
# sfdisk /dev/sda < /media/Main/Backups/backup-sda.sfdisk