Nie mogę wyświetlić menu GRUB podczas uruchamiania

38

Po próbie (i bez powodzenia) instalacji lepszych sterowników ATI w 11.10, jakoś zgubiłem menu gruba w czasie uruchamiania. Ekran zmienia się w znajomy fioletowy kolor, ale zamiast listy opcji rozruchu jest tylko pusty jednolity kolor, a następnie znika szybko i normalnie uruchamia się do domyślnego wpisu.

Jak mogę odzyskać bootloader? Próbowałem sudo update-grubtakże różnych kombinacji rozdzielczości i głębi kolorów w startupmanageraplikacji bez powodzenia (640x480, 1024x768, 1600x1200, 16 bitów, 8 bitów, 10 sekund opóźnienia, 7 sekund opóźnienia, 2 sekundy opóźnienia ...)

edytować:

Próbowałem już przytrzymać klawisz Shift podczas uruchamiania i wydaje się, że to nie zmienia zachowania. Dostaję komunikat „Ładowanie GRUBA” w terminalu, ale potem w miejscu, w którym normalnie pojawia się menu GRUB, pojawia się na chwilę solidny, pusty ekran karmazynowy.

Oto zawartość /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
źródło
Czy masz na myśli to, że uruchamia się na lightdm lub na pulpit, czy masz na myśli, że nie możesz uruchomić na lightdm? Czy możesz opublikować zawartość pliku/etc/default/grub
fossfreedom
Czy próbowałeś nacisnąć i przytrzymać klawisz Shift tuż przed załadowaniem Ubuntu?
Bruno Pereira,
uruchamia się na lightdm
wim
co się stanie, jeśli zmienisz GRUB_CMDLINE_LINUX na „” i uruchomisz aktualizację-grub?
fossfreedom
@fossfreedom właśnie to wypróbował, nie wydaje się, aby zmieniało to zachowanie
wim

Odpowiedzi:

29

Miałem ten sam problem na laptopie, otrzymując karmazynowy pusty ekran. Oto, co dla mnie zadziałało. Zmieniłam:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

do:

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

A ponieważ nie miałem CRT, zamiast tego zmieniłem:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

do:

GRUB_CMDLINE_LINUX_DEFAULT=""

Potem pobiegł update-grub. Po ponownym uruchomieniu mogłem uzyskać menu, przytrzymując Shiftklawisz.

Bob Lord
źródło
+1, ale mam 12.04 i nie muszę się zmieniać, GRUB_CMDLINE_LINUX_DEFAULTżeby działało. Wydaje mi się, że jest to związane tylko z problemem sterownika graficznego i nie jest potrzebne do wyświetlania menu grub.
laurent
22

Aby wyświetlić menu tylko wtedy, gdy jest to potrzebne

Przytrzymaj SHIFT, gdy zobaczysz ekran ładowania systemu BIOS. Menu GRUB powinno się pojawić.

Zawsze to pokazywać

Uruchom Gedit jako root ( gksu gedit) i otwórz plik /etc/default/grub. Powinno tam być coś takiego:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

Zmień to na:

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

Zapisz go, uruchom sudo update-grubz terminala i uruchom ponownie. Menu GRUB powinno się pojawić.

RobinJ
źródło
3
Wypróbowałem twoją sugestię, ale to nie zmienia problemu - wciąż otrzymuję solidny purpurowy ekran bez tekstu.
wim
1
+1 - ale w moim 12.04 muszę zmodyfikować grub (trwałe rozwiązanie), a menu grub pojawi się tylko wtedy, gdy przytrzymam Shift. Tylko naciśnięcie Shift nie pokazuje menu GRUB.
laurent
17

Żadna z powyższych sugestii nie działała dla mnie. Próbowałem więc „komentować” dwa wpisy. tzn. zmieniłem je z

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

do:

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

Teraz dostaję ekran menu GRUB na 10 sekund.

GRUB_HIDDEN_TIMEOUT kontroluje, czy menu jest wyświetlane. Domyślnym zachowaniem jest ukrycie menu, jeśli obecny jest tylko jeden system operacyjny. Jeśli użytkownik posiadający tylko Ubuntu chce wyświetlić menu, umieść symbol # na początku tego wiersza, aby wyłączyć funkcję ukrytego menu. Aby uzyskać więcej informacji, zobacz stronę pomocy Grub 2 Ubuntu

dejjones
źródło
2
Dzięki, to jest prawdziwa odpowiedź: skomentuj ukryte wiersze, w przeciwnym razie nie będzie działać zgodnie z oczekiwaniami: wymusić pojawienie się menu.
sorin
1
Nawet to mi nie zadziałało :( Teraz nienawidzę gruba.
yPhil
6

Mam podobny problem w Ubuntu 11.10. Dla mnie to tylko czarny ekran z „ładowaniem gruba”.

Ale znalazłem obejście. Mogę wyświetlić menu, aktywując tryb konsoli, odkomentując ten wiersz w /etc/default/grub:

GRUB_TERMINAL=console

Powodzenia!

Philip Stark
źródło
4

Po zmianie

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

odkomentuj linię

#GRUB_GFXMODE=640x480

Po zakończeniu uruchom sudo update-grubi zaktualizuj Grub. Następnie uruchom ponownie komputer, a problem zostanie rozwiązany. Naprawiłem to. Miałem ten problem, gdy korzystałem z monitora CRT. Spróbuj. powodzenia.

Wuby
źródło
1

Żadne z powyższych nie działa dla mnie. Po porównaniu z /etc/default/grubmaszyną wyświetlającą GRUB, odkomentowałem następujące rzeczy:

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

następnie uruchom sudo update-grubi reboot, wyświetli się menu GRUB.

Inne linie to:

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

mam nadzieję, że to ci pomoże.

zhayu
źródło
1

Wszystkie te same sondy tutaj. Nawet po skomentowaniu ukrytych linii i odkomentowaniu konsoli GRUB_TERMINAL =

Dodałem również menu GRUB_TIMEOUT_STYLE = bezskutecznie.

Ale po RTFM tutaj: https://help.ubuntu.com/community/Grub2#Boot_Display_Behavior (przewiń do -> „GRUB vs GRUB2”)

to mówi:

  1. Przytrzymaj (prawy) SHIFT, aby wyświetlić menu podczas uruchamiania. W niektórych przypadkach naciśnięcie klawisza ESC może również wyświetlić menu.

Naciśnięcie ESC raz po powiadomieniu o BIOSie (w moim przypadku F2) załatwiło sprawę!

Jens
źródło
0

Sprawdź, czy nie masz zaznaczonego „starszego portu USB” w BIOS-ie. Jakiś czas temu odznaczyłem to, aby przetestować IRQ USB i zapomniałem o tym. Potem nie miałem sposobu, aby uzyskać dostęp do menu grub (chociaż F2 nadal działało, aby uzyskać dostęp do wspomnianego systemu BIOS).

yPhil
źródło