Inhaltsverzeichnis

Linux

Legacy

Befehe/Hilfsprogramme

Befehl Beschreibung
update-grubUnter Debian basierten Distributionen.

Sucht nach Kerneln in /boot und initrd-Images und updated die menu-lst in dem es alle hinzufügt (existierende Einstellungen werden nicht überschrieben).

Parameter

Konfigurationsparameter

Parameter Beschreibung
#koptKernel-Optionen - was hinter kopt angegeben wird, wird automatisch für jeden gefunden Kernel als Kernel-Parameter hinzugefügt.

Das # ist korrekt, die Zeile wird trotzdem interpretiert - es ist da weil nicht grub selbst die Zeiel interpretieren soll, sondern update-grub wenn es die menu-lst neu generiert.

Syntax: #kopt=root=UUID=djada4f5dsf45s3f4s5f4sdfs ro

Oben stehendes Beispiel fügt beim ausführen von update-grub an alle Kernel-Einträge root=root=UUID=djada4f5dsf45s3f4s5f4sdfs ro als Kernel-Parameter an und setzt damit das root-Device.

Ein Eintrag würde dann so aussehen
 linux   /boot/vmlinuz-3.5.0-25-generic root=UUID=djada4f5dsf45s3f4s5f4sdfs ro

Man kann hinter#kopt= beliebige Parameter angeben die dem Kernel mit übergeben werden, üblich ist vor allem das Setzen des root-Devices auf diesem Weg.
Man kann dies auch nur für bestimte Kernel machen (sie die man page von menu-lst).

Es gibt zwei root-Parameter die relevant sind.
#groot definiert wo grub selbst das Kernel-Image sucht - sprich bevor der Kernel gestartet wurde.
#kopt=root= bzw. der daraus eventuell resultierende Kernel-Parameter root= definiert wo der Kernel nach dem Start (des Kernels selbst, das heißt grub ist hier bereits raus) sein root-Dateisystem sucht - die /etc/fstab kann er hier noch nicht nutzen, da die ja selbst auf dem root-Dateisystem liegt

#grootRoot-Device auf dem grub nach dem Kernel-Image suchen soll

Der Parameter setzt global auf welchem Device grub nach dem jeweiligen Kernel-Image und der initrd suchen soll. Der Parameter ist richtig mit # davor, da er nicht durch grub selbst ausgewertet wird, sondern durch update-grub .

Update-Grub schreibt dann in jede „menuentry“ Sektion den Parameter root= dessen Wert #groot entspricht.

Beispiel: #groot=(hd0,0)
Resultiert in:
title           Debian GNU/Linux, kernel 3.2.35
root            (hd0,0)
kernel          /boot/vmlinuz-3.2.35 root=UUID=88af3447-abb9-4b68-9d7d-b7ea11a2bfe2 ro intel_iommu=off panic=10 oops=panic
initrd          /boot/initrd.img-3.2.35

Der root-Parameter wurde entsprechend #groot gesetzt.

Die Angabe erfolgt nach dem Schema groot=(hdFestplattennummer,Partitionsnummer)

  • Festplattennummer → ergibt sich aus der Reihenfolge der Platen wie sie das BIOS sieht, beginnend bei 0 → dierste Platte ist 0, die zweite 1 usw.
  • Partitionsnummer → Die Nummer der Paritition auf der Festplatte (beginnend bei 0) → erste Partition 0, zweite 1 usw.

Es gibt zwei root-Parameter die relevant sind.
#groot definiert wo grub selbst das Kernel-Image sucht - sprich bevor der Kernel gestartet wurde.
#kopt=root= bzw. der daraus eventuell resultierende Kernel-Parameter root= definiert wo der Kernel nach dem Start (des Kernels selbst, das heißt grub ist hier bereits raus) sein root-Dateisystem sucht - die /etc/fstab kann er hier noch nicht nutzen, da die ja selbst auf dem root-Dateisystem liegt

GRUB_HIDDEN_TIMEOUT_QUIETWird das auf „true“ gesetzt erscheint das Menü von Grub nicht mehr.

Statt dessen kommt ein Count-Down innerhalb dessen die Space-Taste gedrückt werden kann und das Menü erscheint.
GRUB_HIDDEN_TIMEOUT= definiert wie viele Sekunden der Countdown läuft
GRUB_HIDDEN_TIMEOUTWenn GRUB_HIDDEN_TIMEOUT_QUIET aktiviert ist, definiert GRUB_HIDDEN_TIMEOUT wie viele Sekunden gewartet wird um Space zu drücken, bevor gebootet wird

Troubleshooting

Gave up waiting for root device

Problem:

Mögliche Ursachen:

Falsche Festplatte/Partition im root-Kernel-Parameter:

Es gibt 2 Möglichkeiten das Problem zu beheben:

Durchprobieren:


UUID ermitteln:

Nach dem Neustart (wenn System gestartet):

Alte Kernel vor 2.6? kennen UUID noch nicht und das vorgehen oben wird scheitern. Es muss dann immer mit dem devicenamen /dev/sdXY gearbeitet werden, anstatt UUID

HowTo

In das Grub Menu kommen wenn es nicht angezeigt wird

Siehe auch