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/… (англ.) |
Медиафайлы на Викискладе |
Основные сведения
GRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot, и может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR или bootmgr), MS-DOS, OS/2 и другие системы.
После настройки GRUB пользователь при включении компьютера видит список операционных систем, которые установлены на его компьютер, и которые можно загрузить, выбрав подходящую и нажав Enter.
GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки[5].
GRUB — самый популярный загрузчик в мире Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.
Основные возможности 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].
Примечания
- Free Software Directory
- https://www.gnu.org/software/grub/manual/grub.html#History
- GRUB 2.06 released
- https://www.gnu.org/software/grub/
- Передача параметров ядрам ОС предусмотрена в спецификации Multiboot
- Устанавливаем пароль на GRUB (недоступная ссылка). UseUnix.ru. Дата обращения: 9 февраля 2010. Архивировано 21 июня 2010 года.
- Получение прав root’а к Linux системе [GRUB[безопасность][пароли] @ Загрузчик] (недоступная ссылка). ManLinux.org. Архивировано 23 февраля 2011 года.
- GRUB 2 (англ.). Архивировано 31 мая 2010 года.
- GRUB Legacy (англ.)
- GNU GRUB Manual 2.02, 4.4 BIOS installation.
- Подготовка дисков . Gentoo Linux Wiki (27 декабря 2014). Архивировано 24 апреля 2016 года.
- Gentoo Linux Wiki.
Ссылки
- 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 и многое другое. Архивировано 2017-05-03 .
- GNU GRUB Manual 2.02 (англ.). Операционная система GNU.
Полезные статьи
- Восстановление загрузчика GRUB в Ubuntu . Всё об Ubuntu (30 ноября 1999). Архивировано 19 октября 2018 года.
- Восстановление GRUB 2 (недоступная ссылка). ManLinux.org. Архивировано 2 апреля 2010 года.