Login
Newsletter
Werbung

Mo, 5. Juni 2000, 00:00

GRUB, zerstörte Partitionen und Booten vom Netz

Der Artikel beschreibt eine Installation von GRUB, bei der versehentlich ein Teil der Festplatte überschrieben wurde, und die Wiederherstellung derselben.

Vorwort

In diesem Artikel berichte ich darüber, was mir heute abend (22. März 2000) passiert ist und wie ich meine Haut rettete. Ich werde nicht sehr in die technischen Details gehen, da der Artikel ein breites Spektrum von Themen streift, die ausführlich zu beschreiben Bände füllen könnte.

Wie es begann

Es war einmal... so sollten wir, der Tradition folgend beginnen. Kurz gesagt, ich hatte kürzlich in einem Rechner zwei IDE-Platten von jeweils 20 GB installiert. Da der IDE-Controller auf dem Board kein Ultra-DMA beherrscht, installierte ich einen UDMA-Controller. Mit Hilfe der Kernel-Option "Boot from secondary IDE" konnte ich sogar erreichen, daß die Platten von Linux als /dev/hda und /dev/hdc erkannt wurden, genau wie vorher am alten IDE-Controller auch. Nur konnte ich LILO nicht verwenden. LILO hängte sich beim Booten immer nach dem "LI" auf. Ich mußte also immer von Diskette booten. Nicht weiter tragisch bei Uptimes von über einem Monat im Durchschnitt, aber trotzdem verbessserungswürdig.

Ich beschloß daher, GRUB auszuprobieren. Es konnte ja nichts passieren, da ich eine Bootdiskette hatte. Dachte ich.

GRUB

Ich installierte zunächst die GRUB-Dateien mit dem üblichen ./configure; make; make install. Dann erzeugte ich mir noch die Doku im DVI-Format: cd doc; make. Ich folgte der Anleitung in der Doku, um GRUB auf eine Bootdiskette zu kopieren:

dd if=/usr/local/share/grub/stage1 of=/dev/fd0 bs=512
dd if=/usr/local/share/grub/stage2 of=/dev/fd0 bs=512 seek=1

Das Booten mit der Floppy brachte mich zum Bootprompt, und ich spielte ein Weilchen mit den Optionen und der eingebauten Hilfe herum. Es gelang mir nach mehreren Anläufen, Linux zu booten. Sehr fein! Folgende drei Kommandos genügten dazu:

kernel (hd0,1)/boot/vmlinuz-2.2.14
root (hd0,1)
boot

Die ersten beiden Zeilen sind natürlich spezifisch für mein Setup, da ich meine Kernel nach der Versionsnummer zu benennen pflege. Die Angabe (hd0,1) ist die zweite Partition der ersten Festplatte, unter Linux als /dev/hda2 bezeichnet.

Die Katastrophe

Nach diesem Erfolg wollte ich die Diskette loswerden und GRUB direkt auf der Platte installieren. Dazu gab ich die gleichen Kommandos wie oben an, nur mit hda statt fd0, und bootete neu.

Am Bootprompt war GRUB nicht in der Lage, den Kernel zu finden. Na gut, sagte ich mir, dann probiere ich es noch einmal mit der Floppy. Fehlanzeige. Kein Kernel. Noch immer blickte ich nichts. Dann bootete ich mit meiner alten Bootdiskette und erhielt eine Kernel Panic. Nun dämmerte mir langsam, was passiert war. Ich hatte bei der Installation von GRUB auf die Festplatte die gleichen Kommandos verwendet wie bei der Floppy. Dadurch wurden die ersten 150 Sektoren der Festplatte zerstört, unter anderem auch die Partitionstabelle.

Was tun? Neuinstallieren kam nicht in Frage, da ich die 6 GB an Daten nicht verlieren wollte, die auf den Platten lagern. Außerdem ist das System hochgradig angepaßt, Hunderte von Programmen bereits manuell aktualisiert. Schnell merkte ich, daß das Booten von einer Rettungsdiskette nicht funktionierte, da diese Diskette meinen IDE-Controller nicht unterstützt. Vielleicht hätte man den Controller mit einer Kommandozeilen-Option entdecken können, doch das fällt mir erst jetzt ein, wo alles vorbei ist.

Es blieben zwei Alternativen: Entweder würde ich den Rechner auseinanderbauen und die Platten wieder an den alten IDE-Controller hängen. Das wäre aber lästig, und ich müßte noch einen anderen Rechner ausbauen, um überhaupt heranzukommen. Die andere Möglichkeit war Booten vom Netzwerk mit einer speziellen Bootdiskette.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung