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


270

Эта проблема возникла недавно для меня (и мне предложили подать ее как конкретный вопрос):

У меня система не с двойной загрузкой, я запускаю стандартную настольную систему Ubuntu «на металле» (я думаю, что запускать ее на ВМ тоже самое).

Нажатие cво время загрузки не приводит к появлению меню GRUB (что, как мне кажется, для системы с двойной загрузкой).

Как я могу заставить GRUB-меню представить себя в системе с одной загрузкой?


22
+1 отличный вопрос, чтобы разоблачить по существу недокументированную особенность процесса загрузки Ubuntu, ответ на который я нашел только случайно, работая в grub.cfg. Спасибо за то, что подняли это до верхнего (Googleable) уровня.
MSS

5
Кредит, где кредит должен ... Эта проблема возникла в другом моем вопросе (похоронен глубоко в комментариях). Хорхе Кастро предположил, что было бы неплохо представить в качестве вопроса его собственное право ... (так что поверьте ему .... и я с удовольствием грелась в отраженном свете;) Я вижу ценность это основной Q / A.
Peter.O

Ответы:


249

Меню появится, если вы нажмете и удержите Shiftво время загрузки Grub, если загрузитесь с помощью BIOS. Когда ваша система загружается с использованием UEFI, нажмите Esc.

Для постоянного изменения вам нужно отредактировать ваш /etc/default/grubфайл - поместите символ «#» в начале строки GRUB_HIDDEN_TIMEOUT=0.

Сохраните изменения и запустите, sudo update-grubчтобы применить изменения.

Документация: https://help.ubuntu.com/community/Grub2


4
@codeMonk: Ой! (Я удалил свой предыдущий комментарий, потому что я был на неправильном пути) ... Я изначально неправильно понял контекст "GRUB_TIMEOUT = 0". Контекст, который вы имеете в виду, относится к «постоянному» отображению меню GRUB ... Я думал, что вы имели в виду по отношению к методу клавиши «Shift» ... Это правда, что для постоянно повторяющегося отображения вам нужны оба » # GRUB_HIDDEN_TIMEOUT = 0 "и" GRUB_TIMEOUT = * NON-ZERO * ", как описано в ссылке в ответе ... (я только что
проверил

7
Удержание левой смены у меня не сработало :(
Ник

5
В Ubuntu 18.04 нет GRUB_HIDDEN_TIMEOUT=0моей строки /etc/default/grub- вместо этого есть GRUB_TIMEOUT_STYLE=hidden(Shift во время загрузки никогда не работал для меня (Dell?)). Есть идеи, что делать?
Джена

3
@jena Я нашел совет в верхней части /etc/default/grubполезного: то есть посмотреть info -f grub -n 'Simple configuration'. Это объясняет варианты. Используйте GRUB_TIMEOUT_STYLE=menuдля отображения меню. Или нажмите, ESCесли вы сохраняете настройку, hiddenно хотите видеть меню.
Bovender

3
Grub меняется с каждым выпуском, пожалуйста, рассмотрите возможность добавления версии informatoin. Дело в том, что это работает только для 14.04. Это наверняка больше не актуально для 18.04
onknows

75

Я попытался обоих Shiftи Spaceключи , но ничего не работает. Только Escключ работает для Ubuntu 14.04 и 16.04, чтобы получить Grub Menu во время загрузки.


2
тоже самое. Только ключ ESCAPE работал с Ubuntu 14.04.
Атмелино

15
То же самое для Ubuntu 16.04 - работает только Escape. Это должно быть упомянуто в документации (режим восстановления)
matandked

2
Ubuntu 14.04 здесь. НИЧЕГО не работает.
августа

1
Клавиша Shift отлично работает на моем v16.04.
Сопалахо де Арриерес

7
Мне пришлось многократно нажимать клавишу ESC, а не удерживать ее. Давайте 6 способов сделать то же самое. Линукс это весело.
Джеффри Блаттман

16
  • Продолжайте нажимать, Shiftпока не увидите «Сообщение загрузки Grub»
  • После сообщения удерживайте нажатой Shiftклавишу, пока не появится меню.

Это нюанс, который помог мне наконец войти! Спасибо! :)
ATSiem

3
Это так не работает для меня. Независимо от того, что я делаю с этим плохим ключом SHIFT, этот Intel NUC пропускает меню grub :(
yPhil

2
@yPhil Intel NUC - урод, который ест Shift. Это работает везде. Мне повезло, что это Escработает для моего NUC, но, похоже, это не работает для вас, не так ли?
Франклин Ю

15

В Ubuntu 18.04 нет GRUB_HIDDEN_TIMEOUT=0строки /etc/default/grub- вместо нее есть GRUB_TIMEOUT_STYLE=hidden. По словам info -f grub -n 'Simple configuration':

если эта опция не установлена ​​или установлена ​​на «меню», то GRUB отобразит меню, а затем дождется истечения времени ожидания, установленного параметром «GRUB_TIMEOUT», перед загрузкой записи по умолчанию. Нажатие клавиши прерывает тайм-аут.

Так что если вы удалите или закомментируете строку как:

#GRUB_TIMEOUT_STYLE=hidden

тогда меню покажет по умолчанию.

18.04 + не двойная загрузка, загрузка в grub 5 секунд:

GRUB_TIMEOUT_STYLE = ложь

GRUB_TIMEOUT = (без значения). Отлично работает LVM.


1
Отлично! Протестировано с этой настройкой QEMU: askubuntu.com/questions/924913/…
Сиро Сантилли 事件 at 中心 法轮功 六四 事件

также работает в 18.10
Budget Tech

Это работало на моем MBP в конце 2010 года с Lubuntu 19.04.
SurvivalMachine

8

По умолчанию GRUB покажет меню, если установлена ​​вторая операционная система. Если установлена ​​только Ubuntu, GRUB, как правило, загружает Ubuntu без отображения меню. Чтобы переконфигурировать GRUB, чтобы всегда показывать меню :

  1. Редактировать /etc/default/grub:

    Установить GRUB_HIDDEN_TIMEOUT=(нет значения после =знака).
    Установите, чтобы показать меню в течение n секунд.GRUB_TIMEOUT=n

  2. Запустить update-grubдля регенерации /boot/grub/grub.cfgна основе /etc/default/grubнастроек.

Вы можете заставить GRUB показывать меню, даже если действует GRUB_HIDDEN_TIMEOUT=0настройка по умолчанию :

  • Если ваш компьютер использует BIOS для загрузки, нажмите и удерживайте Shiftклавишу во время загрузки GRUB, чтобы открыть меню загрузки.
  • Если ваш компьютер использует UEFI для загрузки, нажмите Escнесколько раз во время загрузки GRUB, чтобы открыть меню загрузки.

Надеемся, что это устраняет путаницу в отношении того, почему Shiftработает для некоторых пользователей и Escработает для других .


3

Я слышал, Shift делает это. Но я использовал Space раньше, и это сработало.


1
Я только что попробовал Shift и Space в двух ситуациях: в виртуальной машине и "на металле" ... "Shift" работал в обеих ситуациях ... "Space" не удался в обеих ситуациях ...
Peter.O

4
Если вы не можете использовать сдвиг, попробуйте сбежать. Кажется, работает для меня с Ubuntu 12.10.
user530873

Ubuntu 15.04. Пробел работает. Спасибо!
ДмитрийКанунниковофф

0

Для более новых версий Ubuntu нет, GRUB_HIDDEN_TIMEOUTа есть, GRUB_TIMEOUT_STYLEкоторый установлен hiddenпо умолчанию.

Откройте файл sudo nano /etc/default/grub Измените значение GRUB_TIMEOUT_STYLEс на hiddenна menuи убедитесь, что GRUB_TIMEOUTон не установлен, 0затем запустите

sudo update-grub

Done!!!

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