GRUB2 & GPT

Материал из support.qbpro.ru

GRUB на GPT

Медленно, но неумолимо эра MBR заканчивается. Даже десктопные жесткие диски потихоньку перешагивают черту в 2 терабайта. А дальше уже приходится применять GPT. Вроде технология-то уже и немолодая вовсе. А поддерживать её толком никто и не умеет, если не считать MacOS. Linux в этом отношении более прогрессивен, чем винда. Но тоже есть свои нюансы. В частности, при установке загрузчика.


Наибольшее распространение в мире Linux получили загрузчики LiLo, GRUB и GRUB2. Первый нонче представляет разве что археологический интерес, хотя его EFI-модификация, eLiLo, вполнее имеет право на жизнь в системах с поддержкой EFI. А просто LiLo с GPT не дружит.

GRUB при некотором желании и настойчивости в-принципе можно поженить с GPT. Но для этого придется прибегнуть к ряду шаманских плясок с эмуляцией Master Boot Record. Вопрос только в том, кому и зачем это нужно, когда давным-давно существует GRUB2.

GRUB2 по умолчанию входит в состав большинства Linux-дистрибутивов. Даже мега-консервативный Debian уже подтянулся вслед за всеми и включил его в состав 6-й версии (Squeeze). Не сказать чтобы элементарно, но установить GRUB2 стало уже сильно проще, чем что-либо другое. Для этого нужно только не забыть предусмотреть в начале диска небольшой раздельчик (не менее 31 килобайта) с флагом "bios_grub".

Если по-русски, и в двух словах.

  • Инсталлировали в системный блок новый мега-толстый жесткий диск (или RAID-массив).
  • Если у нас спрашивают какую таблицу разделов создавать, выбираем GPT.
  • Не забываем про то, что fdisk/cfdisk не умеют работать с GPT. Поэтому применяем "parted".
  • Первым делом создаем в начале диска маленький раздельчик. Например, размером в 1 мегабайт. Тип раздела —

"non-fs". Например, так: "mkpart non-fs 0MB 1MB".

  • Этому разделу присваиваем флаг "bios_grub", например так: "parted /dev/sda set 1 bios_grub on".
  • Дальше размечаем жесткий диск так, как нам надо.
  • Собственно всё. Теперь Grub2 должен прописаться на диск /dev/sda без проблем.

Как правильно, можно сделать все то же самое и через "родной" инсталлятор Linux, при развертывании новой системы на "чистой" машине. Только нужно учесть, что в русскоязычном интерфейсе мастера разметки дисков название "bios_grub" может быть переведено каким-нибудь сильно экзотическим образом. Например, "Загрузочный раздел BIOS". Но, в-общем, если знать о чем идет речь, то догадаться все-таки можно.

/boot/efi partitions on software RAID1

  • en:
You can't do this. The EFI specification mandates that the firmware recognise a FAT32 partition as the EFI System Partition.
The firmware cannot recognise Linux Software RAID as an EFI System Partition. The correct way is to install your /boot and / and other filesystems on software RAID, and to duplicate the FAT32 partition in sda1 onto
sdb1, then create another EFI firmware boot menu entry pointing to the backup partition.
  • ru:
Если разметка GPT, то создаём fat32 раздел, вешаем на него флаг esp (или boot, что на GPT является синонимом), кидаем туда файлы,
пересоздаём записи (efibootmgr, или чем Вы там пользуетесь), проверяем. Если не взлетело, значит в файликах что-то не так, или адрес
в записи ссылается не туда (№ раздела не тот, опечатка в пути). В принципе, других проблем быть не должно, но зависит от вендора —
кажый играет по своим правилам, кладя большой и толстый на стандарты, которых у UEFI особо и нет.

Обязательно после любых изменений загрузки делаем:

 grub-install /dev/sda
 grub-install /dev/sdb
 update-grub
  • иначе загрузка может не произойти.

ИСТОЧНИКИ: