ubuntuusers.de

ubuntuusers.deWikiGRUB 2Thema

Thema

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Editor - einen Editor öffnen

  2. Terminal - ein Terminal öffnen

  3. Pakete installieren - Pakete installieren

Achtung!

Wiki/Icons/develop.png GRUB 2 ist zur Zeit noch in der Entwicklung. Hinweise auf tatsächliche Gegebenheiten können daher noch fehlen bzw. nach einem Update nicht mehr zutreffen. Den Autoren bekannte Abweichungen zwischen den einzelnen Versionen

sind gekennzeichnet und wenn erforderlich, auch beschrieben.

Der Bootloader GRUB 2 kann auch im graphischen Modus arbeiten. Dadurch ist es möglich, einerseits die Schriftgröße einzustellen als auch das Boot-Menü mit einem Hintergrundbild zu hinterlegen. Dazu müssen aber vorab die technischen Gegebenheiten abgeklärt werden.

Schriftgröße festlegen

In GRUB 2 ist der Grafikmodus per Voreinstellung bereits mit einer Auflösung von 640x480 festgelegt. Dieses kann man seinen eigenen Ansprüchen anpassen. Eine Voraussetzung, damit der graphische Modus funktioniert, ist dass das Fontverzeichnis von GRUB 2 (/usr/share/grub/) zur Bootzeit von GRUB 2 lesbar ist, also nicht beispielsweise auf einer verschlüsselten Partition liegen darf.

Achtung!

Es dürfen nur Auflösungen eingetragen werden, die die Grafikkarte und der Monitor auch im VBE-Modus beherrschen, um Schäden am Gerät zu vermeiden.

VBE-Modi ermitteln

Hierzu muss man gegebenenfalls im Handbuch der Grafikkarte bzw. des Monitors nachschauen oder eine der nachfolgend beschriebenen Methoden nutzen.

Anzeige im Terminal

Man installiert [3] das Paket

  • hwinfo (universe)

Wiki/Vorlagen/Installbutton/button.png

und lässt sich im Terminal [2] die relevanten Informationen anzeigen mit

sudo hwinfo --framebuffer 

Man erhält eine mehr oder weniger lange Liste, die je Zeile u.a. folgende Werte enthält:

Ausgabe von hwinfo
0x0322 800 x 600 x 24 bits
0x0324 1280 x 1024 x 24 bits

Anzeige im GRUB Menü

Man startet das System neu und wechselt im Auswahlmenü des Bootloaders mit einem Druck auf die Taste C in die GRUB-Konsole und gibt folgenden Befehl am Prompt (grub> _ ) ein:

vbeinfo 

Man erhält eine mehr oder weniger lange Liste, die je Zeile u.a. folgende Werte enthält:

Ausgabe von vbeinfo
0x123 800 x 600 x 24 Direct, mask: 8/8/8/0 pos: 16/8/0/0
0x11b 1280 x 1024 x 24 Direct, mask: 8/8/8/0 pos: 16/8/0/0

Mit der Esc-Taste gelangt man wieder in das normale Auswahlmenü des Bootloaders.

Auswertung der Anzeige

Verwendbar sind im Prinzip alle Zeilen - nur die Vorauswahl sollte nach bestimmten Kriterien erfolgen. Die ausgegebenen und hier relevanten (hier beispielhaften) Werte aus dem zweiten Feld bedeuten dabei:

Position Wert Bedeutung
2-1 800 Breite in Pixel
2-2 600 Höhe in Pixel
2-3 24 Farbtiefe

Als grobe Richtlinie gilt (Höhe in Pixel) 600 / 16 = ca. 37 Zeilen, entsprechend ergibt eine größere Pixelzahl eine kleinere Schrift bzw. umgekehrt.

Hinweis:

Wie schon aus den Beispielen ersichtlich, ergeben sich bei den Werten der vorderen Spalte Unterschiede - GRUB kann mit diesen Werten (HEX-CODE) nicht korrekt umgehen - deshalb dürfen nur die Werte der zweiten Spalte (Pixel-Werte) für GRUB_GFXMODE verwendet werden.

Auflösung festlegen

Die Auflösung (Schriftgröße) im Grub-Menü wird in der Datei /etc/default/grub festgelegt. Dazu öffnet man die Datei mit einem Editor mit Root-Rechten [1] und ersetzt die Zeile mit GRUB_GFXMODE=640x480 und passt die Auflösung des Monitors mit den zuvor ermittelten VBE-Wert (nachfolgend beispielhafte Werte) an mit den

Einstellungen in der /etc/default/grub
GRUB_GFXMODE=800x600x24
GRUB_GFXPAYLOAD_LINUX=keep

Eine zur Erstausgabe beim Grub-Menü abweichenden Schriftgröße erreicht man (hier beispielhaft) mit der

Einstellung in der /etc/default/grub
GRUB_GFXPAYLOAD_LINUX=1280x1024x24

Wiki/Icons/develop.png Ergänzung ab Natty Narwhal
Gibt es Probleme mit der Darstellung nach dem Start (schwarzer bzw. verzerrter Bildschirm), so sollte man mit der

Einstellung in der /etc/default/grub
GRUB_GFXPAYLOAD_LINUX=text

den Zugriff auf eine interne "blacklist" problematischer Grafikkarten aktivieren.

Hinweis:

Es müssen alle drei Werte gesetzt werden: Bildbreite, Bildhöhe und Farbtiefe.

Wiki/Icons/develop.png Die Einstellungen zu GRUB_GFXPAYLOAD_LINUX= werden von den Start-Routinen sehr früh mit den höchsten Monitorwerten / Auflösungen (kleinste Schrift) überschrieben. Es bedarf tieferer Eingriffe ins System, wenn man seine Vorgaben beibehalten will.

GRUB 2 mit Hintergrundbild

Die Daten für ein Hintergrundbild sind bereits vorgegeben, jedoch existiert dieses Bild nicht, so dass GRUB 2 auf das Standard-Menü ohne Hintergrundbild zurückfällt. Das Bild darf in einem der Formate .jpg, .png oder .tga vorliegen, als Speicherort ist dafür standardmäßig /boot/grub oder /usr/share/images/desktop-base vorgegeben und der Name wurde als moreblue-orbit-grub.png oder moreblue-orbit-grub.tga festgelegt.

Hintergrundbild bis Maverick

Es ist aber sehr einfach, ein eigenes Bild für den Hintergrund einzubringen und eine dazu passende Schriftfarbe zu setzen. Man kann nun einerseits die Datei /etc/grub.d/05_debian_theme direkt bearbeiten, was aber nicht zu empfehlen ist, da nach jedem Update diese Veränderungen wieder überschrieben werden (könnten).

Statt einer Veränderung an der Datei /etc/grub.d/05_debian_theme sollte man das folgende Skript benutzen, nach einer Anpassung an die eigenen Bedürfnisse grub_background.sh benennen und im Verzeichnis /usr/share/desktop-base abspeichern. Das Verzeichnis muss dabei (einmalig) im Terminal [2] mit angelegt werden:

sudo chmod +x /Pfad_zu/grub_background.sh
sudo mkdir /usr/share/desktop-base
sudo cp -f /Pfad_zu/grub_background.sh /usr/share/desktop-base/ 

Skript Debian-Theme

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#! /bin/sh -e
# Bezeichnung des Skriptes = 'grub_background.sh'

if [ "${GRUB_BACKGROUND}" ] ; then
   echo "Eigene Daten für 05_debian_theme eingesetzt" >&2
   [ "${GRUB_COLOR_NORMAL}" ] && COLOR_NORMAL="${GRUB_COLOR_NORMAL}"
   [ "${GRUB_COLOR_HIGHLIGHT}" ] && COLOR_HIGHLIGHT="${GRUB_COLOR_HIGHLIGHT}"
   WALLPAPER=/usr/share/desktop-base/"${GRUB_BACKGROUND}"
else
   WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"
   COLOR_NORMAL="black/black"
   COLOR_HIGHLIGHT="magenta/black"
fi

Nun müssen nur noch die

Einstellungen in der /etc/default/grub
export GRUB_BACKGROUND="Sonnenaufgang.jpg"
export GRUB_COLOR_NORMAL="dark-gray/black"
export GRUB_COLOR_HIGHLIGHT="light-gray/black"

mit einem Editor mit Root-Rechten [1] an die eigenen Gegebenheiten angepasst werden. Das Hintergrundbild kann in einem Verzeichnis eigener Wahl (wie beispielhaft in Zeile 8 im obigen Skript festgelegt) als auch in /boot/grub abgelegt werden.

Hintergrundbild ab Natty

Wiki/Icons/develop.png Ab Natty Narwhal ist der Umweg über die Datei grub_background.sh nicht mehr zwingend erforderlich, es reicht, die drei

Einträge in der /etc/default/grub
export WALLPAPER="/usr/share/backgrounds/Sonnenaufgang.jpg"
export COLOR_NORMAL="dark-gray/black"
export COLOR_HIGHLIGHT="light-gray/black"

zu setzen. Die Variable für ein Hintergrundbild muss dann als WALLPAPER gesetzt werden. Der Eintrag muss einschließlich Pfadangabe erfolgen. Dieser Pfad muss für GRUB zu erreichen sein. Die Variablen für die Schriftfarbe sind, wie im Beispiel vorgegeben, gleichfalls festgelegt.

Hinweis:

Will man nur die Schriftfarbe ohne Hintergrundbild setzen, so muss man das Skript grub_background.sh benutzen.

Auflösung des Bildes

Das Hintergrundbild eigener Wahl kann in einer beliebigen Auflösung vorliegen, GRUB 2 kann das Bild selbstständig skalieren.

Es sollte das Seitenverhältnis des Bildes dem des Monitors entsprechen, um Verzerrungen zu vermeiden. Um die Ladezeit zu verringern, ist aber eine Anpassung der Auflösung des Bildes an den Monitor zu empfehlen. Dieses ist mit einem Bildbearbeitungs-Programm nach Wahl einfach einzustellen.

Experten-Info:

Um für den eigenen Monitor das passende Bildformat zu erhalten, kann es erforderlich sein, das Ausgangsbild zu entzerren. Typisches Beispiel ist die Ausgabe bei vbeinfo = 1024x768 und einer Monitor Auflösung = 1280x800.

Dazu muss man das Bild mit den Abmessungen 1280x800 Pixel mit einem Bildbearbeitungs-Programm laden und – idealerweise unter Beibehaltung der Proportionen – auf die Werte 1024x768 Pixel skalieren und abspeichern.

Schriftfarbe anpassen

Die Schriftfarbe für ein Menü ohne Hintergrundbild stellt sich in der Voreinstellung so dar:

Ubuntu, with Linux 2.6.32-16-generic
Ubuntu, with Linux 2.6.32-16-generic (recovery mode)

Die obere, ausgewählte Zeile setzt schwarze Schrift (black) auf hellem Grund (light-gray) ein. Die nicht ausgewählte Zeile dagegen weiße Schrift (white) auf schwarzen Grund (black) ein, eine Übersicht der verfügbaren Farben ist hier dargestellt.

Die Schriftfarbe für ein Menü mit Hintergrundbild ist in der Voreinstellung magenta (ausgewählt) bzw. schwarz (nicht gewählt) auf schwarzen (= transparentem) Hintergrund und stellt sich so dar:

Ubuntu, with Linux 2.6.32-16-generic
Ubuntu, with Linux 2.6.32-16-generic (recovery mode)

(Hier im Beispiel wurde die Farbe invertiert!) Sollte das gewählte Hintergrundbild eher dunkel sein, so sind diese Farben schlecht bis gar nicht lesbar und können nun einfach in der Datei /etc/default/grub entsprechend der Farbtabelle so angepasst werden, dass diese gut lesbar bzw. sich harmonisch in das Hintergrundbild einpassen.

Farbtabelle

Für das Grub-Menü sind die nachfolgende Farben einsetzbar - es muss die im jeweiligen Feld angegebene Bezeichnung der Farbe verwendet werden.

Verfügbare Farben für das GRUB 2 Auswahlmenü
white blue magenta cyan
light-gray yellow red light-magenta
dark-gray green light-blue light-red
black light-cyan light-green brown

Hintergrundbild deaktivieren

Möchte man wieder ein Bootmenü ohne Hintergrundbild haben, so entfernt man das eigene Bild einfach wieder aus der Datei /etc/default/grub oder kommentiert die relevante Zeile mit der Raute # aus. So wird kein Bild gefunden und GRUB fällt wieder auf das Standardmenü zurück.

Hintergrundfarbe ändern

Möchte man lediglich die Hintergrundfarbe ändern, so editiert man /lib/plymouth/themes/default.grub und ändert den Wert hinter background_color entsprechend. Für Schwarz beispielsweise

if background_color 0,0,0; then
  clear
fi 

Änderungen aktivieren

Hat man alle notwendigen Änderungen gemacht, so muss man diese noch in die Datei /boot/grub/grub.cfg übertragen. Diese geschieht durch den Befehl [2]

sudo update-grub 

Wenn man dabei eine Meldung wie

Found background image: Mein_Hintergrund.jpg

bekommt, dann sollte nach dem nächsten Neustart des System das Hintergrund zu sehen sein.

Diese Revision wurde am 13. Mai 2012 16:34 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Bootloader, System

Passwort vergessen?