Как заставить 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: включаем сохранение последнего выбора
- Откройте файл конфигурации в текстовом редакторе с привилегиями root. Пример с nano:
sudo nano /etc/default/grub
- Найдите строку, похожую на
GRUB_DEFAULT=0
и замените её на
GRUB_DEFAULT=saved
- Ниже добавьте (или измените) строку:
GRUB_SAVEDEFAULT=true
- Сохраните файл (в nano — Ctrl+O, Enter) и выйдите (Ctrl+X).
Примечание: если вы используете графический редактор (gedit, kate и т. п.), запустите его с sudo или через pkexec, чтобы иметь права записи.
Другие полезные настройки GRUB
Ниже — небольшие изменения, которые часто полезны в связке с запоминанием последней загрузки.
Изменение времени ожидания (timeout)
Откройте /etc/default/grub и найдите строку
GRUB_TIMEOUT=5
Стандартно это 5 секунд. Поменяйте на комфортное значение, например 10 или 15. Если хотите более быстрый старт — уменьшите до 3.
Скрывать меню GRUB и показывать его при удержании Shift
Если вы не хотите видеть меню GRUB вообще, добавьте или измените следующие строки в /etc/default/grub:
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=3
При таком режиме меню будет скрыто и появится только при удержании Shift (в BIOS-режиме) или при удержании Esc (в некоторых UEFI-системах) во время загрузки.
Применение изменений: обновление конфигурации GRUB
После редактирования файлов нужно сгенерировать итоговый конфигурационный файл, который читает загрузчик.
На большинстве Ubuntu-подобных дистрибутивов выполняйте:
sudo update-grub
Если дистрибутив не предоставляет эту обёртку, используйте напрямую:
sudo grub-mkconfig -o /boot/grub/grub.cfg
После успешного выполнения перезагрузите систему и проверьте поведение: выберите Windows (или другой пункт), дождитесь перезагрузки и убедитесь, что GRUB снова выбирает этот же пункт.
Проверки и критерии приёмки
- После настройки GRUB_DEFAULT=saved и GRUB_SAVEDEFAULT=true выбранный вами пункт должен оставаться по умолчанию при последующих перезагрузках.
- Команды update-grub или grub-mkconfig выполняются без ошибок.
- Пункты меню, выбор которых вы делаете вручную, действительно загружаются корректно.
- В случае проблем вы можете восстановить резервную копию и вернуть прежние настройки.
Восстановление резервной копии (откат)
Если что-то пошло не так, выполните откат в таком порядке:
- Скопируйте файл из резервной папки обратно и установите права:
sudo cp ~/grub-backup/grub /etc/default/grub
sudo cp -a ~/grub-backup/grub.d /etc/grub.d
- Обновите конфигурацию GRUB:
sudo update-grub
или
sudo grub-mkconfig -o /boot/grub/grub.cfg
- Перезагрузите систему и убедитесь, что поведение вернулось к исходному.
Совет: если загрузчик перестал загружаться вовсе (редкий случай), загрузитесь с 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 и таких правках — делитесь опытом и вопросами в комментариях.
Похожие материалы

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

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

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

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

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