Jak przekazywać tryby VGA / VESA za pomocą GRUB2?

11

Jedna z moich maszyn ma konfigurację HD 3 TB do potrójnego rozruchu w Mint 14 (wariant Ubuntu 12.10), Slackware 14.1 i Arch Linux. Format HD jest formatowany przy użyciu systemu GPT / Guid. Grub2 technicznie „należy” do instalacji Linux Mint, ale służy do potrójnego rozruchu wszystkich 3 systemów. Przygotowanie go około 1 roku temu było niezwykle bolesną procedurą i wymagało 2-3 dni zmagania się z nim oraz poprawiania go, aby mógł rozpoznać instalacje Slackware i Arch; zawsze rozpoznał instalację Mint Linux.

Muszę być w stanie przekazać tryby VGA / VESA do Slackware i Arch. Używam Slackware i Arch z wiersza poleceń, dlatego rozdzielczość konsoli i rozmiar czcionki są ważnymi czynnikami.

haziz
źródło
W twojej konfiguracji gruba są linux...linie, dlaczego po prostu nie dołączyć do nich tych, których potrzebujesz?
slm
@slm Próbowałem wcześniej, zanim opublikowałem swoje pytanie, aby dodać vga=askpozycję do wiersza poleceń pliku grub.conf dla Slackware z i bez robienia update-grub2, wciąż nie działało. Zgubiłem również wpis dotyczący archa, update-grub2ale na szczęście dostałem go z powrotem, ponieważ utworzyłem kopię zapasową mojego niezmodyfikowanego pliku grub.conf.
haziz

Odpowiedzi:

20

W GRUB2 preferowaną metodą ustawiania rozdzielczości bufora ramki (na GRUB i jądro) jest edycja /etc/default/grubzawierająca te zmienne:

  • GRUB_GFXMODE ustawia rozdzielczość GRUB
  • GRUB_GFXPAYLOAD_LINUXkontroluje, czy jądro Linuksa zachowa rozdzielczość, a jeśli chcesz, aby jądro Linuksa używało innej rozdzielczości niż GRUB, możesz ustawić tę zmienną w formie widthxheight.

Aby wyświetlić wszystkie tryby, których możesz użyć:

  • hwinfo --framebuffer w terminalu linux
  • vbeinfo w wierszu polecenia GRUB

Przykładowa konfiguracja rozdzielczości bufora ramki

Te linie są wstawiane do /etc/default/grub:

GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep

Aby wygenerować zmiany, uruchom

# grub-mkconfig -o /boot/grub/grub.cfg

Fragment instrukcji GNU GRUB 2.00

‘GRUB_GFXMODE’

Ustaw rozdzielczość używaną na ‘gfxterm’terminalu graficznym. Należy pamiętać, że można używać tylko trybów obsługiwanych przez kartę graficzną za pośrednictwem rozszerzeń VESA BIOS (VBE), dlatego na przykład natywne rozdzielczości paneli LCD mogą być niedostępne. Domyślnie jest to ‘auto’próba wybrania preferowanej rozdzielczości. Zobacz gfxmode .

‘GRUB_GFXPAYLOAD_LINUX’

Ustaw, aby ‘text’zmusić jądro Linuksa do uruchomienia w normalnym trybie tekstowym, ‘keep’aby zachować ustawiony tryb graficzny za pomocą ‘GRUB_GFXMODE’, ‘widthxheight’[ ‘xdepth’], aby ustawić określony tryb graficzny lub ich sekwencję oddzieloną przecinkami lub średnikami, aby wypróbować kilka trybów w sekwencji. Zobacz gfxpayload .

W zależności od jądra, dystrybucji, karty graficznej i fazy księżyca, zauważ, że użycie tej opcji może powodować różne problemy z wyświetlaniem GNU / Linux, szczególnie na początku sekwencji rozruchowej. Jeśli masz problemy, ustaw tę opcję na, ‘text’a GRUB powie Linuksowi, aby uruchomił się w normalnym trybie tekstowym.

Bibliografia

Risto Salminen
źródło
Wygląda na to, że zamiast uruchamiania grub-mkconfig zaleca się uruchomienie update-grub (który uruchamia grub-mkconfig).
Per Lindberg,
Nie mam update-grub ani update-grub2 na mojej instalacji Fedora Server 26. Zamiast tego biegnę sudo grub2-mkconfig -o $(sudo find /boot -name grub.cfg). Jedno polecenie dla systemów EFI i innych niż EFI.
Robpol86,
2

W starszym grub, przekazaliśmy tryb VGA / VESA w linii jądra jak w VGA=1024x768 grub2, to samo można osiągnąć przez linięgfxpayload=1024x768

Śledź więcej informacji tutaj

SHW
źródło