Как скрыть меню Grub в Ubuntu 14.04

8

У меня две операционные системы: Windows 8.1 и Ubuntu 14.04. Я хочу скрыть меню Grub. Я использую Grub 2.02 ~ бета2-9. Я пробовал следующие комбинации /etc/default/grub:

  1. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0
    

    Меню grub отображается в течение 10 секунд (если для тайм-аута установлено значение больше 0, оно отображается правильно: GRUB_TIMEOUT=5- задержка 5 секунд)

  2. GRUB_HIDDEN_TIMEOUT=1  
    GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0 
    

    меню grub видно, я тоже пробовал GRUB_HIDDEN_TIMEOUT=falseи устанавливал как GRUB_TIMEOUTи GRUB_HIDDEN_TIMEOUTноль, так и ненулевые значения

  3. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=1  
    GRUB_TIMEOUT_STYLE=hidden
    

    меню grub видно в течение 1 секунды, пробовал также GRUB_TIMEOUT_STYLE=countdownс тем же результатом, если GRUB_TIMEOUTустановлено 0, задержка 10 секунд

После каждого изменения я печатаю update-grubи перезагружаю компьютер, чтобы увидеть результаты.

Согласно документации GRUB, найденная info -f grub -n 'Simple configuration'вторым способом, устарела. Верный путь - третий, используя GRUB_TIMEOUT_STYLE, но, к сожалению, он не работает. Это, наверное, какая-то ошибка.

ezpn
источник
Много раз, рецепты, которые вы найдете в Интернете, не работают просто правильно. В этом случае ознакомьтесь с документацией: gnu.org/software/grub/manual/html_node/…
ограниченное искупление
2
Это то, что я сделал в первую очередь. Это не работает, как указано в документации.
ezpn

Ответы:

6

Обычно, если у вас работает только одна ОС, опция GRUB_TIMEOUT=0будет работать. Если GRUB 2 os-proberопределяет дополнительные операционные системы во время выполнения /etc/grub.d/30_os-proberсценария, функция тайм-аута скрытого меню отключается условными операторами. Это также отключает возможность использования Shiftклавиши для отображения меню во время загрузки. Пользователи с несколькими операционными системами, желающие скрыть меню, могут найти изменения скриптов на различных форумах, которые позволят им добавить скрытую функцию тайм-аута в последовательность загрузки.

Проверьте этот ответ, если он вам помогает.

cioby23
источник
3
По вашей ссылке я нашел быстрое решение, которое постоянно скрывает меню grub: GRUB_HIDDEN_TIMEOUT=0.0 GRUB_TIMEOUT=0.0хотя было бы лучше, если бы я мог просто показывать GRUB при нажатии клавиши SHIFT (в предыдущей версии Ubuntu я мог настраивать его, манипулируя GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT), но это все еще лучшее решение это не требует написания пользовательских сценариев.
ezpn
8

Я нашел очень быстрое решение, но я еще не посмотрел на последствия.

В вашем скрипте os_prober для update-grub есть несколько строк, чтобы обойти установленное вами время ожидания и принудительно отобразить меню загрузки, если был найден другой ОС. Вы можете легко отключить это, установив переменную "quick_boot" в 0.

  • В /etc/grub.d/30_os_proberначале изменения файла

    quick_boot="1" в quick_boot="0"

  • Тогда беги sudo update-grub

Motsah
источник
1

Я попытался редактировать 30_os_prober, но оказалось, что имя было изменено на 10_os_prober.

Кроме того, решение, предложенное выше Motsah, прекрасно работает для меня.

Теперь у меня есть:

GRUB_DEFAULT="0"   
GRUB_HIDDEN_TIMEOUT="1"   
GRUB_HIDDEN_TIMEOUT_QUIET="true"    
GRUB_TIMEOUT="0"

в моем /etc/default/grub

Изменение скрытого тайм-аута на более высокое значение, похоже, ничего не дает. Наличие 0 делает невозможным вход в меню.

Скопировано сверху, изменив на 10_os_prober, чтобы завершить это:

В /etc/grub.d/10_os_prober смену

quick_boot="1"

в

quick_boot="0"

в начале файла.

Запустить:

sudo update-grub
sligchop
источник