Я не могу получить меню 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"

Вы имеете в виду, что он загружается на 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.


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.


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. Попытайся. удачи.


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=""

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


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 в моем случае) помогло мне!


0

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

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