задержка загрузки grub 10 секунд. взлом GRUB_TIMEOUT=0.0

Вопрос или проблема

Я хочу избежать задержек из-за grub на моем UEFI ПК с Ubuntu 24. У меня установлена только одна ОС, и меня абсолютно не интересуют никакие другие/восстановительные опции. По умолчанию тайм-аут составляет 30 секунд, но я уже уменьшил его до 10 секунд. Но я хочу 0, а не стандартные 10 секунд от 30_os-prober

Поэтому я попытался использовать GRUB_TIMEOUT=0.0 хак. Но после sudo update-grub снова устанавливается стандартные 10 секунд… Почему хак не работает?

#GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0.0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="spectre_v2=off nopti"
GRUB_RECORDFAIL_TIMEOUT=0

P.S. Я не хочу каждый раз изменять код из /boot/grub/grub.cfg, такое решение работает, но не является хорошим…

if [ "${timeout}" = 0 ]; then
  set timeout=10
fi

Я нашел решение в комментариях к посту:

sudo apt purge os-prober
sudo update-grub

Ответ или решение

Вы сталкиваетесь с проблемой настройки GRUB на вашем UEFI ПК с установленной Ubuntu 24, где стремитесь к сокращению времени загрузки до нуля, но система автоматически устанавливает таймаут в 10 секунд. Давайте разберем шаги, которые помогут вам достичь желаемого результата.

Описание Проблемы

GRUB (GRand Unified Bootloader) является загрузчиком, который позволяет пользователям выбирать из различных операционных систем или режимов загрузки. Вы уже изменили настройку по умолчанию с 30 до 10 секунд, однако требуется полное устранение задержки.

Текущая Конфигурация

Вы использовали следующий фрагмент в файле /etc/default/grub для попытки установки нулевого таймаута:

#GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0.0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="spectre_v2=off nopti"
GRUB_RECORDFAIL_TIMEOUT=0

Однако, несмотря на использование "хака" с GRUB_TIMEOUT=0.0, после выполнения команды sudo update-grub все равно устанавливается стандартный таймаут в 10 секунд.

Решение Проблемы

Пошаговое Руководство

  1. Удаление пакетного модуля os-prober:

    Os-prober — это скрипт, который сканирует ваш компьютер на наличие других операционных систем, что может влиять на установки GRUB.

    Выполните команды:

    sudo apt purge os-prober

    Это исключит вмешательство ос-prober в процесс определения времени загрузки.

  2. Обновление GRUB:

    После удаления os-prober, необходимо снова обновить конфигурацию GRUB:

    sudo update-grub

    Это действие должно применить изменения в файле конфигурации /boot/grub/grub.cfg без последующего изменения таймаута на 10 секунд.

Почему Решение Работает

При включенном os-prober, система может определять несколько операционных систем и устанавливать более значительный таймаут на случай, если нужно выбрать другую ОС. Удаление os-prober устраняет это поведение, позволяя вашим настройкам GRUB_TIMEOUT=0.0 вступить в силу.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...