Grub richtig konfigurieren mit mehreren Systemen auf mehreren Festplatten
Aus Gentoo Linux Wiki
Inhaltsverzeichnis |
[Bearbeiten] Einleitung
(Viele Beispiele von Einträgen sind in der /boot/grub/grub.conf.sample zu finden.)
Nachdem man in diversen Forenbeiträgen so gut wie kaum eine korrekte Antwort finden kann auf die Frage nach der korrekten GRUB-Konfiguration um versch. Windows-Systeme von versch. Festplatten booten zu können, soll dieses Howto Abhilfe schaffen. Da es prinzipiell möglich ist auf derselben Hardware auch noch UNIX-Derivate sowie div. MacOS zu betreiben, soll man auch hierfür korrekte Einträge finden.
Ausgegangen wird von /dev/hda und /dev/hdb als zwei verschiedene IDE Festplatten, welche GRUB mit (hd0) bzw. (hd1) bezeichnet. Welches Festplatten-Device man in der GRUB-Semantik jetzt konkret (hd0), (hd1), etc. zuordnet, wird in der Datei /boot/grub/devices.map festgelegt, welche in etwa wie folgt aussehen kann:
| Datei: /boot/grub/devices.map |
(fd0) /dev/fd0 (hd0) /dev/hda (hd1) /dev/hdb (hd2) /dev/sda |
Zusätzlich ist hier noch eine SATA-Festplatte aufgeführt, welche an /dev/sda angeschlossen ist. Selbstverständlich kann man sein System auch hiervon booten, doch für die Vermittlung der gundlegenden Idee reichen zwei Festplatten - egal welche.
Im folgenden sind die jeweiligen Einträge der /boot/grub/grub.conf (bzw. die verlinkte menu.lst) aufgeführt. Das Gentoo-System von welchem aus man den grub-Bootloader installiert, sei auf /dev/hda2 installiert - also der ersten physikalischen Festplatte (hd0).
[Bearbeiten] Linux
[Bearbeiten] Linux von /dev/hda2 booten
| Datei: /boot/grub/grub.conf |
title Gentoo Linux 1 root (hd0,1) kernel /boot/vmlinuz root=/dev/hda2 |
[Bearbeiten] Linux von /dev/hdb2 booten
| Datei: /boot/grub/grub.conf |
title Gentoo Linux 2 root (hd1,1) kernel /boot/vmlinuz root=/dev/hdb2 |
[Bearbeiten] Windows
[Bearbeiten] Windows 95/98/NT/2000 von /dev/hda1 booten
| Datei: /boot/grub/grub.conf |
title Windows 95/98/NT/2000 rootnoverify (hd0,0) makeactive chainloader +1 |
[Bearbeiten] Windows XP von /dev/hdb1 booten
| Datei: /boot/grub/grub.conf |
title Windows XP map (hd1) (hd0) rootnoverify (hd1,0) makeactive chainloader +1 |
Da sich Windows nur von der ersten physikalischen Festplatte (hd0) booten lässt, auf der sich auch auch die Linux-Installation inkl. GRUB befindet, muss Windows dies im Falle einer Installation auf einer anderen physikalischen Festplatte (hd1) vorgegaukelt werden. Dazu dient der Befehl map (hd1) (hd0) welcher die Reihenfolge der Festplatten vertauscht. Dementsprechend kann die Abfolge der Befehle auch nicht beliebeig erfolgen und map (hd1) (hd0) muss an erster Stelle stehen.
UND NICHT WIE SO OFT IM WWW ZU FINDEN:
| Datei: /boot/grub/grub.conf |
|
map (hd0) (hd1) |
Zweimal den map-Befehl zu benutzen gibt doch garkeinen Sinn (Nachdenken!). Wer es nicht glaubt, möge es bitte selbst ausprobieren und nicht wieder in diesem Wiki verschlimmbessern !!
[Bearbeiten] BSD (Unix)
[Bearbeiten] FreeBSD von /dev/hda3 booten
| Datei: /boot/grub/grub.conf |
title FreeBSD root (hd1,2,a) kernel /boot/loader |
[Bearbeiten] NetBSD oder OpenBSD
| Datei: /boot/grub/grub.conf |
title NetBSD oder OpenBSD root (hd1,2,a) kernel --type=netbsd /netbsd |
Der Unterschied dieses Eintrags für ein Unix-System im Vergleich zu einem (Unix-artigen) Linux-System besteht in einem Buchstaben a,b,c etc. in (hd1,2,a). Dieser rührt daher, dass man FreeBSD & Co. nur in Primäre Partitionen (hier "slices" genannt) installieren kann, die wiederum unterteilt sein können ähnlich wie bei einer erweiterten Partition und ihren logischen Laufwerken. Und mein root-Verz. und der Kernel liegen schlicht in der ersten Partition von (hd1,2), weshalb noch das a angefügt werden muss.
[Bearbeiten] MacOS
| Datei: /boot/grub/grub.conf |
title Mac OS X rootnoverify (hd0,3) makeactive chainloader +1 |
[Bearbeiten] Schlussbemerkung
Dieses Howto soll ein anschauliches Beispiel sein, denn prinzipiell sollte die genaue GRUB-Konfiguration / -Syntax jedem bekannt sein, da die Gentoo-Installationsanleitung erklärend darauf eingeht. Dies ist jediglich eine "anschauliche Weiterführung" die versucht weitverbreitete Irrtümer zu berichtigen. :-)
