Я учусь grub2. У меня есть система с 4 основными разделами, с Windows 8, установленной на диске C Я планирую установить grub на MBR, чтобы я мог загрузить образы ubuntu/backtrack.iso.

Я знаю, что MBR содержит "Master Partition Table" и "Master Boot Code".

  1. Что происходит, когда мы устанавливаем загрузчик, редактирует ли он или изменяет что-либо в "Master Partition Table" или просто "Master Boot Code". Если я не ошибаюсь, возня с таблицей разделов приведет к потере разделов. У меня на жестком диске много важных данных, которые я не хочу терять.

  2. Как я могу сделать резервную копию полной MBR. На случай, если все испортится.

1 ответ1

3

Основная загрузочная запись (MBR) содержит две вещи:

  • Загрузочный код - первые 440 байтов MBR содержат код загрузчика. Это может быть загрузчик Microsoft, код первого этапа GRUB или что-то еще. На незагружаемом диске или если компьютер загружается с использованием более новой системы EFI, это пространство может быть пустым (то есть все 0).
  • Таблица разделов - последние 72 байта сектора содержат таблицу разделов. (Обратите внимание, что первые шесть байтов этой области содержат подпись / серийный номер диска. Некоторые загрузчики проталкиваются в эту область, но большинство этого не делают.)

Эти части MBR обычно пишутся разными инструментами. В Linux grub-install , lilo и другие подобные инструменты пишут загрузочный код, тогда как fdisk , parted , GParted и другие программы создания разделов пишут таблицу разделов. С точки зрения системных вызовов, сектора записываются по принципу «все или ничего», поэтому соответствующие инструменты могут считывать, хранить и записывать ту часть сектора, которую они официально не касаются. Обычно это работает нормально, но может привести к повреждению, если в программе есть ошибка или какая-то системная ошибка.

Для получения дополнительной информации о MBR, см. Страницу Википедии на эту тему.

Некоторые инструменты могут изменять оба типа данных. Например, GRUB может изменять данные таблицы разделов во время работы. Он делает это, чтобы "спрятать" определенные разделы при загрузке.

Вы можете создать резервную копию полной MBR (как загрузочного кода, так и таблицы разделов) в Linux с помощью команды dd , например:

dd if=/dev/sda of=sda.mbr bs=512 count=1

В этом примере выполняется резервное копирование MBR первого диска (/dev/sda) в файл с именем sda.mbr . Будьте очень осторожны при использовании dd ; изменение параметров if= и of= , пропуск или изменение других параметров или другие ошибки могут привести к повреждению диска!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .