GNU GRUB

Материал из Википедии — свободной энциклопедии
(перенаправлено с «GRUB 2»)
Перейти к навигации Перейти к поиску
GNU GRUB
Логотип программы GNU GRUB
Скриншот программы GNU GRUB
Тип пакет GNU[d] и boot loader[d]
Автор Erich Boleyn[d]
Разработчик Проект GNU
Написана на Си и язык ассемблера
Операционная система GNU/Linux[d][3], GNU/Hurd[d][3] и BSD[d][3]
Первый выпуск 1995[1]
Аппаратная платформа IA-32, x86_64 и PowerPC
Последняя версия 2.06 [2] (8 июня 2021 года)
Лицензия GPL 3.0+[3][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 (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки.

Основные сведения[править | править код]

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

Ссылки[править | править код]

Полезные статьи[править | править код]