Как скрыть меню GRUB, отображаемое в начале загрузки?


42

Я прекратил двойную загрузку и больше не хочу выбирать ОС. Я хочу загрузить Ubuntu 12.04 напрямую, не видя меню GRUB.

Как я могу этого достичь?


Если вы остановили двойную загрузку, возможно, вы перестали использовать другую ОС. Почему вы не можете удалить другую ОС, чтобы Ubuntu могла нормально загружаться?
— karthick87


если какой-либо из этих ответов «ответил» на ваш вопрос, примите один из них :)
— blade19899

@ Давид6: Я не вижу, как один из этих дубликатов этого вопроса. Я думаю, что речь идет о сокрытии меню Grub во время тайм-аута.
— Октябрь

Извините, вторая ссылка должна была быть: askubuntu.com/questions/66070/… Сюда входит, как: Скрыть меню Grub2 и использовать опцию меню по умолчанию
— david6

Ответы:


33

Вы можете просто изменить настройки grub.

введите в терминале

sudo -H gedit /etc/default/grub

вам нужно изменить это

Изменить GRUB_HIDDEN_TIMEOUT_QUIET=falseна

GRUB_HIDDEN_TIMEOUT_QUIET=true

Сохраните файл и выйдите

Тип sudo update-grub

Если вы не получили желаемый результат, посмотрите эту ошибку .


7
в настоящее время оно изменено на True, но я все еще вижу меню grub ...
— Алекс Пулос

Я на 12.04, и я попробовал это, но он уже сказал "правда", и он все еще обнаруживается. Единственные другие ОС, которые у меня есть, - это отказоустойчивые и Memtest - вот и все. Я уже удалил свой раздел Windows и обновил grub, и меню все еще отображается.
— Алекс Пулос

@AlexPoulos посмотрите на эту ссылку
— hingev

2
Сработал для меня, изменив время ожидания на 0, а затем сделав его тихим. Спасибо
— king_julien

23

Я решил эту проблему, отключив ОС Prober. Я сделал это, потому что в /boot/grub/grub.cfgчасти, сгенерированной шаблоном /etc/grub.d/30_os-prober, было переопределение «тайм-аута» на 10 и «стиля» на меню.

Отредактируйте /etc/default/grubи добавьте эту строку:

GRUB_DISABLE_OS_PROBER=true

Надеюсь, вы найдете это полезным!

Кстати, мой полный / etc / default / grub:

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR= [...]
GRUB_DISABLE_OS_PROBER=true
GRUB_RECORDFAIL_TIMEOUT=0

Удачного кодирования


2
это сработало для меня, но заставило исчезнуть все остальные параметры загрузки, кроме варианта по умолчанию ...
— открывается как

1
@opensas Если меню выбора не отображается, как вы узнаете, какие параметры загрузки «появляются» на нем? Если вы хотите отключить меню, зачем вам использовать параметры загрузки по умолчанию?
— Кайл Стрэнд,

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

Если кто-то хочет видеть меню загрузки после удержания клавиши Shift, GRUB_TIMEOUT должен быть установлен больше нуля (скажем, GRUB_TIMEOUT = 5). В противном случае другие параметры загрузки (скажем, Windows) не могут быть активированы при необходимости.
— user3804598

В Ubuntu 18.04 LTS GRUB_RECORDFAIL_TIMEOUT=0это единственное изменение, /etc/default/grubкоторое устраняет 30-секундный тайм-аут (и меню загрузчика GRUB в целом), что кажется ошибкой: bugs.launchpad.net/ubuntu/+source/grub2/+bug/1814403/ комментарии / 4 . Кроме того, sudo update-grubдолжны быть выполнены, чтобы изменения вступили в силу, что не упоминается в Ответе. Обратите внимание, что устанавливать это значение 0не рекомендуется (см. Ссылку, приведенную выше), если только машина не является виртуальной машиной для разработки или аналогичной.
— Бен Джонсон

11

Я испробовал все эти советы, которые они не сработали, и в итоге сократил время ожидания до нуля следующим образом:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

запустить sudo update-grubпосле изменения значений
— niksmac

Мне то же. Я запустил "update-grub" - не работал.
— Робин Уинслоу

1
Это то, что мой / etc / default / grub, но я все еще получаю 10 секундный обратный отсчет с отображением меню grub.
— zorkerz

8

Вам нужно отредактировать файл, /etc/default/grubчтобы не показывать меню grub.

По умолчанию записи в этих файлах выглядят так.

GRUB_DEFAULT = 0
# GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_TIMEOUT_QUIET = ложь
GRUB_TIMEOUT = 10
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск"
GRUB_CMDLINE_LINUX = ""
  • Уберите #отметку со второй строки и
  • Измените строку GRUB_HIDDEN_TIMEOUT_QUIET=falseна GRUB_HIDDEN_TIMEOUT_QUIET=true.

После внесения изменений необходимая часть файла будет выглядеть так

GRUB_DEFAULT = 0
GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_TIMEOUT_QUIET = TRUE
GRUB_TIMEOUT = 10
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT = "тихий всплеск"
GRUB_CMDLINE_LINUX = ""
  • Затем запустите sudo update-grubкоманду в терминале и перезагрузитесь, чтобы увидеть результат.

3
У меня была эта конфигурация, но все равно появляется меню grub.

1
С этим параметром update-grub возвращает: «Предупреждение: установка GRUB_TIMEOUT в ненулевое значение, когда GRUB_HIDDEN_TIMEOUT больше не поддерживается», и я все еще получаю 10-секундный обратный отсчет при отображении меню grub. Установка GRUB_TIMEOUT в 0 также возвращает те же результаты.
— zorkerz

@zorkerz, какую версию Ubuntu вы используете?
— Анвар

Ксениал Ксерус, но 15.10 имел такое же поведение
— zorkerz

5

У меня была такая же проблема, и ни один из советов здесь не сработал! Единственным способом было изменить /boot/grub/grub.cfg вручную. В какой-то момент этого файла он делает тайм-аут до 10! Так что, просто прокомментируйте эти строки

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

Но вы никогда не сможете снова выполнить update-grub, иначе он вернется к тому же файлу, а время ожидания снова станет равным 10! Сохраните файл (в vi вам нужно будет принудительно запустить его, даже если вы su!). Перезагрузите компьютер, и он будет работать нормально!


Интересно, а почему бы и нет if [ "${timeout}" = 10 ]; then set timeout=0 fi ? Или просто полностью удалить оператор if и просто оставить set timeout=0?
— Старейшина Гик

Это помещено туда из шаблона, который можно отключить (пробел ОС, как упомянуто в ответе Агустина). Вам не нужно вручную редактировать grub.cfg.
— Нил Трафт

это сработало для меня в 14.04
— Каламалка Малыш

3

если вы хотите удалить загрузочную запись, просто введите:

sudo update-grub

Если это не сработает, установите менеджер запуска, вот так:

sudo apt-get install startupmanager


со стартап-менеджером вы можете

  1. выбрать с записью для загрузки,
  2. выберите разрешение и сколько времени ждать перед загрузкой,
  3. Вы также можете выбрать 0 для автоматической загрузки загрузки по умолчанию

бург, но он забирает себе храбрость
— Черный блок

извините за опечатку. это должно быть sudo update-grub, я отредактировал ответ
— blade19899

Единственная проблема с этим заключается в том, что у меня не так много вариантов версии Startup-менеджера - Imgur
— Alex Poulos

1
Я на 12.04, и я попробовал это, но он уже сказал "правда", и он все еще обнаруживается. Единственные другие ОС, которые у меня есть, - это отказоустойчивые и Memtest - вот и все. Я уже удалил свой раздел Windows и обновил grub, и меню все еще отображается
— Alex Poulos

рядом с «тайм-аут в секундах» есть поле с номером 10, переименуйте его в номер 0
— blade19899

3

Как и Агустин , я обнаружил, что моя проблема связана с ОС Prober. Делая на шаг лучше, чем его решение, я нашел эту суть , которая позволит вам иметь свои ОС, но при этом будет скрывать меню. Вам просто нужно загрузить эти два файла, поместить их в /etc/grub.dи дать им те же права доступа, что и другим шаблонам в этом каталоге.

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


это определенно кажется мне ошибкой. кто-нибудь сообщал об этом ???
— открывается как

Правда ... может быть, я когда-нибудь об этом узнаю. Понятия не имею, есть ли уже там.
— Нил Трэфт

3

Я нашел простое решение проблемы.

  echo "
  set timeout_style=hidden
  set timeout=2" | sudo tee --append /etc/grub.d/40_custom 

И обновить Grub. Он перезапишет настройки времени ожидания в grub.cfg, поэтому не имеет значения, что у вас в / etc / default / grub. Таким образом, у меня есть скрытое меню, которое может быть вызвано смещением на 2 секунды.


Этот подход сработал для меня (grub 2.02 ~ beta3-4ubuntu7, установленный Ubuntu 17.10), когда ни одно из других решений, предложенных на этой странице, не сработало (действительно неудачно, что я протестировал это последнее: /). Благодарность!
— pchaigno

2

Добавьте следующую строку в /etc/default/grub:

GRUB_FORCE_HIDDEN_MENU="true"

2

Я видел много людей, которые говорили, что предлагаемые ответы не работают для них. Я попробовал несколько вариантов, и этот работал для меня :

Отредактируйте /etc/grub.d/00_header и найдите:

if [ "\${recordfail}" = 1 ]; then
  set timeout=-1

Измените это на ...

if [ "\${recordfail}" = 1 ]; then
  set timeout=10

И запустить update-grub.


2

для всех вас, у которых есть слово splash в строке cmd, но жесткое кодирование 0 для тайм-аута не будет работать,

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Попробуйте удалить всплеск слова из второй последней строки, обновить и перезагрузить, вуаля, без меню :)

hth, krex


2

это заняло у меня некоторое время, но это окупилось, это была смесь моих собственных раскопок и ответов выше, сначала убедитесь, что вы /etc/default/grubи /usr/grub/default/grubте же. затем запустите gksu gedit /etc/grub.d/30_os-proberв верхней части две строки, которые нам нужны, но чтобы найти их, выполните поиск стайка и измените эту строку на скрытую, а затем найдите строку тайм-аута, которая должна быть такой, как при timeout = 0установке значения 10 удалить эту часть из if в конец файла, убедитесь, что Вы удаляете конец файла или ваш пьяный, и ваша конфигурация grub должна регистрировать что-то вроде этого, это моё, например:

устанавливает загрузку по умолчанию для Windows 8.1 Pro

GRUB_DEFAULT="Windows 8 (loader) (on /dev/sda1)"

устанавливает пять секунд, чтобы нажать shift, чтобы я мог загрузиться в Ubuntu

GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true

Основное исправление ошибки на всякий случай

GRUB_TIMEOUT=0

устанавливает стиль на скрытый

GRUB_TIMEOUT_STYLE=hidden

Ubuntu по умолчанию

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

1
  • Настроить grub через sudo nano /etc/default/grub
  • Введите конец файла:
GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=0
  • Сохранить изменения CTRL+S
  • Выход CTRL+X
  • Обновить меню grub sudo update-grub

0

Попробуйте это на свой страх и риск и только в крайнем случае!

Я пытался редактировать /etc/default/grubи запустить sudo update-grubбезрезультатно.

Закончилось редактирование /boot/grub/grub.cfgвручную, в частности,

...
### END /etc/grub.d/00_header ###

set timeout=0
saved_entry="Ubuntu"
save_env saved_entry

### BEGIN /etc/grub.d/05_debian_theme ###
...

-1
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=5
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR="lsb_release -i -s 2> /dev/null || echo Debian"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Set this if you hide grubmenu at boot! hidden-timeout has to be 0-10
# NOT recommend with dual-boot systems
# Type ESC/ENTER at boot to make grub-menu visible again! 
# in this case hidden-timeout has to be 3-10
GRUB_DISABLE_OS_PROBER=true

решает проблему! s.grub2 @ubuntuusers! ;-)

Также можно сделать grub-меню снова видимым во время загрузки!

ВАЖНО, если у вас есть сбой и вы хотите загрузить старое (и стабильное) ядро!

(Протестировано с Linux Mint 17.3 Rosa, основанной на Ubuntu 14.04)


4
Пожалуйста, не повторяйте предыдущие ответы .
— Дэвид Фёрстер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.