GNU GRUB

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

GNU GRUB
Тип пакет GNU[d] и boot loader[d]
Автор Erich Boleyn[d]
Разработчик Проект GNU
Написана на Си и Язык ассемблера
Операционная система GNU/Linux[1], GNU/Hurd[1] и BSD[1]
Первый выпуск 1995[2]
Аппаратная платформа IA-32, x86_64 и PowerPC
Последняя версия 2.06 [3] (8 июня 2021 года)
Лицензия GPL 3.0+[1][4]
Сайт 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 является эталонной реализацией загрузчика, соответствующего спецификации Multiboot, и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR или bootmgr), MS-DOS, OS/2 и другие системы.

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

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

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

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

StartUp-Manager — графический интерфейс для настройки GRUB
  • Загрузка Linux, OpenSolaris, *BSD ядер и других Multiboot-совместимых ОС;
  • Передача управления другим загрузчикам, возможность загрузки Windows-систем;
  • Защита паролем пунктов меню[6][7];
  • Поддержка 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 «с нуля», чтобы добиться переносимости и модульности[8].

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

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

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

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

См. также

Примечания

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

Ссылки

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

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.