Любой пользователь дистрибутивов Linux слышал про GRUB (граб). Он встречается и во время установки дистрибутива, и после нее, во время загрузки системы. Однако для начинающих пользователей GRUB сродне терминалу - сложно, непонятно и черт знает, как пользоваться. Страха также добавляет и тот факт, что неправильная настройка GRUB может привести к тому, что дистрибутив просто-напросто не запуститься при старте ПК. Но на канале Просто Код мы не бежим от непонятного и сложного, а пытаемся разобраться и научиться. Поэтому сегодня начнем знакомиться с GRUB и это будет первым шагом к работе с ним.
Чтобы не пропустить другие полезные материалы про Linux нужно подписаться на канал и его обновления в Телеграмме.
Немного о загрузчиках ОС
Прежде чем переходить конкретно к GRUB нужно разобраться с тем, что такое загрузчик операционной системы. Если совсем просто, то это специальное программное обеспечение, которое обеспечивает загрузку операционной системы после того, как пользователь нажал на кнопку включения на системном блоке и после того, как осуществилась начальная загрузка. Загрузчик выполняет пять простых (для понимания, а не по технической сути) действий:
- Позволяет пользователю выбрать операционную систему для загрузки.
- Приводит внутреннее оборудование компьютера в состояние, которое необходимо для старта ядра ОС.
- Загружает ядро системы.
- Формирует параметры, которые передает загружаемому ядру.
- Передает управление загруженному ядру
Вариантов загрузчиков множество: например для загрузки 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. Это сделано специально, чтобы не путать/пугать начинающего пользователя. Чтобы меню загрузчика отображалось я произвел небольшие манипуляции с его конфигурационным файлом, после применил эти настройки и вот уже после перезагрузки дистрибутива на экране появилось знакомое многим опытным пользователям окно.
Меню на скриншоте позволяет выполнить весь перечень действий, про которые мы говорили выше: можно загрузить установленную 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 - неотъемлемая часть дистрибутивов Linux, поэтому считаю, что хотя бы поверхностное понимание того, что такое загрузчик и как он выглядит должно быть у любого пользователя.
- Знание и понимание дадут уверенности в ситуации, когда после запуска ПК на экране вместо привычных поля для ввода пароля покажется экран GRUB и позволят, в случае необходимости, решить проблему из-за которой загрузка пошла не так, как раньше.
- Практически любой пользователь рано или поздно хочет понастроить систему и что-то в ней поменять: например, тот же экран GRUB, если на ПК установлено несколько дистрибутивов, поэтому лучше сделать это правильно и не убить загрузчик после экспериментов.
Подведем итог
Знакомство с GRUB можем считать состоявшимся. Если дальнейшие материалы про настройку и работу с этим загрузчиком будут интересны, то дайте знать об этом при помощи лайков и комментариев к этой заметке. Опытные же пользователи могут также подкинуть идей для заметок про GRUB.
Напоминаю, что ваша активность позволяет алгоритмам Дзена рекомендовать канал в ленте других пользователей. Поэтому не скупитесь на обратную связь!