Grub

From Linuxwiki
Revision as of 21:34, 7 March 2012 by Sunflower (talk | contribs) (Die Seite wurde neu angelegt: „Das Problem:<br> Windows und Linux sollen auf einer Festplatte gebootet werden, z.B. Windows auf Partition 1 (hda1), Linux auf Partition 3 (hda3). Wird erst Wind…“)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Das Problem:

Windows und Linux sollen auf einer Festplatte gebootet werden, z.B. Windows auf Partition 1 (hda1), Linux auf Partition 3 (hda3). Wird erst Windows und dann Linux installiert, erledigt der Bootloader grub normalerweise die Arbeit und erzeugt eine korrekte menu.lst.

Wird Windows nach Linux oder neu installiert, setzt sich der Windows-Bootloader im MBR (Master Boot Record) fest und grub fliegt raus. Da Windows keine ext3- Partitionen erkennt, bootet nur noch Windows ohne jegliche Auswahlmöglichkeit.

Die Lösung:

Grub muss wieder in den MBR rein. Um die entsprechenden Kommandos auszuführen, muss man erstmal eine Linux-Rescue-CD oder Knoppix-Live-CD booten. Bei Knoppix empfiehlt sich die Eingabe von "knoppix 2" am Bootprompt. Das verhindert das langsame Booten in den Grafikmodus, den wir für das, was wir nun vorhaben, eh nicht brauchen.

Ist die CD gebootet, lässt man sich durch Eingabe von

# fdisk -l

auf der Shell anzeigen, auf welcher Partition was drauf ist. Hier ein Ausgabe-Beispiel:

Platte /dev/hda: 20.0 GByte, 20003880960 Byte
255 Köpfe, 63 Sektoren/Spuren, 2432 Zylinder
Einheiten = Zylinder von 16065 x 512 = 8225280 Bytes
Gerät boot. Anfang Ende Blöcke Id System
/dev/hda1 * 1 1275 10241406 7 HPFS/NTFS
/dev/hda2 1786 1810 200812+ 82 Linux Swap / Solaris
/dev/hda3 1811 2432 4996215 83 Linux
/dev/hda4 1276 1785 4096575 f W95 Erw. (LBA)
/dev/hda5 1276 1785 4096543+ 6 FAT16

In unserem Fall befindet sich die Linux-Partition auf /dev/hda3. Also mountet man diese Partition und chrootet sich dahin:

# mount /dev/hda3 /mnt
# chroot /mnt

Jetzt muss man nur noch das Kommando ausführen, das grub in den MBR bringt :

# grub-install /dev/hda

(ev. vorher in der Datei devices.map nachschauen, ob die Laufwerke richtig gemappt sind)
Falls die Windows-Partition nicht in der menu.lst eingetragen ist, kann man dies nachholen. Datei zur Bearbeitung öffnen:

# vi /boot/grub/menu.lst

und dort folgenden Eintrag vornehmen:

title Windows (kann man was beliebiges reinschreiben)
root (hd0,0)
makeactive
chainloader +1

Mit "exit" oder "ctrl+d" die Chroot-Umgebung verlassen und rebooten. Jetzt sollte eine Grub-Auswahlliste zu sehen sein.