Гид по технологиям

Как заставить GRUB запоминать последнюю запись загрузки

5 min read Linux Обновлено 16 Oct 2025
GRUB: запоминание последней загрузки
GRUB: запоминание последней загрузки

Демонстрация списка загрузки GRUB и текущих опций

Введение

Если вы используете систему с несколькими ОС (dual-boot), часто бывает неудобно, когда Windows перезагружается после обновления, а GRUB автоматически выбирает другую запись по умолчанию. Чтобы избежать постоянного переключения вручную, можно настроить GRUB так, чтобы он запоминал последний выбранный пункт и при следующей перезагрузке загружал именно его.

Кратко: мы сделаем резервную копию текущих конфигураций, включим режим сохранения последней загрузки, исправим таймаут и при необходимости скроем меню. В конце — проверка и откат в случае ошибок.

Что значит “GRUB запоминает последнюю загрузку”

Одной строкой: GRUB сохраняет индекс/имя пункта меню, который вы выбрали при последнем загрузочном цикле, и при следующем старте делает его пунктом по умолчанию.

Технически: в /etc/default/grub вы ставите GRUB_DEFAULT=saved и включаете GRUB_SAVEDEFAULT=true; затем обновляете файл конфигурации GRUB.

Резервная копия GRUB (обязательный шаг)

Важно: перед изменениями всегда делайте резервную копию конфигураций GRUB.

Откройте терминал и выполните:

mkdir -p ~/grub-backup
cp /etc/default/grub ~/grub-backup/
cp -a /etc/grub.d ~/grub-backup/

Пояснение:

  • mkdir -p создаёт каталог для резервных файлов;
  • cp копирует основной файл /etc/default/grub;
  • cp -a копирует каталог /etc/grub.d со всеми скриптами и правами.

После этого у вас в домашней папке будет папка grub-backup с текущими конфигурациями.

Изменение конфигурации GRUB: включаем сохранение последнего выбора

  1. Откройте файл конфигурации в текстовом редакторе с привилегиями root. Пример с nano:
sudo nano /etc/default/grub
  1. Найдите строку, похожую на
GRUB_DEFAULT=0

и замените её на

GRUB_DEFAULT=saved
  1. Ниже добавьте (или измените) строку:
GRUB_SAVEDEFAULT=true
  1. Сохраните файл (в nano — Ctrl+O, Enter) и выйдите (Ctrl+X).

Файл конфигурации GRUB, отредактированный для сохранения выбора

Примечание: если вы используете графический редактор (gedit, kate и т. п.), запустите его с sudo или через pkexec, чтобы иметь права записи.

Другие полезные настройки GRUB

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

Изменение времени ожидания (timeout)

Откройте /etc/default/grub и найдите строку

GRUB_TIMEOUT=5

Стандартно это 5 секунд. Поменяйте на комфортное значение, например 10 или 15. Если хотите более быстрый старт — уменьшите до 3.

Настройка времени ожидания GRUB

Скрывать меню GRUB и показывать его при удержании Shift

Если вы не хотите видеть меню GRUB вообще, добавьте или измените следующие строки в /etc/default/grub:

GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=3

При таком режиме меню будет скрыто и появится только при удержании Shift (в BIOS-режиме) или при удержании Esc (в некоторых UEFI-системах) во время загрузки.

Пример скрытого меню GRUB, показывается при нажатии клавиши

Применение изменений: обновление конфигурации GRUB

После редактирования файлов нужно сгенерировать итоговый конфигурационный файл, который читает загрузчик.

На большинстве Ubuntu-подобных дистрибутивов выполняйте:

sudo update-grub

Если дистрибутив не предоставляет эту обёртку, используйте напрямую:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Применение изменений к конфигурации GRUB

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

Проверки и критерии приёмки

  • После настройки GRUB_DEFAULT=saved и GRUB_SAVEDEFAULT=true выбранный вами пункт должен оставаться по умолчанию при последующих перезагрузках.
  • Команды update-grub или grub-mkconfig выполняются без ошибок.
  • Пункты меню, выбор которых вы делаете вручную, действительно загружаются корректно.
  • В случае проблем вы можете восстановить резервную копию и вернуть прежние настройки.

Восстановление резервной копии (откат)

Если что-то пошло не так, выполните откат в таком порядке:

  1. Скопируйте файл из резервной папки обратно и установите права:
sudo cp ~/grub-backup/grub /etc/default/grub
sudo cp -a ~/grub-backup/grub.d /etc/grub.d
  1. Обновите конфигурацию GRUB:
sudo update-grub

или

sudo grub-mkconfig -o /boot/grub/grub.cfg
  1. Перезагрузите систему и убедитесь, что поведение вернулось к исходному.

Совет: если загрузчик перестал загружаться вовсе (редкий случай), загрузитесь с live-USB и используйте chroot или инструменты восстановления дистрибутива для восстановления GRUB в MBR/EFI.

Когда это может не сработать

  • Если в системе используется альтернативный загрузчик (rEFInd, systemd-boot), описанные параметры не применимы.
  • Если пункты меню генерируются динамически нестандартными скриптами в /etc/grub.d, может потребоваться дополнительная настройка скриптов.
  • На некоторых UEFI-системах поведение клавиш (Shift/Esc) для отображения меню отличается — тестируйте на вашей плате.
  • Если Windows перезагружает систему в особом режиме (fast restart/fast boot/hibernate), выбор может вести себя иначе — отключите быстрый запуск Windows, если поведение неконсистентно.

Альтернативные подходы

  • rEFInd: современный графический загрузчик, удобен для гибридных систем, но требует установки и настройки отдельно.
  • systemd-boot: для UEFI-систем с простой конфигурацией, интегрируется с systemd; не поддерживает все возможности GRUB, но проще.
  • Менеджер загрузки в прошивке UEFI (boot entries): можно менять приоритеты через efibootmgr.

Решение: если нужна простая опция “запомнить последний загрузочный пункт” — GRUB с GRUB_SAVEDEFAULT=true чаще всего проще и надёжнее.

Короткая шпаргалка (cheat sheet)

# сохранить резервную копию
mkdir -p ~/grub-backup
cp /etc/default/grub ~/grub-backup/
cp -a /etc/grub.d ~/grub-backup/

# редактирование
sudo nano /etc/default/grub
# установить
# GRUB_DEFAULT=saved
# GRUB_SAVEDEFAULT=true

# применить изменения
sudo update-grub
# или
sudo grub-mkconfig -o /boot/grub/grub.cfg

# откат
sudo cp ~/grub-backup/grub /etc/default/grub
sudo cp -a ~/grub-backup/grub.d /etc/grub.d
sudo update-grub

Чек-лист для администратора перед публикацией изменений

  • Сделана резервная копия /etc/default/grub и /etc/grub.d
  • Проверены и исправлены права на файлы
  • Выполнена команда обновления (update-grub или grub-mkconfig) без ошибок
  • Протестирована загрузка всех критичных ОС (Linux, Windows)
  • Документированы изменения и сохранены копии в удалённом репозитории (по желанию)

Рекомендации по безопасности и устойчивости

  • Всегда имейте live-USB с вашим дистрибутивом для восстановления GRUB.
  • Не удаляйте скрипты из /etc/grub.d без резервного копирования.
  • Не используйте экспериментальные параметры в production-сервере без тестирования.

Заключение

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

Что вы думаете о GRUB и таких правках — делитесь опытом и вопросами в комментариях.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Двойное касание экрана на Android — как включить
Android.

Двойное касание экрана на Android — как включить

Улучшение качества фото с Vance AI
Фото

Улучшение качества фото с Vance AI

Как скачать видео с Twitch: VOD и клипы
Руководство

Как скачать видео с Twitch: VOD и клипы

Как скачать фильмы и сериалы Netflix — пошагово
Стриминг

Как скачать фильмы и сериалы Netflix — пошагово

Как обновить Kodi на всех платформах
Руководство

Как обновить Kodi на всех платформах

Отслеживание по номеру: 10 лучших инструментов
Родительский контроль

Отслеживание по номеру: 10 лучших инструментов