Я не могу получить меню Grub, которое будет отображаться во время загрузки

38

После попытки (и неуспешной) установки лучших драйверов ATI в 11.10 я как-то потерял свое меню grub во время загрузки. Экран изменится на знакомый фиолетовый цвет, но вместо списка параметров загрузки он будет просто пустым сплошным цветом, а затем быстро исчезнет и загрузится в запись по умолчанию в обычном режиме.

Как вернуть загрузчик обратно? Я пытался, sudo update-grubа также различные комбинации разрешений и глубины цвета в startupmanagerприложении безуспешно (640x480, 1024x768, 1600x1200, 16 бит, 8 бит, 10 секунд задержки, 7 секунд задержки, 2 секунды задержки ...)

редактировать:

Я уже пытался удерживать Shift во время загрузки, и это, похоже, не меняет поведение. Я получаю сообщение «Загрузка GRUB» в терминале, но затем в том месте, где обычно появляется меню grub, я на некоторое время получаю чистый пустой пурпурный экран.

Вот содержимое /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

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=" vga=798 splash"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Wim
источник
Вы имеете в виду, что он загружается на lightdm или на ваш рабочий стол, или вы имеете в виду, что вы не можете загрузить на lightdm? Можете ли вы опубликовать содержимое файла/etc/default/grub
fossfreedom
Вы пытались нажать и удерживать клавишу Shift прямо перед загрузкой Ubuntu?
Бруно Перейра
он загружается на lightdm
wim
что произойдет, если вы измените GRUB_CMDLINE_LINUX на "" и запустите update-grub?
fossfreedom
@fossfreedom только что попробовал, похоже, это совсем не меняет поведение
wim

Ответы:

29

У меня была такая же проблема на моем ноутбуке, с пурпурным пустым экраном. Вот что сработало для меня. Я изменил:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

чтобы:

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

И поскольку у меня не было ЭЛТ, я изменил:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

чтобы:

GRUB_CMDLINE_LINUX_DEFAULT=""

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

Боб Лорд
источник
+1 но я на 12.04 и мне не нужно менять, GRUB_CMDLINE_LINUX_DEFAULTчтобы это работало. Я предполагаю, что это связано только с проблемой графического драйвера и не требуется для отображения меню grub.
Лоран
22

Показывать меню только тогда, когда оно вам нужно

Удерживайте SHIFT, когда увидите экран загрузки BIOS. Должно появиться меню GRUB.

Чтобы всегда показывать это

Запустите Gedit от имени root ( gksu gedit) и откройте файл /etc/default/grub. Там должно быть что-то вроде этого:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

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

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

Сохраните его, запустите sudo update-grubиз терминала и перезагрузите компьютер. Должно появиться меню GRUB.

RobinJ
источник
3
Я попробовал ваше предложение, но оно не меняет проблему - я все еще получаю твердый пурпурный экран без текста.
Вим
1
+1 - но на моем 12.04 мне нужно изменить grub (постоянное решение), и меню grub появляется, только если я удерживаю Shift. Только нажатие Shift не показывает меню Grub.
Лоран
17

Ни одно из вышеперечисленных предложений не помогло мне. Поэтому я попытался «комментировать» две записи. т.е. я их поменял с

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

чтобы:

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

Теперь я получаю экран меню Grub на 10 секунд.

GRUB_HIDDEN_TIMEOUT определяет, будет ли отображаться меню. Поведение по умолчанию - скрывать меню, если присутствует только одна операционная система. Если пользователь только с Ubuntu желает отобразить меню, поместите символ # в начале этой строки, чтобы отключить функцию скрытого меню. Для получения дополнительной информации см. Страницу справки Grub 2 Ubuntu.

dejjones
источник
2
Спасибо, это реальный ответ: закомментируйте скрытые строки, иначе это не будет работать так, как нужно: заставить меню появиться.
сорин
1
Даже это не работает для меня :( Я просто ненавижу личинку прямо сейчас.
yPhil
6

У меня похожая проблема в Ubuntu 11.10. Для меня это просто черный экран с "загрузкой grub".

Но я нашел обходной путь. Я могу получить меню для отображения, активировав режим консоли, раскомментировав эту строку в /etc/default/grub:

GRUB_TERMINAL=console

Удачи!

Филип Старк
источник
4

После изменения

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

раскомментируйте строку

#GRUB_GFXMODE=640x480

Как только это будет сделано, запустите sudo update-grubи обновите Grub. Затем перезагрузите компьютер, и проблема будет устранена. Я это исправил. У меня была эта проблема, когда я использовал монитор CRT. Попытайся. удачи.

Wuby
источник
1

Ничто из вышеперечисленного не работает для меня. После сравнения с /etc/default/grubмашиной, которая показывает GRUB, я прокомментировал следующее:

GRUB_TERMINAL=serial    
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --stop=1"

затем запустите sudo update-grubи reboot, появится меню GRUB.

Другие строки:

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

надеюсь, это поможет вам.

zhayu
источник
1

Все те же пробники здесь. Даже после комментирования скрытых строк и раскомментирования GRUB_TERMINAL = console

Я также добавил GRUB_TIMEOUT_STYLE = меню безрезультатно.

Но после RTFM здесь: https://help.ubuntu.com/community/Grub2#Boot_Display_Behavior (выделите -> «GRUB vs GRUB2»)

это говорит:

  1. Удерживайте нажатой (вправо) SHIFT, чтобы отобразить меню во время загрузки. В некоторых случаях нажатие клавиши ESC также может отображать меню.

Нажатие ESC один раз после уведомления BIOS (F2 в моем случае) помогло мне!

Jens
источник
0

Проверьте, не установлен ли «устаревший USB» в BIOS. Некоторое время назад я отключил его для тестирования USB IRQ и забыл об этом. Тогда у меня не было никакого способа получить доступ к меню grub (хотя F2 все еще работал для доступа к указанному BIOS).

yPhil
источник