Maria-Ann Rohemäe

GNU GRUB на жестких дисках c таблицей разделов MBR
GNU GRUB на жестких дисках c таблицей разделов GPT
boot.img имеет точный размер 446 байт и записывается в MBR (сектор 0). core.img записывается в пустые сектора между MBR и первым разделом, если он доступен (по традиционным причинам первый раздел начинается в секторе 63 вместо сектора 1, но это не обязательно). Каталог / boot / grub-может находиться в отдельном разделе или в / -partition.

GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки.

Основные сведения

GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot, и может загрузить любую совместимую с ней операционную систему. Среди них: GNU/Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR или bootmgr), MS-DOS, OS/2 и другие системы.

После настройки GRUB пользователь при включении компьютера видит список операционных систем, которые установлены на его компьютер, и которые можно загрузить, выбрав подходящую и нажав Enter.

GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки[6].

GRUB — самый популярный загрузчик в мире GNU/Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.

Основные возможности GRUB

StartUp-Manager — графический интерфейс для настройки GRUB
  • Загрузка Linux, OpenSolaris, *BSD ядер и других Multiboot-совместимых ОС;
  • Передача управления другим загрузчикам, возможность загрузки Windows-систем;
  • Защита паролем пунктов меню[7][8];
  • Поддержка BOOTP и TFTP для сетевой загрузки;
  • Интерактивная командная строка загрузки;
  • Поддержка файловых систем: ext2/ext3/ext4, ReiserFS, JFS, XFS, NTFS, ISO, UFS, UFS2, FFS, FAT16, FAT32 и Minix, и чтение файлов конфигурации, ядер, initrd и других файлов прямо с файловой системы.
  • Поддержка загрузчика EFI, начиная с версии 1.98 (загрузка операционных систем семейства Mac OS).
  • Помимо всего прочего, GRUB может достаточно гибко и удобно менять внешний вид используя темы, например, показывать красивый интерфейс и обои в загрузочном меню.
  • GRUB2 имеет модульную структуру. Это означает, что туда легко добавляется всё, что угодно, вплоть до игр, также как и выбрасывается, если необходимо уменьшить размер.

GRUB 2

GRUB 2 — следующая версия GRUB. Разработчики писали GRUB 2 «с нуля», чтобы добиться переносимости и модульности[9].

В связи с существованием GRUB 2 разработка GRUB 1 прекращена, разработчики лишь принимают патчи, исправляющие ошибки[10].

Особенности загрузки

На диск с таблицей разделов MBR есть два варианта установки GRUB. В первом варианте загрузчик «встраивается» в пустое место между MBR и первым разделом (там как минимум 31 килобайт), которое называется «boot track» — загрузочная дорожка, «MBR gap» — зазор или промежуток MBR или «embedding area» — область встраивания. Во втором варианте тело загрузчика находится в файловой системе, а список блоков с ним размещён в первом секторе раздела. Разработчики рекомендуют использовать первый способ[11].

При подготовке диска для установки GRUB[12] на компьютер, имеющий BIOS и диск с таблицей разделов GPT, необходимо создать специальный загрузочный раздел BIOS (тип раздела «bios_grub» в parted, код раздела «0xEF02» в gfdisk, GUID «21686148-6449-6e6f-744e656564454649») размером не меньше 31 килобайта (разработчики рекомендуют 1 мегабайт, чтобы в случае увеличения размера загрузчика в будущем не пришлось изменять разметку)[11]. GRUB поместит в этот раздел дополнительные данные, которые не могут быть помещены в другое место. Такой раздел необходим и для MBR в том случае, когда начало первого раздела находится на диске раньше 1 Мб, код типа раздела «4» в fdisk[13].

См. также

Примечания

  1. https://www.gnu.org/software/grub/manual/grub.html#History
  2. GRUB 2.12 released. Дата обращения: 9 июня 2021. Архивировано 9 июня 2021 года.
  3. GRUB 2.12 release candidate 1 — 2023.
  4. 1 2 3 4 Free Software Directory
  5. https://www.gnu.org/software/grub/
  6. Передача параметров ядрам ОС предусмотрена в спецификации Multiboot. Дата обращения: 21 октября 2009. Архивировано 2 июля 2012 года.
  7. Устанавливаем пароль на GRUB. UseUnix.ru. Дата обращения: 9 февраля 2010. Архивировано из оригинала 21 июня 2010 года.
  8. Получение прав root’а к Linux системе [GRUB][безопасность][пароли] @ Загрузчик. ManLinux.org. Архивировано из оригинала 23 февраля 2011 года.
  9. GRUB 2 (англ.). Архивировано 31 мая 2010 года.
  10. GRUB Legacy Архивная копия от 24 августа 2008 на Wayback Machine (англ.)
  11. 1 2 GNU GRUB Manual 2.02, 4.4 BIOS installation.
  12. Подготовка дисков. Gentoo Linux Wiki (27 декабря 2014). Архивировано 24 апреля 2016 года.
  13. Gentoo Linux Wiki.

Ссылки

Полезные статьи

No tags for this post.