Что такое загрузчик GRUB и для чего он нужен?

GNUGRUBLinuxЧто такое...

Загрузчик – один из наиболее важных компонентов процесса загрузки вашей операционной системы Linux.

Эта статья покажет вам, что такое загрузчик и какую роль он играет в системе Linux. В частности, это руководство будет сосредоточено на Grand Unified Bootloader (GRUB), мощной и очень гибкой программе загрузчика. Но прежде чем подробно рассматривать GRUB, важно понять процесс загрузки в Linux.

Процесс загрузки Linux


Процесс загрузки в Linux представляет собой серию действий, которые происходят с момента нажатия кнопки питания на вашем ПК до момента появления экрана входа в систему.

Процесс загрузки операционной системы состоит из четырех основных этапов, которые выполняются в следующем порядке:

  1. BIOS: обозначает базовую систему ввода / вывода и в основном отвечает за включение загрузчика. Когда компьютер запускается, он начинает самотестирование при включении Power On Self Test (POST), чтобы убедиться, что основное оборудование, такое как память и жесткий диск, работает правильно. После этого BIOS проверит основную загрузочную запись Master Boot Record (MBR) первичного жесткого диска, которая представляет собой раздел на жестком диске, в котором находится загрузчик.
  2. Загрузчик: загружает ядро ​​в оперативную память с набором параметров ядра.
  3. Ядро: основная функция ядра – инициализировать устройства и память. После этого загружается процесс инициализации.
  4. Init: отвечает за запуск и остановку основных служб в вашей системе.

Примечание. BIOS – это не процесс, связанный с Linux, это процесс, который происходит независимо от вашей операционной системы.

Что такое GRUB?


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

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

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

На момент написания этой статьи доступны две основные версии GRUB.

  1. GRUB Legacy: это первая версия GRUB, изначально разработанная в 1995 году.
  2. GRUB 2: это последняя версия GRUB, используемая многими распространенными дистрибутивами Linux, такими как Manjaro, Ubuntu, Fedora и Red Hat Enterprise Linux (RHEL). GRUB 2 предоставляет вам лучшие инструменты и параметры конфигурации, чем его предшественник.

Помимо GRUB, дистрибутивы Linux также используют другие загрузчики, такие как Linux Loader (LILO), coreboot и SYSLINUX.

Роль GRUB


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

  • initrd: используется для указания начального RAM-диска.
  • BOOT_IMAGE: расположение образа ядра Linux.
  • root: указывает расположение корневой файловой системы. Используется ядром для поиска init, который, в свою очередь, загружает критически важные службы.
  • ro: Отвечает за монтирование файловой системы в режиме только для чтения.
  • quiet: скрывает некоторые системные сообщения при загрузке компьютера.
  • splash: используется для отображения заставки при загрузке системы.

Когда вы находитесь в меню параметров GRUB, вы можете редактировать параметры ядра, нажав клавишу E на клавиатуре.

Настройка загрузчика GRUB


GRUB 2 дает вам большую гибкость, когда дело доходит до настройки загрузчика.

Каталог /boot/grub содержит файл с именем grub.cfg, который является основным файлом конфигурации GRUB. Однако вам не рекомендуется редактировать файл grub.cfg напрямую, вместо этого лучше отредактировать файл /etc/default/grub.

Когда вы вносите изменения в файл /etc/default/grub, вы должны обязательно запустить команду ниже, чтобы ваши изменения автоматически записывались в файл grub.cfg.

sudo update-grub

Вы можете узнать больше о GRUB и некоторых его параметрах конфигурации, выполнив следующую команду:

info -f grub

Гибкость GRUB


GRUB – это очень мощный и гибкий загрузчик, который играет решающую роль в работе вашей операционной системы. Пользователи имеют полный контроль над загрузкой GRUB. Вы даже можете легко настроить фоновое изображение загрузочного экрана.

Источник: MakeUseOf