Linux

Настройка и управление меню GRUB в Linux: полный гайд

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

Обновлено 7 апреля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:GRUB 2 (универсально)Ubuntu 20.04/22.04/24.04Debian 11/12Fedora 38+

Введение / Зачем это нужно

Загрузчик 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 в конфиг перед пересборкой, чтобы загрузчик использовал нативное разрешение монитора.

Часто задаваемые вопросы

Можно ли редактировать grub.cfg напрямую?
Как безопасно протестировать настройки GRUB без перезагрузки?
Почему изменения в конфигурации не применяются после сохранения?

Полезное

Резервное копирование конфигурации
Редактирование параметров загрузчика
Генерация нового конфига

Эта статья помогла вам решить проблему?