Найти в Дзене

Знакомство с загрузчиком GRUB в дистрибутивах Linux

Оглавление

Любой пользователь дистрибутивов Linux слышал про GRUB (граб). Он встречается и во время установки дистрибутива, и после нее, во время загрузки системы. Однако для начинающих пользователей GRUB сродне терминалу - сложно, непонятно и черт знает, как пользоваться. Страха также добавляет и тот факт, что неправильная настройка GRUB может привести к тому, что дистрибутив просто-напросто не запуститься при старте ПК. Но на канале Просто Код мы не бежим от непонятного и сложного, а пытаемся разобраться и научиться. Поэтому сегодня начнем знакомиться с GRUB и это будет первым шагом к работе с ним.

Чтобы не пропустить другие полезные материалы про Linux нужно подписаться на канал и его обновления в Телеграмме.

Немного о загрузчиках ОС

Прежде чем переходить конкретно к GRUB нужно разобраться с тем, что такое загрузчик операционной системы. Если совсем просто, то это специальное программное обеспечение, которое обеспечивает загрузку операционной системы после того, как пользователь нажал на кнопку включения на системном блоке и после того, как осуществилась начальная загрузка. Загрузчик выполняет пять простых (для понимания, а не по технической сути) действий:

  1. Позволяет пользователю выбрать операционную систему для загрузки.
  2. Приводит внутреннее оборудование компьютера в состояние, которое необходимо для старта ядра ОС.
  3. Загружает ядро системы.
  4. Формирует параметры, которые передает загружаемому ядру.
  5. Передает управление загруженному ядру

Вариантов загрузчиков множество: например для загрузки Windows XP использовался NTLDR, в Windows 7/8/10/11 стали использовать Windows Boot Manager, дистрибутивы Linux используют как-раз таки GRUB.

Швейцарский нож в мире загрузчиков

GRUB расшифровывается как GRand Unified Bootloader (унифицированный загрузчик GRand). Что же в нем такого «унифицированного» и почему GRUB называют эталоном среди загрузчиков?

Во-первых, он может загрузить большое количество операционных систем, среди которых можно назвать дистрибутивы Linux, FreeBSD, Solaris и многие другие. Во-вторых, он может передавать управление загрузкой ОС другому загрузчику. Это позволяет использовать, например, Windows 10 и Linux на одном ПК. Получается, что GRUB не сам загружает Windows, но позволяет работать их загрузчикам. При этом, тот же загрузчик Windows ответить взаимностью не может и при первой возможности с радостью «затирает» любые упоминания GRUB. Любовь зла, как говорится… И, в-третьих, GRUB позволяет пользователю при загрузке задавать произвольные параметры и передавать их ядру совместимых с загрузчиком систем для дальнейшей обработки.

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

GRUB и Linux Mint

Давайте взглянем на этот самый загрузчик. По-умолчанию и при наличии у пользователя только одного дистрибутива загрузчик GRUB внешне никак не отображается при запуске Linux Mint. Это сделано специально, чтобы не путать/пугать начинающего пользователя. Чтобы меню загрузчика отображалось я произвел небольшие манипуляции с его конфигурационным файлом, после применил эти настройки и вот уже после перезагрузки дистрибутива на экране появилось знакомое многим опытным пользователям окно.

Меню загрузчика GRUB
Меню загрузчика GRUB

Меню на скриншоте позволяет выполнить весь перечень действий, про которые мы говорили выше: можно загрузить установленную Linux Mint 21.1, можно просмотреть дополнительные варианты загрузки дистрибутива или перейти в режим восстановления (очень удобно использовать этот вариант при наличии нескольких версий ядра), также можно отредактировать параметры загрузки, передав их ядру Linux.

Согласитесь, что ничего страшного в этом черном окошке с текстом нет и если понимать за что отвечает каждый его пункт, то можно вполне спокойно выбрать нужный и начать работу с дистрибутивом.

Способы редактирования загрузчика GRUB

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

  • меню GRUB - редактируя параметры загрузки можно задать ядро загружаемого дистрибутива или временно отключить графический драйвер, но во время следующей загрузки дистрибутива эти параметры будут сброшены, а настройки GRUB возвращены к настройкам по-умолчанию.
  • конфигурационный файл - он расположен по пути /etc/default/grub, редактирование осуществляется после загрузки дистрибутива посредством консольного текстового редактора, а чтобы параметры применялись необходимо ввести команду update-grub после внесения изменений (именно этим способом я воспользовался, чтобы показывать GRUB при загрузке Linux Mint)
  • программа GRUB Customizer - чтобы не редактировать конфигурационный файл через консольный текстовый редактор можно установить эту утилиту и настроить GRUB через простой и понятный графический интерфейс.

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

Изменение заднего фона меню GRUB
Изменение заднего фона меню GRUB

Так как этот пост является ознакомительным, то подробнее про настройку GRUB и работу с ним мы поговорим в следующих заметках.

На кой это все нужно?

Вполне резонный вопрос может возникнуть у проходящего через канал читателям - зачем обычному пользователю знать про какой-то GRUB? Ответ очень прост и состоит из трех пунктов:

  1. GRUB - неотъемлемая часть дистрибутивов Linux, поэтому считаю, что хотя бы поверхностное понимание того, что такое загрузчик и как он выглядит должно быть у любого пользователя.
  2. Знание и понимание дадут уверенности в ситуации, когда после запуска ПК на экране вместо привычных поля для ввода пароля покажется экран GRUB и позволят, в случае необходимости, решить проблему из-за которой загрузка пошла не так, как раньше.
  3. Практически любой пользователь рано или поздно хочет понастроить систему и что-то в ней поменять: например, тот же экран GRUB, если на ПК установлено несколько дистрибутивов, поэтому лучше сделать это правильно и не убить загрузчик после экспериментов.

Подведем итог

Знакомство с GRUB можем считать состоявшимся. Если дальнейшие материалы про настройку и работу с этим загрузчиком будут интересны, то дайте знать об этом при помощи лайков и комментариев к этой заметке. Опытные же пользователи могут также подкинуть идей для заметок про GRUB.

Напоминаю, что ваша активность позволяет алгоритмам Дзена рекомендовать канал в ленте других пользователей. Поэтому не скупитесь на обратную связь!