Введение / Зачем это нужно
Загрузчик GRUB 2 — это первое, что вы видите при включении компьютера с Linux. По умолчанию он показывает стандартный список систем и ждёт 5–10 секунд. Настройка меню позволяет ускорить загрузку, скрыть неиспользуемые ядра или старые системы, а также задать порядок запуска для dual-boot конфигураций. После выполнения этого гайда вы получите полностью контролируемый процесс загрузки без необходимости использовать сторонние утилиты, которые иногда ломают зависимости.
Требования / Подготовка
Для работы вам понадобятся:
- Доступ к терминалу с правами
rootилиsudo. - Установленный GRUB 2 версии 2.04 и выше (присутствует во всех современных дистрибутивах).
- Базовые навыки работы с консольными текстовыми редакторами (
nano,vimилиmicro). - Стабильное подключение к интернету для установки дополнительных пакетов (опционально).
⚠️ Важно: Любая ошибка в конфигурационном файле может привести к невозможности загрузки системы. Всегда создавайте резервную копию перед редактированием.
Шаг 1: Резервное копирование конфигурации
Откройте терминал и сохраните текущую конфигурацию:
sudo cp /etc/default/grub /etc/default/grub.backup
Эта команда создаёт точную копию файла, хранящего основные переменные загрузчика. Если после изменений система перестанет загружаться, вы сможете восстановить исходное состояние командой sudo cp /etc/default/grub.backup /etc/default/grub.
Шаг 2: Редактирование параметров загрузчика
Откройте файл настроек в удобном редакторе:
sudo nano /etc/default/grub
Здесь вы можете изменить ключевые параметры:
GRUB_TIMEOUT=5— время в секундах, которое меню будет ждать вашего выбора. Установите0, чтобы пропускать заставку, или10, чтобы было больше времени.GRUB_DEFAULT=0— индекс системы, загружаемой по умолчанию (отсчёт начинается с нуля). Чтобы всегда загружалась последняя выбранная ОС, поменяйте значение наsavedи добавьте строкуGRUB_SAVEDEFAULT=true.GRUB_CMDLINE_LINUX_DEFAULT— параметры ядра по умолчанию. Например, добавлениеquiet splashскрывает текстовые сообщения при загрузке.GRUB_DISABLE_RECOVERY="true"— убирает пункты восстановления из меню, очищая интерфейс.
Для скрытия конкретного пункта (например, старой версии ядра) перейдите в директорию /etc/grub.d/ и измените права выполнения на соответствующем скрипте XX_linux:
sudo chmod -x /etc/grub.d/10_linux
В большинстве случаев проще использовать встроенные переменные из /etc/default/grub, чтобы не нарушать логику работы скриптов.
Шаг 3: Генерация нового конфига
Изменения в /etc/default/grub не применяются автоматически. GRUB требует пересборки основного конфигурационного файла grub.cfg, который хранится в /boot/grub/.
Для Debian, Ubuntu, Linux Mint и производных выполните:
sudo update-grub
Для Fedora, CentOS, RHEL, openSUSE и Arch Linux используйте:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# или для систем с UEFI
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Команда просканирует диски, найдёт все установленные ОС и ядра, а затем запишет обновлённое меню в защищённый раздел. Дождитесь завершения вывода без ошибок.
Проверка результата
Перезагрузите компьютер, чтобы убедиться, что изменения применились:
sudo reboot
На экране загрузки проверьте:
- Отображается ли новый таймер.
- Загружается ли система по умолчанию без вашего вмешательства.
- Отсутствуют ли дубликаты ядер или скрытые пункты, если вы их отключали.
Если система загрузилась корректно, настройки успешно сохранены. Вы можете вернуть бэкап в любое время, если потребуется откат.
Возможные проблемы
- Ошибка
grub-mkconfig: command not found. Убедитесь, что пакетgrub2-commonилиgrubустановлен. В Arch Linux используйтеgrub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB. - Изменения игнорируются после перезагрузки. Часто это происходит из-за правки
grub.cfgнапрямую или использования автоматических менеджеров обновлений ядра, которые перезаписывают конфиг. Всегда редактируйте только/etc/default/grub. - GRUB не видит Windows. Установите пакет
os-prober(sudo apt install os-proberилиsudo dnf install os-prober), затем откройте/etc/default/grub, добавьтеGRUB_DISABLE_OS_PROBER=falseи снова запустите генерацию конфига. - Слишком низкое разрешение меню. Добавьте параметр
GRUB_GFXMODE=1920x1080x32иGRUB_GFXPAYLOAD_LINUX=keepв конфиг перед пересборкой, чтобы загрузчик использовал нативное разрешение монитора.