GRUB2: Używać maksymalnej wykrytej rozdzielczości?

32

Jak mam powiedzieć GRUB2, aby ustawił rozdzielczość (a także tę przekazywaną do jądra) na maksymalną, którą może wykryć podczas uruchamiania ?

Mehrdad
źródło
2
@severin: Nie, nie ma. To mówi mi tylko, jak ustawić konkretną rozdzielczość, którą mogę znaleźć, a nie maksymalną, którą wykrywa podczas uruchamiania .
Mehrdad
„Vbeinfo” powie ci maksymalną obsługiwaną rozdzielczość. Następnie możesz edytować / etc / default / grub, aby użyć tej rozdzielczości.
martin
3
@severin: Nadal nie rozumiesz pytania !! :( Chcę automatycznego wykrywania, a nie ręcznego wykrywania.
Mehrdad,
2
@AmithKK: Uh, tak? Mam zmienne rozdzielczości ...
Mehrdad

Odpowiedzi:

50

Przypuszczam, że pytasz o to, ponieważ używasz różnych monitorów na tym samym komputerze Ubuntu i chcesz, aby GRUB2 dobrze wyglądał na wszystkich z nich. Jeśli jednak obawiasz się rozdzielczości używanej po uruchomieniu Ubuntu, to nie rozwiązuje tego problemu . GRUB2 nie „przekazuje do jądra” w rozdzielczości wybranej dla menu rozruchu.

Edytuj /etc/default/grubjako root. Możesz najpierw wykonać kopię zapasową:

sudo cp /etc/default/grub /etc/default/grub.old

(Uruchomiłbyś to w Terminalu, który możesz otworzyć, naciskając Ctrl+ Alt+ T.)

Aby edytować go za pomocą Gedit jako rooturuchom:

gksu gedit /etc/default/grub

(Lub jeśli używasz Kubuntu, uruchom kdesudo kate /etc/default/grubzamiast tego.)

Dostaniesz wiele wiadomości w Terminalu, jeśli uruchomisz to polecenie w Terminalu zamiast z Alt+ F2. Zauważysz, że nie mówią, że dotyczą pliku, który edytujesz, więc nie ma sprawy.

Przekonasz się, że w części pliku jest coś takiego:

# 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

Odkomentuj (tj. Usuń wiodące #z) linii, która mówi GRUB_GFXMODE, i zmień rozdzielczość z 640x480na auto. Linia powinna teraz brzmieć:

GRUB_GFXMODE=auto

Zapisz plik i zamknij edytor. W terminalu uruchom:

sudo update-grub

(Należy to uruchomić po każdej modyfikacji /etc/default/grub, aby zastosować zmiany).

Teraz uruchom ponownie i sprawdź, czy to robi to, co chcesz.

Może nie (ponieważ używa „domyślnej platformy”, która może nie być najwyższa z możliwych). W takim przypadku edytuj /etc/default/grubponownie, a tym razem zmień wiersz, aby napisał coś w stylu:

GRUB_GFXMODE=1600x1200,1280x1024,1024x768,800x600,640x480

Niekoniecznie będziesz chciał użyć dokładnie tej linii. Powinieneś wymienić wszystkie rozdzielczości, które chcesz wypróbować, w kolejności, w jakiej chcesz, aby zostały wypróbowane. Wymienione przeze mnie rozdzielczości są najbardziej standardowymi rozdzielczościami dla monitorów o współczynniku proporcji 4: 3, ale monitory panoramiczne (w tym obecnie większość ekranów laptopów) mają różne kształty i używają różnych rozdzielczości. Wikipedia ma listę wspólnych rozwiązań, które mogą ci pomóc. Jeśli znasz konkretne rozdzielczości, które chcesz dla każdego urządzenia, możesz je po prostu wymienić (najpierw najwyższa). Prawdopodobnie powinieneś dołączyć 640x480lub autona końcu. Polecam to, ponieważ nie wiem, czy GRUB2 zawsze spróbuje uzyskać bezpieczną niską rozdzielczość, jeśli tego nie uwzględnisz.

Następnie zapisz plik ponownie, uruchom sudo update-grubponownie, uruchom ponownie, i sprawdź, czy to wystarczy.

Jeśli nie, możesz mieć pecha. GRUB2 nie wyświetla wideo w taki sam sposób jak Ubuntu po uruchomieniu. GRUB2 korzysta z rozszerzeń VESA BIOS, aby wyświetlić menu rozruchu ze zwiększoną rozdzielczością (i głębią kolorów), a maksymalna rozdzielczość maszyny przez VBE nie zawsze jest tak wysoka, jak maksymalna rozdzielczość obsługiwana przez kartę wideo i monitor.

Źródło: oficjalna dokumentacja Grub2 . (Zauważysz, że numer wersji to 1.99 . Nadal jest GRUB2. Trochę zagmatwany, ale prawdziwy.)

[Na koniec dziękuję TechZilli za wskazanie poważnego błędu w oryginalnej wersji tej odpowiedzi.]

Eliah Kagan
źródło
+1 zdecydowanie realne rozwiązanie, nawet jeśli nie jest idealne. Dzięki za szczegółową odpowiedź, jest bardzo dobrze napisana!
Mehrdad
2
Również tylko FYI, GRUB_GFXMODE=autoprawie zawsze uzyskuje najlepszą możliwą rozdzielczość za pośrednictwem VESA. Rozdzielczość szerokoekranowa VESA nie jest ustandaryzowana i nigdy nie udało mi się uzyskać żadnej z Grub2. Słyszałem, że jest to możliwe, jeśli korzystam z układu Intel GFX i częściowo skomplikowanych poprawek VESA. AFAIK nie jest to możliwe w przypadku układów GFX innych niż Intel. ... także powinieneś dodać +1 do mojego komentarza, jeśli był celowy. : P
JM Becker
1
@ Mehrdad Daj nagrodę za tę odpowiedź. To jest tak blisko, jak masz zamiar dostać AFAIK: D
Amith KK
@AmithKK: Najprawdopodobniej tak zrobię, choć myślę, że poczekam tylko chwilę i pozwolę innym ludziom przynajmniej przeczytać pytanie, zanim przyznam je haha. :)
Mehrdad
12

Dostępna jest również opcja GUI.

Grub Customizer:

Grub Customizer pozwala edytować, zmieniać nazwę, zmieniać kolejność lub zamrażać wpisy Grub. Umożliwia także zmianę kolorów tła menu Grub lub dodanie niestandardowego obrazu i obsługuje również dostosowywanie BURG. Możesz również użyć Grub Customizer ze środowiska Live CD / USB, aby naprawić problemy z uruchamianiem.

Instalacja:

Naciśnij Alt+ Ctrl+, Taby otworzyć terminal i uruchomić następujące polecenia:

sudo add-apt-repository ppa: danielrichter2007 / grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

Jak używać:

Po zainstalowaniu naciśnij Alt+ F2, wpisz grub-customizeri naciśnij Enter.

Uwierzytelnij się, podając hasło użytkownika.

Po otwarciu kliknij na Preferencespasku narzędzi.

wprowadź opis zdjęcia tutaj

W Appearancezakładce włącz custom resolutioni wpisz autow polu tekstowym.

wprowadź opis zdjęcia tutaj

Ewentualnie w Advancedzakładce włącz GRUB_GFXMODEi wpisz autopole tekstowe przed nim. Możesz także określić rozdzielczość jako sekwencję jednego lub więcej trybów, oddzielonych przecinkami (',') lub średnikami (';'); każdy będzie kolejno wypróbowywany, dopóki nie zostanie znaleziony. Na przykład:

1440x900,1680x1050,1920x1200,2560x1600

Lub określone z głębokością (8, 16 lub 24):

1440x900x16,1680x1050x16,1920x1200x16,2560x1600x16

wprowadź opis zdjęcia tutaj

Zamknij Preferencesokno dialogowe i kliknij przycisk Zapisz na pasku narzędzi okna głównego. To jest to!

wprowadź opis zdjęcia tutaj

Aby usunąć Grub Customizer, uruchom następujące polecenia w terminalu:

sudo apt-get autorove --purge grub-customizer
sudo add-apt-repository -r ppa: danielrichter2007 / grub-customizer
sudo apt-get update
Basharat Sialvi
źródło