Grub

Ein Bootloader ist ein Programm, dass nach ladbaren Komponenten zum Start eines Systems sucht. Dies geschieht, bevor das Betriebssystem geladen wird.  Sehr bekannt und beliebt (auch meinerseits) ist der GRUB-Bootloader. Er kann über eine CD gestartet werden oder in den MBR (Master Boot Record) installiert werden. Ich empfehle vor der Installation in den MBR ein Booten von CD zu testen.

 

Starten mit Hilfe der Kommandozeile

GRUB 2 bietet die Kommandozeile dem Benutzer alle für den Systemstart wichtigen Befehle. Die Befehle, die man in der Kommandozeile einzeln, nacheinander eingeben muss sind die selben, wie sie auch in der Konfigurationsdatei verwendet werden. Nach dem Booten der SuperGrub – CD finden Sie in der Auswahl die Option: Boot manually. Damit kann die Kommandozeile von Grub aufgerufen werden.

Da die Eingaben in der Kommandozeile aber nicht dauerhaft gelten, sondern nur einmalig für den entsprechenden Systemstart(versuch), kann man sich auf die nötigsten Angaben beschränken. Anders als bei einer Konfigurationsdatei die einmalig erstellt wird, müssen die Befehle nicht so gestaltet werden, dass sie spätere Veränderungen am System von vornherein berücksichtigen.

Der Systemstart aus der Kommandozeile erfolgt nach foglendem Schema:

  • Zunächst muss GRUB mitgeteilt werden, auf welchen Datenträger sich die Startdateien des zu startenden Betriebssystems befinden. Diese Angabe wird der Variablen root zugewiesen.
  • Danach gibt man den genauen Pfad zu den Startdateien des Betriebssystems an. Sofern GRUB diese nicht direkt laden kann – wie es z.B. für Windows der Fall ist – fordert man GRUB einfach auf, den ersten Sektor des zuvor festgelegten Startdatenträgers zu laden. Dieser Sektor enthält dann das Boot-Programm, des fremden Betriebssystems.
  • Abschließend weißt man GRUB durch den Befehl boot an, das System mit den zuvor festgelegten Angaben zu starten.

Tipp: In Grub funktioniert auch „Tab“ zur Dateinamenexpansion, d.h. man kann sich bis zu der richtigen Datei „durchhangeln“, ohne den exakten Namen zu wissen.

In der Grub Kommandozentrale ist die englische Tastatur aktiv. Hier gibt es eine Übersicht der Unterschiede:

Beispiel: Linux über die GRUB Konsole starten

(bitte beachten: das Beispiel ist für den genkernel)
Es müssen der Reihe nach die folgenden Befehle eingegeben werden Die Variablen sind die Platte (hd) und Partition. Diese müssen dem eigenen System entsprechend ersetzt werden.

  1. Start-Datenträger festlegen:
    set root=(hd0,1)
  2. Falls der Home-Ordner auf eine eigene Partition ausgelagert ist muss dieses eingebunden werden:
    set home=(hd0,1)

  3. Pfad zu den Startdateien angeben:
    linux /boot/kernel/genkernel-xx  root=/dev/sdXY

    sdXY muss dabei natürlich auch auf das eigene System angepasst werden.

  4. Pfad zur Ramdisk:
    initrd /boot/initramfs
  5. System starten:
    boot

 

Beispiel: Windows starten

Um ein MS-Windows zu booten muss zusätzlich das Packet sys-fs/ntfs3g installiert sein.

 

Die folgenden Kommandos müssen der Reihe nach eingegeben werden:

    1. Startdatenträger festlegen:
      set root=(sdX,Y)

      sdX,Y muss dem eigenen System entsprechend ersetzt werden.

    2. Den ersten Sektor des Startdatenträgers laden lassen:
      chainloader +1
    3. System starten:
      boot

       

Über den OS-Prober kann geschaut werden, welche Betriebssysteme erkannt werden. Dieses Paket muss nachinstalliert werden. Es ist standardmaäßig nicht installiert

Es erscheint nur ein Eingabepromt mit blinkendem Cursor?
In diesem Fall ist die Konfigurationsdatei grub.cfg nicht gefunden oder nicht korrekt konfiguriert. Zum Beispiel:

  • Die Datei ist gar nicht vorhanden.
  • Die Datei ist vorhanden, aber beschädigt.
  • Die Datei enthält grobe syntaktische Fehler, so dass GRUB 2 die Verarbeitung abbricht.
  • Die Datei grub.cfg ist zwar vorhanden, wird von GRUB 2 aber nicht gefunden, weil die GRUB-2-Umgebungsvariable prefix auf ein nicht gültiges Verzeichnis /grub verweist.

Die Grub-Datei kann manuell über grub-mkconfig neu erstellt werden. Die Installation von Grub erfolgt über grub-install /dev/sdx . Der MbR ist die erste Platte ohne Nummer. Wird die Platte mit sda erkannt ist die erste Partition /dev/sda1 . Der MbR ist /dev/sda

Wenn Sie versuchen, Windows von GRUB Legacy oder LILO zu starten, wird nur ein schwarzer Bildschirm angezeigt. Was soll ich machen?

Dies ist ein bekanntes Problem und gilt nur für ältere Bootloader wie GRUB Legacy und LILO. Windows verweigert das Starten, wenn es nicht auf der ersten Festplatte installiert ist, und zeigt einen schwarzen / leeren Bildschirm an. Um dies zu umgehen, ist es notwendig, Windows zu glauben, dass es auf der ersten Festplatte mit ein paar Verbesserungen in der Bootloader-Konfiguration installiert ist. Dies geschieht durch die Option chainloader. Bitte beachten Sie, dass Gentoo im folgenden Beispiel auf / dev / sda (erster Datenträger) und Windows on / dev / sdb (zweiter Datenträger) installiert ist. Passen Sie die Konfiguration nach Bedarf an:

/boot/grub/grub.conf Beispiel für einen Eintrag für Windows in grub.conf

title Windows XP
     map (hd1) (hd0)
     map (hd0) (hd1)
     rootnoverify (hd1,0)
     chainloader +1

Fehlermeldung not an assigment: Hier kann die Angabe der Partition / Platte  falsch sein.
 

SuperGrub bietet die Möglichkeit über eine CD verfügbare Systeme / Kernel zu suchen und ggf. zu booten. Mit Hilfe des SuperGrub kann somit eine Fehleranalyse im Boot-Bereich durchgeführt werden.

  1. Werden die Platte(n) angezeigt?
  2. Wird das System angezeigt?
  3. Wird der Kernel angezeigt?
  4. Ist ein Booten erfolgreich?

Zum Download: http://www.supergrubdisk.org

Anzeige der Betriebssysteme mit SuperGrub
Grub mit verschiedenen installierten Systemen

Super-Grub mit verschiedenen installierten Systemen