Wie bestehen Sie VGA / VESA-Modi mit GRUB2?


11

Einer meiner Computer verfügt über ein 3-TB-HD-Setup zum dreifachen Booten von Mint 14 (Ubuntu 12.10-Variante), Slackware 14.1 und Arch Linux. Die Festplatte wird mit dem GPT / Guid-System formatiert. Der Grub2 "gehört" technisch zur Linux Mint-Installation, wird jedoch zum dreifachen Booten aller drei Systeme verwendet. Das Einrichten vor ungefähr einem Jahr war eine äußerst schmerzhafte Prozedur und erforderte 2-3 Tage, um damit zu ringen und es zu optimieren, damit es die Slackware- und Arch-Installationen erkennen konnte. Die Installation von Mint Linux war immer leicht zu erkennen.

Ich muss in der Lage sein, VGA / VESA-Modi an Slackware und Arch zu übergeben. Ich verwende Slackware und Arch über die Befehlszeile und daher sind die Konsolenauflösung und die Schriftgröße wichtige Faktoren.


In Ihrer Grub-Konfiguration befinden sich die linux...Zeilen. Fügen Sie diesen Zeilen einfach das hinzu, was Sie benötigen.
slm

@slm Ich habe vor dem Posten meiner Frage versucht, einen vga=askEintrag in die Befehlszeile der Datei grub.conf für Slackware mit und ohne ein hinzuzufügen update-grub2, aber es hat immer noch nicht funktioniert. Ich habe auch meinen Eintrag für arch mit dem verloren, update-grub2aber zum Glück habe ich meinen Eintrag für arch zurückbekommen, da ich meine unveränderte grub.conf-Datei gesichert hatte.
Haziz

Antworten:


19

In GRUB2 besteht die bevorzugte Methode zum Festlegen der Framebuffer-Auflösung (für GRUB und den Kernel) darin, /etc/default/grubdiese Variablen so zu bearbeiten , dass sie Folgendes enthalten:

  • GRUB_GFXMODE legt die Auflösung von GRUB fest
  • GRUB_GFXPAYLOAD_LINUXSteuert, ob der Linux-Kernel die Auflösung beibehält. Wenn der Linux-Kernel eine andere Auflösung als GRUB verwenden soll, können Sie ihn mit dieser Variablen in Form festlegen widthxheight.

So zeigen Sie alle Modi an:

  • hwinfo --framebuffer im Linux-Terminal
  • vbeinfo in der GRUB-Eingabeaufforderung

Beispielkonfiguration der Framebuffer-Auflösung

Diese Zeilen werden eingefügt in /etc/default/grub:

GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep

Führen Sie aus, um die Änderungen zu generieren

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

Auszug aus dem GNU GRUB Handbuch 2.00

‘GRUB_GFXMODE’

Stellen Sie die am Grafikterminal verwendete Auflösung ein ‘gfxterm’. Beachten Sie, dass Sie nur Modi verwenden können, die Ihre Grafikkarte über VESA BIOS Extensions (VBE) unterstützt, sodass beispielsweise native LCD-Bildschirmauflösungen möglicherweise nicht verfügbar sind. Die Standardeinstellung ist ‘auto’, mit der versucht wird, eine bevorzugte Auflösung auszuwählen. Siehe gfxmode .

‘GRUB_GFXPAYLOAD_LINUX’

Auf ‘text’den Linux - Kernel zu booten in normalen Text - Modus zu zwingen, ‘keep’den Grafikmodus Satz verwendet zu bewahren ‘GRUB_GFXMODE’, ‘widthxheight’[ ‘xdepth’] eine bestimmte Grafikmodus zu setzen, oder eine Folge davon getrennt durch Komma oder Semikolon mehr Modi in Folge zu versuchen. Siehe gfxpayload .

Beachten Sie, dass abhängig von Ihrem Kernel, Ihrer Distribution, Ihrer Grafikkarte und der Mondphase die Verwendung dieser Option dazu führen kann, dass GNU / Linux unter verschiedenen Anzeigeproblemen leidet, insbesondere zu Beginn der Startsequenz. Wenn Sie Probleme haben, setzen Sie diese Option auf ‘text’und GRUB weist Linux an, im normalen Textmodus zu starten.

Verweise


Es scheint, dass anstelle von grub-mkconfig empfohlen wird, update-grub (das grub-mkconfig ausführt) auszuführen.
Per Lindberg

Ich habe kein Update-Grub oder Update-Grub2 in meiner Fedora Server 26-Installation. Stattdessen renne ich sudo grub2-mkconfig -o $(sudo find /boot -name grub.cfg). Ein Befehl für EFI- und Nicht-EFI-Systeme.
Robpol86

2

In Legacy-Grub haben wir den VGA / VESA-Modus in der Kernel-Zeile wie VGA=1024x768 in Grub2 übergeben. Dies kann auch in der Zeile erreicht werdengfxpayload=1024x768

Folgen Sie weiteren Informationen hier

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.