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