GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU. GRUB позволяет пользователю иметь несколько установленных операционных систем и при включении компьютера выбирать одну из них для загрузки.
GNU GRUB | |
---|---|
Тип | пакет GNU[вд] и загрузчик операционной системы |
Автор | Erich Boleyn[вд] |
Разработчик | Проект GNU |
Написана на | Си и язык ассемблера |
Операционные системы | GNU/Linux[4], GNU/Hurd[вд][4] и BSD[вд][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/… (англ.) |
Медиафайлы на Викискладе |
Основные сведения
правитьGRUB является эталонной реализацией загрузчика, соответствующего спецификации Multiboot, и может загрузить любую совместимую с ней операционную систему. Среди них: GNU/Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR или bootmgr), MS-DOS, OS/2 и другие системы.
После настройки GRUB пользователь при включении компьютера видит список операционных систем, которые установлены на его компьютер, и которые можно загрузить, выбрав подходящую и нажав Enter.
GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их в ядро Multiboot-совместимой ОС для дальнейшей обработки[6].
GRUB — самый популярный загрузчик в мире GNU/Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов.
Основные возможности 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].
См. также
правитьПримечания
править- ↑ https://www.gnu.org/software/grub/manual/grub.html#History
- ↑ GRUB 2.12 released . Дата обращения: 9 июня 2021. Архивировано 9 июня 2021 года.
- ↑ GRUB 2.12 release candidate 1 — 2023.
- ↑ 1 2 3 4 Free Software Directory
- ↑ https://www.gnu.org/software/grub/
- ↑ Передача параметров ядрам ОС предусмотрена в спецификации Multiboot . Дата обращения: 21 октября 2009. Архивировано 2 июля 2012 года.
- ↑ Устанавливаем пароль на GRUB . UseUnix.ru. Дата обращения: 9 февраля 2010. Архивировано из оригинала 21 июня 2010 года.
- ↑ Получение прав root’а к Linux системе [GRUB][безопасность][пароли] @ Загрузчик . ManLinux.org. Архивировано из оригинала 23 февраля 2011 года.
- ↑ GRUB 2 (англ.). Архивировано 31 мая 2010 года.
- ↑ GRUB Legacy Архивная копия от 24 августа 2008 на Wayback Machine (англ.)
- ↑ 1 2 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 и многое другое. Архивировано из оригинала 3 мая 2017 года.
- GNU GRUB Manual 2.02 (англ.). Операционная система GNU.
Полезные статьи
- Восстановление загрузчика GRUB в Ubuntu . Всё об Ubuntu (30 ноября 1999). Архивировано 19 октября 2018 года.
- Восстановление GRUB 2 . ManLinux.org. Архивировано из оригинала 2 апреля 2010 года.