GNU GRUB FAQ

[ English | French | Spanish ]



0. Ich habe Fragen über GRUB!

Zuerst sollten Sie sicherstellen, dass Sie die Dokumentation welche mit GRUB ausgeliefert wird gründlich gelesen haben. Die meisten Informationen sind darin enthalten. Diese FAQ enthält nur einige Hinweise.

Beachten Sie auch, dass wir keine Fehlerberichte zu inoffiziellen Versionen wie Red Hat's akzeptieren. Viele Programme die mit GNU/Linux Distributionen vertrieben werden sind mit eigenen Patches modifiziert, so dass nicht alle Fehler mit offiziellen Versionen reproduzierbar sind. Verwenden Sie deshalb die letzte offizielle Version, bevor Sie Fehler an uns berichten.

1. Wie unterscheidet sich GNU GRUB von Erich's ursprünglichem GRUB?

GNU GRUB ist der Nachfolger von Erich's großartigem GRUB. Er konnte nicht mehr an GRUB arbeiten, da er andere Verpflichtungen hat. Deshalb übernahm Gordon Matzigkeit die Weiterentwicklung und startete ein Projekt, an welchem jeder der Interesse hat, teilnehmen kann.

Technisch gesehen besitzt GNU GRUB viele Eigenschaften, welche nicht im ursprünglichen GRUB enthalten sind. So kann z.B. GNU GRUB auf UNIX-artigen Betriebssystemen (wie GNU/Linux) mit der grub Shell /sbin/grub installiert werden, es unterstützt den LBA (Logical Block Address) Mode welcher das 1024 Zylinder Problem löst und TAB vervollständigt Dateinamen sofern sie eindeutig sind. Natürlich wurden auch viele Fehler beseitigt, weshalb es empfohlen wird, GNU GRUB zu verwenden.

2. Kann GRUB mein Betriebssystem von einer über 8GB großen Festplatte booten?

Dies hängt sowohl vom BIOS als auch dem Betriebssystem ab. Es muss sichergestellt sein, dass auf die Festplatte im LBA Mode zugegriffen werden kann. Im allgemeinen ist dies im BIOS einstellbar. Lesen Sie das Handbuch zu Ihrem BIOS für weitere Informationen.

Außerdem können einige Betriebssysteme (wie DOS) nicht auf große Festplatten zugreifen, so dass auch ein Boot-Loader nicht weiterhelfen kann. So weit ich weiß kann zumindest GNU/Hurd und GNU/Linux von solch einer großen Festplatte booten.

3. Kann ich Stage2 in eine Partition oberhalb des 1024. Zylinders kopieren?

Ja, das ist möglich sofern das BIOS den LBA Mode unterstützt. Obwohl in älteren Versionen ein spezieller Stage1 verwendet werden musste, ist dies nicht mehr länger nötig, da Stage1 beide Modes unterstützt.

4. Wie kann mithilfe des Menüs eine GRUB Boot Diskette erstellt werden?

  1. Erzeugen Sie ein Dateisystem auf Ihrer Diskette (z.B. mit mke2fs /dev/fd0).
  2. Mounten Sie die Diskette irgendwo, z.B. unter /mnt.
  3. Kopieren Sie die GRUB Images in das Verzeichnis /mnt/boot/grub. Nur stage1, stage2 und menu.lst sind notwendig. Die Datei *stage1_5 muss nicht unbedingt kopiert werden.
  4. Mounten Sie die Diskette ab.
  5. Führen Sie die folgenden Kommandos aus (beachten Sie, dass sich die ausführbare Datei grub in Ihrem System in einem anderen Verzeichnis befinden kann, z.B. in /usr/sbin):
    /sbin/grub --batch --device-map=/dev/null <<EOF
    device (fd0) /dev/fd0
    root (fd0)
    setup (fd0)
    quit
    EOF
    

5. Wie wird eine Partition angegeben? Dies scheint sich sehr von der Schreibweise in meinem Betriebssystem zu unterscheiden...

In der Tat, GRUB's Geräte Syntax unterscheidet sich sehr von anderen, ähnelt aber irgendwie den Bezeichnungen von DOS und Windows 98. GRUB unterscheidet nicht zwischen IDE und SCSI, die Festplatten werden mit (hd%d) (%d ist eine ganze Zahl, gezählt ab Null) bezeichnet. Analog werden die Diskettenlaufwerke durch (fd%d) repräsentiert.

Die Benutzer haben oft Probleme mit der Nummerierung der Partitionen. GRUB zählt Partitionen ab Null, während fast alle anderen Betriebssysteme von Eins zählen. Wir werden diese Inkonsistenz eines Tages beseitigen.

6. GRUB erkennt meine GNU/Hurd Partition nicht.

Ich weiß nicht warum, aber die Entwickler des FDISK Programms haben fälschlicherweise GNU Hurd den Partitionstyp 0x63 zugewiesen. Deshalb sollte 0x83 verwendet werden, wenn die Partition ein ext2 Dateisystem enthält und 0xA5 für ffs Dateisysteme, unabhängig davon, ob die Partition zu Hurd gehört oder nicht. Wir werden 0x63 für ein GNU Hurd Dateisystem verwenden, welches jedoch noch nicht implementiert wurde.

7. Ich installierte die neueste Version der binutils aber GRUB stürzt weiter während des bootstrap ab.

Bitte überprüfen Sie die Version Ihrer binutils mit diesem Kommando:

$ ld -v

Dies gibt zwei Versionen aus, wobei nur die letzte von Bedeutung ist. Ist diese identisch mit dem von Ihnen Installiertem, so ist die Installation wohl in Ordnung.

Führen Sie folgendes aus:

$ gcc -Wl,-v 2>&1 | grep "GNU ld"

Ist dies nicht mit obigem identisch, so sollte das Verzeichnis, wo binutils installiert wurde, dem configure Script mitgeteilt werden, ähnlich zu:

$ ./configure --with-binutils=/usr/local/bin

Folgten Sie den obigen Anweisungen aber GRUB stürzt dennoch ab, so gibt es möglicherweise einen Fehler in GRUB. Bitte berichten Sie diesen an das Bug Tracking System.

8. Ich kann GRUB nicht unter Red Hat 7.0 kompilieren.

Haben die Sie diese Mitteilung gelesen? Wie unterstützen niemals eine unveröffentlichte Version von gcc.

9. Wie kann ich eine beliebige Speichergröße Linux melden?

Ãœbergeben Sie die mem= Option an Ihren Linux Kernel, z.B.:

grub> kernel /vmlinuz mem=128M

Sie können auch andere Optionen analog übergeben. Vergleichen Sie die Linux Dokumentation für die verfügbaren Optionen.

10. Wie bootet man Windows (oder DOS) von einer anderen Festplatte als der ersten?

Verwenden Sie das Kommando map um BIOS Laufwerke virtuell zu vertauschen, Beispiel:

grub> map (hd0) (hd1)
grub> map (hd1) (hd0)

11. Ich habe eine separate Boot-Partition in GNU/Linux (oder einem anderen UNIX-artigen System) und GRUB scheint damit nicht richtig umgehen zu können.

Dies wird oft als Fehler gemeldet, ist aber kein wirklicher bug, sondern eine Eigenschaft.

Weil GRUB ein Boot-Loader ist und normalerweise nicht unter einem Betriebssystem läuft, weiß es nicht wo eine Partition im Betriebssystem gemountet wird. Haben Sie eine Partition /boot und installieren GRUB Images in das Verzeichnis /boot/grub, so erkennt GRUB die Images im Verzeichnis /grub und nicht /boot/grub. Das ist in Ordnung, da nicht sichergestellt ist, dass alle Betriebssysteme diese Partition unter /boot mounten.

Es gibt einige Lösungen für diese Situation:

  1. Installieren Sie GRUB in das Verzeichnis /boot/boot/grub anstatt /boot/grub. Dies klingt unschön, sollte aber prima funktionieren.
  2. Erzeugen Sie einen symbolischen Link bevor Sie GRUB installieren: cd /boot && ln -s . boot. Dies funktioniert nur wenn das Dateisystem der Boot-Partition symbolische Links unterstützt, GRUB unterstützt diese Eigenschaft ebenso.
  3. Installieren Sie GRUB mit dem Kommando install um die Pfade der GRUB Images explizit anzugeben. Es folgt ein Beispiel:
          grub> root (hd0,1)
          grub> install /grub/stage1 d (hd0) /grub/stage2 p /grub/menu.lst
          

12. Wie kann ich GRUB von meiner Festplatte deinstallieren?

Es gibt kein Konzept zum deinstallieren in Boot-Loadern, da das deinstallieren eines Boot-Loaders eine nicht bootbare Maschine nach sich zieht. Alles was Sie zu tun haben, ist den Boot-Loader mit einem von Ihnen bevorzugten zu überschreiben, d.h. installieren Sie den Boot-Loader ohne GRUB zu deinstallieren.

Möchten Sie beispielsweise den Boot-Loader von Windows installieren, starten Sie einfach FDISK /MBR unter Windows. Wenn Sie LILO installieren wollen (ich kann mir nicht vorstellen, warum Sie dies tun wollen), starten Sie /sbin/lilo unter GNU/Linux.

13. GRUB bleibt beim Zugriff auf meine große IDE Festplatte hängen.

Ist Ihre Festplatte größer als 32GB, so beseitigt ein Update Ihres Mainboard BIOS möglicherweise Ihr Problem. Dieser Fehler ist bekannt und die meisten Hersteller sollten korrigierte Versionen bereitstellen. Besitzen Sie zum Beispiel ein ASUS-P3BF, so hilft ein BIOS Update zu Version V1007beta1 oder neuer. Bitte fragen Sie Ihren Hersteller nach weiteren Informationen.

14. GRUB bleibt beim Zugriff auf meine SCSI Festplatte hängen.

Überprüfen Sie, dass Sie Unterstützung für die INT 13 Erweiterung (LBA) aktiviert haben. Haben Sie dies, so deaktivieren Sie diese Einstellung und überprüfen Sie, ob GRUB nun auf Ihre SCSI Platte zugreifen kann. Dies klärt genau, ob Ihr SCSI BIOS fehlerhaft ist.

Bisher kennen wir die folgenden Controller, welche keinen funktionierenden LBA Mode ermöglichen:

Haben Sie unglücklicherweise einen solchen SCSI Controller, so können Sie den LBA Mode nicht nutzen, GRUB funktioniert dennoch prima im CHS Mode (das bekannte 1024 Zylinder Problem tritt in diesem Fall auf).

15. Ich installierte GRUB aber das System bleibt sofort hängen.

Es gibt viele Möglichkeiten, aber es ist wahrscheinlich dass etwas mit Ihrer device.map Datei nicht stimmt. Werfen Sie einen Blick in /boot/grub/device.map. Das Format ist gut dokumentiert im Handbuch.

Wenn darin etwas nicht stimmt, editieren Sie diese entsprechend und starten grub-install.

Haben Sie immer noch ein Problem oder wissen Sie nicht, wie Sie vorzugehen haben, so ist es einfacher GRUB auf einer Bootdiskette zu installieren als bei grub-install hängenzubleiben.

16. Warum ist Linux (FreeBSD, NetBSD, etc.) nicht kompatibel zur Multiboot Spezifikation?

Fragen Sie dazu die Verantwortlichen. Wenn alle freien Kernel der Multiboot Spezifikation entsprächen, wäre die Welt eine Utopie...


[ English | French | Spanish ]