Загрузчик GRUB Linux – самый широко используемый загрузчик для Linux. Каждый начинающий пользователь Linux извлечет пользу из изучения GRUB Ubuntu. В этом учебнике вы узнаете, что такое GRUB, как работает процесс загрузки, и погрузитесь в несколько полезных конфигураций GRUB Ubuntu.
Погружайтесь, чтобы узнать больше.
Предварительные требования
Если вы хотите следовать этому учебнику, убедитесь, что у вас есть устройство с Linux, на котором установлен GRUB в качестве загрузчика. В этом учебнике будет использоваться Ubuntu 18.04.5 LTS, работающая на виртуальной машине в Oracle VirtualBox.
Понимание процесса загрузки Ubuntu через GRUB
GRUB – это акроним для Grand Unified Boot Loader и является основным и наиболее важным компонентом для загрузки вашего устройства. GRUB также является наиболее распространенным загрузчиком для Linux. Ваш путь начнется с того, что вы узнаете немного больше о процессе загрузки GRUB.
В общем процессе загрузки BIOS начинает с вызова шага POST и затем ищет загрузчик в записи главного загрузочного сектора (MBR).
MBR – это информация в первом секторе любого жесткого диска. MBR определяет местоположение операционной системы. Информация, хранящаяся в MBR, загружает (запускает) ОС в оперативную память устройства.
Эта статья затрагивает только сторону MBR. Однако вы также можете использовать диски с использованием GPT, что означает GUID Partition Tables. GPT предпочтительнее, если вы планируете создать более четырех разделов, так как диск MBR может содержать максимум 4 основных раздела.
На скриншоте ниже вы можете видеть диаграмму процесса загрузки. Вы можете увидеть, что Ubuntu GRUB загружает ядро, которое вы выбрали, в основную память: оперативную память (RAM). После загрузки ядра пользователи могут войти в устройство.

Сравнение загрузчиков Ubuntu GRUB и LILO
В мире Linux существуют три основных загрузчика: LILO, GRUB и GRUB2. GRUB2 – последний и основной загрузчик в дистрибутивах Linux. GRUB2 является наиболее используемым и продемонстрированным в этом учебнике, поскольку он является загрузчиком Ubuntu по умолчанию, но LILO все еще присутствует в Linux. В этом разделе вы узнаете, как они сравниваются между собой.
Oтри Linux-загрузчика доступны на рынке, такие как GNU GRUB, который обладает отличной поддержкой управления памятью и объектно-ориентированным фреймворком. Другой – SYSLINUX, который является легким загрузчиком.
GRUB поддерживает загрузку нескольких операционных систем. В то время как LILO может загружать только одну ОС.

Ubuntu GRUB совместим с Windows, Linux, Unix, macOS, BSD, Solaris, тогда как LILO поддерживает в основном операционные системы Linux.
Если вы обновляете файл конфигурации в LILO, тогда LILO нужно переустановить в MBR. Если вы изменяете настройки GRUB, это не требует повторной установки.
Выбор различных ядер или режимов восстановления
Этот раздел покажет, как выбрать ядро при загрузке устройства для восстановления от поврежденного ядра.
A kernel works as an interface between hardware and software. It controls all the processes that users run on the device.
Вот шаги по выбору ядра с использованием виртуальной машины в Oracle VirtualBox.
1. Войдите напрямую в консоль устройства Ubuntu, используя Oracle VirtualBox.
2. Перезагрузите ваш компьютер Ubuntu, используя команду выключения, как показано ниже.
После перезагрузки вашего устройства нажмите и удерживайте клавишу Shift при загрузке Ubuntu GRUB, и вы увидите меню загрузчика GRUB. Если ничего не выбирать, GRUB загрузит систему с ядром по умолчанию и продолжит процесс загрузки.
Вы должны выбрать Расширенные параметры для Ubuntu, когда вам нужно загрузиться с другим ядром, отличным от ядра по умолчанию. Или если у вас возникают проблемы в системе, такие как повреждение файлов, неправильная загрузка ядра.

4. После выбора Расширенные параметры для Ubuntu, появится меню загрузчика Ubuntu GRUB. В этом меню вы увидите различные варианты ядра, которые можете выбрать. Если вы не выберете опцию, будет загружено первое отображаемое ядро по умолчанию.
Как видно на изображении ниже, для каждого ядра есть две дополнительные опции: upstart и восстановление.
- (upstart): событийно-ориентированная замена демона /sbin/init, который обрабатывает запуск задач и служб при загрузке, остановку их при выключении и наблюдение за ними во время работы системы.
- (режим восстановления): для восстановления ядра после сбоев в системе.

5. После входа в систему команда uname
проверяет, загружено ли указанное ядро. Опция -r
печатает название ядра.

Настройка Операционной Системы По Умолчанию
Теперь, когда вы более знакомы с GRUB, вы настроите несколько параметров конфигурации GRUB. Вы начнете с настройки того, какая операционная система будет загружаться по умолчанию.
1. Войдите в свое устройство Ubuntu, используя ваш любимый SSH-клиент.
2. Теперь перечислите записи меню загрузки GRUB, выполнив команду awk
, как показано ниже. Команда awk
отобразит все записи, хранящиеся в /boot/grub/grub.cfg. Содержимое файла отобразится в терминале. Обратите внимание на строки. Вам понадобится номер, связанный с предыдущей строкой, которая начинается с нуля, то есть строка Ubuntu
имеет номер 0
, а Ubuntu, with Linux 4.4.0-210-generic
– 1
.

3. Затем отредактируйте файл конфигурации GRUB. Вы можете полагаться на vi
, чтобы отредактировать файл и изменить значение для GRUB_DEFAULT
, но используйте свой предпочтительный редактор по желанию.
Теперь установите значение GRUB_DEFAULT
на номер строки желаемой записи ОС. Помните команду awk
, которую вы выполнили? Это были записи ОС. Если вы установите GRUB_DEFAULT
на 0
, то первая запись ОС в меню загрузки GRUB будет загружаться по умолчанию. Если установить его на 1
, устройство загрузит вторую запись ОС по умолчанию и так далее. На скриншоте ниже первая запись ОС Ubuntu установлена для загрузки по умолчанию.
По умолчанию GRUB не ждет в меню загрузки и начинает загрузку немедленно, в течение 0 секунд. Вы можете изменить это время ожидания, изменив значение для
GRUB_TIMEOUT
. Значение будет означать количество секунд, в течение которых меню будет видно перед началом загрузки. Если значение равно5
, меню загрузки будет отображаться в течение 5 секунд, чтобы вы могли выбрать, какую ОС загружать при запуске системы.

4. После сохранения изменений в файле конфигурации GRUB обязательно выполните команду update-grub
. Команда update-grub
применяет измененный файл конфигурации к системе.

Настройка фонового изображения в GRUB Ubuntu
Ваша конфигурация GRUB не обязательно должна быть скучной. Вы можете добавить немного оригинальности в GRUB, добавив фоновое изображение в меню GRUB. Вы можете установить изображения в качестве фона в GRUB с помощью параметра GRUB_BACKGROUND
. Следуйте указанным ниже шагам для настройки GRUB.
1. Отредактируйте файл конфигурации GRUB с помощью vi
или вашего предпочтительного текстового редактора и добавьте строку GRUB_BACKGROUND
, как показано ниже. В этом руководстве изображение хранится в домашней папке пользователя с именем UBUNTU
, поскольку GRUB работает от имени root, он может получить доступ к изображениям по всей файловой системе. После внесения изменений сохраните файл конфигурации.
Файл изображения shanky.jpeg уже был на системе. Замените это имя именем файла, которое вы хотите использовать в качестве фонового изображения.
2. Затем, после внесения изменений в файл конфигурации GRUB, выполните команду update-grub
.

3. Далее убедитесь, что изображение, которое вы добавили в файл Grub в качестве фона, работает должным образом. Для проверки перезагрузите ваше устройство и нажмите клавишу Shift, пока загружается GRUB. Как видно ниже, у GRUB теперь есть фоновое изображение.

Загрузка с двойной загрузкой с GRUB
Одной из великих особенностей GRUB в Ubuntu является возможность выбора между Windows и Linux при загрузке вашего устройства: также известного как двойная загрузка. Двойная загрузка позволяет использовать Linux и Windows на одном устройстве, что облегчает жизнь инженерам по информационным технологиям, работающим с несколькими операционными системами.
На начало 2021 года скрипт os_prober
по умолчанию, который автоматически добавляет дополнительные записи в меню операционной системы, был отключен из-за потенциальных проблем с безопасностью при автоматическом обнаружении ОС. Вы можете включить эту функциональность с помощью следующей команды, при условии, что вы знаете, какие ОС установлены.
После настройки двойной загрузки на вашем устройстве вы должны увидеть экран, аналогичный меню GRUB при запуске вашей машины.

Заключение
В этом руководстве вы узнали, что такое GRUB, и статья представила вам процесс загрузки GRUB.
Вы также узнали, как настроить некоторые параметры GRUB в Ubuntu, загружать различные ядра, и даже узнали о двойной загрузке.
Теперь, когда у вас есть хорошие знания о GRUB, какие параметры конфигурации вы измените?