Upline: Infos & Dokus Administration Linux

Lilo reparieren


Gelegentlich schafft man es bei einem Update oder ähnlichem, den LILO in einen nicht funktionierenden Zustand zu bringen. Dies zeichnet sich häufig dadurch aus, dass nach dem Booten der LILO z.Bsp. beim "LI" stehen bleibt. Nähere Informationen zu den einzelnen "Fehlermeldungen" findet man unter linux-praxis.de. Für die meisten Distributionen gibt es die einfache Möglichkeit, einen defekten Lilo im MBR wieder zur Lauffähigkeit zu bringen, indem man direkt von der 1. CD der Distribution bootet und dann distributionsabhängig verfährt. Für ältere SuSE Linuxe (ab Version 8 wird standardmäßig der Grub verwendet) wählt man im Yast den Menüpunkt "Installiertes System booten", unter Debian Woody gibt man am Boot-Prompt einfach
rescbf24 root=/dev/hda2
o.ä. ein. Nach dem Booten des Systems genügt in der Regel ein einfacher Aufruf von Lilo oder bei entsprechenden Fehlermeldungen die Anpassung der /etc/lilo.conf oder des evtl. neu kompilierten Kernels. Nach jeder Änderung muss der Befehl "lilo" ausgeführt werden, damit diese auch für den nächsten Bootvorgang wirksam wird!

Doch was macht man, wenn man gerade keine Distributions-CD parat hat? über ein Knoppix sollte heutzutage jeder halbwegs sortierte Arbeitsplatz/Haushalt verfügen, also verwende ich einfach eine solche Live-Distribution. Man muss natürlich wissen, welche Partitionen was enthalten, zur Not hilft nach dem Booten ein Blick in das Verzeichnis "/mnt", da Knoppix für alle verfügbaren Partitionen dort bereits Mount-Points anlegt. Wenn man dann immernoch nicht weiß, was wo liegt, entweder mit cfdisk sich die Partionsgrößen anzeigen lassen und logisch schlußfolgern oder alle nach und nach mounten und angucken ...


Für das folgende Bsp. gehe ich von der einfachsten Konfiguration aus, in der "/", "/boot" und "/etc" alle auf hda2 liegen.
Eine einfache ToDO-Liste wäre dann:
Knoppix booten, Konsole öffnen
# mount /mnt/hda2
# cd /
#rm boot
#ln -s /mnt/hda2/boot boot
Jetzt müssen noch entsprechend der "/mnt/hda2/etc/lilo.conf" vorhandene Kernelverlinkungen berücksichtigt werden, z.B.:
#ln -s /mnt/hda2/vmlinuz vmlinuz
An dieser Stelle sollte man sich mit "ls -al" auch einen Überblick darüber verschaffen, ob alles richtig funktioniert hat. Abschließend genügt ein Aufruf von lilo mit entsprechenden Parametern. Werden hierbei Fehler gemeldet, so ist ein weiterer Blick in die Einstellungen der lilo.conf nötig, evtl. könnte diese für einen ersten Versuch auch einfach verkürzt werden. Abschließend braucht man den Rechner nur noch neu zu starten.
# lilo -b /dev/hda -C /mnt/hda2/etc/lilo.conf
# reboot
Wenn die CD rechtzeitig entfernt wurde, sollte jetzt das System auch wieder problemlos hochfahren.