PC bootet nicht mehr bei Einbau eines neuen CD-Laufwerks.

Diesen Artikel habe ich aus dem Grund verfasst, weil ich ein neues DVD-Laufwerk in meinen Laptop eingebaut habe und es zu Problemen kam, denn Linux wollte urplötzlich nicht mehr starten. Da man das Problem relativ einfach beheben kann und man einfach nur wissen muss, welche Einstellungen man ändern muss, werde ich in diesem Artikel ein wenig auf die Laufwerkverwaltung von Linux eingehen. Anhand des auftretenden Problems kann man die Laufwerksverwaltung gleich an einem Beispiel anwenden.

Nun zum eigentlichen Problem: als ich das neue DVD-Laufwerk in meinen Laptop eingebaut hatte, bekam das BIOS Probleme mit dem Erkennen der Laufwerke. Schnell stellte sich heraus, dass das neue DVD-Laufwerk fest als so genanntes "Primary Device" eingestellt war, wobei mein altes CD-Laufwerk als "Secondary Device" eingestellt war. Da aber die Festplatte ebenfalls als Primary Device agierte, konnte das BIOS nicht richtig feststellen, welche Laufwerke denn nun im System eingebaut sind, denn sowohl das neue DVD-Laufwerk als auch die Festplatte als Primary Device liefen. Man muss sich das so vorstellen: Beim Starten eines Rechners überprüft das BIOS (noch bevor das Betriebssystem gestartet wird) die komplette Hardware. Die Laufwerke (Festplatten, CD-Laufwerke) muss man fest einstellen, ob sie als 1. Laufwerk (Primary) oder 2. Laufwerk (Secondary) agieren sollen (Bei Notebooks kann man nur zwei Laufwerke einstellen, bei Desktop-System in der Regel vier).

Das Problem mit den Laufwerken habe ich dann so gelöst, dass ich einfach einen Jumper an der Festplatte umgesteckt und sie einfach als Secondary laufen lassen habe. Nachdem ich den Rechner neugestartet hatte, wurden beide Laufwerke richtig erkannt, doch Linux wollte einfach nicht starten. Fehler wie "I/O-Device Error" oder "Kernel-Panic" traten auf, und das aus folgendem Grund: Bevor ich das CD-Laufwerk gewechselt hatte, wurde die Festplatte als Primary und das CD-Laufwerk als Secondary betrieben. Aus oben genannten Grüden musste ich aber die Reihenfolge ändern, so dass die Festplatte als Secondary und das CD-Laufwerk als Primary läuft.

Wie verwaltet Linux Laufwerke

Unter Linux gibt es keine Laufwerke "a:\", "c:\", "d:\", wie man es von Windows her kennt. Linux verwaltet sämtliche Laufwerke, sei es ein Floppy-, Festplatten- oder CD-Laufwerk, direkt in das Dateisystem. Man findet die Laufwerke dann unter /dev/hd**, die nach dem Alphabet aufgelistet werden. Dabei wird jedem Laufwerk ein Buchstabe zugewiesen. Deutlich wird dies an folgender Beispielkonfiguration:


/dev/hda = Festplatte 1
/dev/hda1 = 1. Partition von Festplatte 1
/dev/hda2 = 2. Partition von Festplatte 1
/dev/hdb1 = 1. Partition von Festplatte 2
/dev/hdc = CD-Laufwerk
/dev/hdd = DVD-Laufwerk
/dev/hde = USB-Stick

Und genau hier tritt das Problem auf, denn als im BIOS die Reihenfolge der Laufwerke geändert wurde, wurde die Festplatte für Linux nicht mehr als "hda", sondern als "hdb" erkannt. Beim CD-Laufwerk das ganze natürlich umgekehrt. Letztendlich hat Linux dann versucht, die notwendigen Dateien auf dem CD-Laufwerk zu suchen, wo selbstverständlich nichts gefunden wurde.

Lösen des Problems

Um das Problem zu lösen, mussten lediglich zwei Dateien verändert werden. Zum einen habe ich mit einem Texteditor die "/etc/fstab" korrigiert, indem ich alle Einträge mit "hda" in "hdb" (die Festplatte ist ja nun nicht mehr hda) geändert habe.

/dev/hdb1  /mnt/win     auto     noatime           0 1
/dev/hdb2 /boot ext2 noauto,noatime 1 2
/dev/hdb3 none swap sw 0 0
/dev/hdb4 / reiserf noatime 0 0
/dev/cdrom /mnt/cdrom iso9660 user,unhide,noauto0 0
/dev/fd0 /mnt/floppy auto noauto 0 0

Hier sieht man nun auch sehr gut, wie Linux die Laufwerke einängt. In diesem System gibt es vier Partitionen. Auf der ersten Partition (hdb1, hdb ist die ganze Festplatte), befindet sich eine Windows-Installation. Diese wird in das Verzeichnis "/mnt/win" eingeängt und wenn ich mich in dieses Verzeichnis begebe, so finde ich dort die Windows-Dateien. Auf der zweiten Partitionen (hdb2) befinden sich sämtliche Boot-Dateien, auf der dritten Partition (hdb3) befindet sich die Auslagerungsdatei (Swap) und die eigentlichen Linux-Dateien befinden sich auf der vierten Partition (hdb4).

Beim zweiten Teil kommt es darauf an, welchen Bootloader man installiert hat. In meinem Fall war dies "Lilo", so dass ich in der "/etc/lilo.conf" auch noch die Einträge von "hda" in "hdb" ändern musste. Wer einen anderen Bootloader installiert (beispielsweise Grub), der muss dies in der jeweiligen Konfigurationsdatei machen. Nach diesen Ändrungen konnte ich das System wie gewohnt starten und damit arbeiten.