GNU GRUB

GNU GRUB
Логотип программы GNU GRUB
Скриншот программы GNU GRUB
Тип пакет GNU[вд] и загрузчик операционной системы
Автор Erich Boleyn[вд]
Разработчик Проект GNU
Написана на Си и язык ассемблера
Операционные системы GNU/Linux[4], GNU/Hurd[d][4] и BSD[d][4]
Первый выпуск 1995[1]
Аппаратные платформы IA-32, x86-64 и PowerPC
Последняя версия 2.12 [2] (20 декабря 2023 года)
Тестовая версия
Репозиторий git.savannah.gnu.org/cgi…
Лицензия GPL 3.0+[4][5]
Сайт gnu.org/software/… (англ.)
Логотип Викисклада Медиафайлы на Викискладе
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. Архивировано из оригинала 20110223 года.
  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.

Ссылки

Логотип Викиучебника Имеется викиучебник по теме «GRUB 2»
  • GNU GRUB (англ.). — Раздел на сайте GNU (новый официальный сайт).
  • Erich Boleyn. GRUB -- GRand Unified Bootloader (англ.). — Старый официальный сайт, с лета 1999 года на нём оставлена страница-заглушка, исходное содержимое см. в веб-архиве. Архивировано 7 декабря 1998 года.
  • Владимир Попов. GRUB — GRand мира загрузчиков  (рус.). CitKit (4 октября 2005). Архивировано 20 февраля 2007 года.
  • Boot loader showdown: Getting to know LILO and GRUB (англ.). IBM.
  • GRUB for DOS — Summary (англ.). Gna!. — универсальный загрузчик на базе GRUB с расширенными возможностями, среди которых возможность запускать ядро Windows и DOS, драйвер CD-ROM и многое другое. Архивировано из оригинала 3 мая 2017 года.
  • GNU GRUB Manual 2.02 (англ.). Операционная система GNU.
Полезные статьи
  • Восстановление загрузчика GRUB в Ubuntu  (рус.). Всё об Ubuntu (30 ноября 1999). Архивировано 19 октября 2018 года.
  • Восстановление GRUB 2  (рус.). ManLinux.org. Архивировано из оригинала 20100402 года.
Перейти к шаблону «GNU»
История
Лицензии
Программное
обеспечение
Персоналии
Другие темы