Benutzer-Werkzeuge

Webseiten-Werkzeuge


grub

Dies ist eine alte Version des Dokuments!


Legacy

  • Konfigurationsdatei: /boot/grub/menu.lst

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

Troubleshooting

Gave up waiting for root device

grub.1435909764.txt.gz · Zuletzt geändert: 2015/07/03 09:49 von root