Wenn Probleme auftreten, gibt es auch immer Möglichkeiten, sie zu lösen. Es ist hierzu jedoch erforderlich, dass Sie das System gut kennen. In diesem Kapitel wird beschrieben, wie Sie Rettungsmodi starten können und wo Sie Ihr eigenes Wissen einsetzen können, um Schäden am System zu beheben.
Der Rettungsmodus bedeutet, eine kleine Linux-Umgebung vollständig von einer Diskette oder einer CD zu booten oder eine andere Methode zu verwenden.
Wie der Name schon sagt, dient der Rettungsmodus dazu, etwas zu "retten". Während des normalen Betriebs verwendet Ihr Red Hat Linux System Dateien, die auf der Festplatte Ihres Systems gespeichert sind — um Programme auszuführen, Dateien zu speichern u.v.m.
Es kann jedoch vorkommen, dass Sie keinen Zugriff auf die Dateien Ihrer Festplatte erhalten. Der Rettungsmodus ermöglicht es Ihnen, auch dann auf diese Dateien zuzugreifen, auch wenn Linux nicht von der entsprechenden Festplatte ausgeführt werden kann.
Üblicherweise ist der Rettungsmodus aus den beiden folgenden Gründen erforderlich:
Es ist Ihnen nicht möglich, Linux zu booten.
Es sind Probleme mit der Hardware oder der Software aufgetreten, und Sie möchten wichtige Dateien von der Festplatte Ihres Systems entfernen.
Betrachten wir diese Fälle näher.
Dieses Problem lässt sich häufig darauf zurückführen, dass ein anderes Betriebssystem installiert wurde, nachdem Sie Red Hat Linux installiert haben. Es gibt Betriebssysteme, die davon ausgehen, dass kein anderes Betriebssystem auf Ihrem Computer vorhanden ist und überschreiben daher den Master Boot Record (MBR), der jedoch den LILO-Bootloader enthält. Wird LILO überschrieben, kann Red Hat Linux nicht gebootet werden. Die einzige Abhilfe ist hier der Rettungsmodus.
Hier ist eine große Vielfalt an verschiedenen Fällen vorgesehen. Zwei Beispiele beziehen sich auf Fehler der Festplatten und das Nicht-Ausführen von LILO nach der Erstellung eines neuen Kernels. In beiden Fällen kann Red Hat Linux wahrscheinlich nicht gestartet werden. Wenn Sie den Rettungsmodus aktivieren können, können Sie das Problem lösen oder zumindest Kopien der wichtigsten Dateien erstellen.
Geben Sie den folgenden Befehl am Bootprompt der Installation ein, um Ihr System im Rettungsmodus zu starten:
boot: linux rescue |
Auf eine der folgenden Weisen rufen Sie das Bootprompt der Installation auf:
Booten Sie Ihr System von einer Installationsbootdiskette [1] oder der Red Hat Linux CD-ROM #1.
Booten Sie von einer Netzwerk- oder PCMCIA-Bootdiskette. Dies ist jedoch nur möglich, wenn Ihre Netzwerkverbindung aktiviert ist. Geben Sie den Netzwerkrechner und den Übertragungstyp an. Weitere Informationen hierüber finden Sie unter Installieren über das Netzwerk im Offiziellen Red Hat Linux Installationshandbuch.
Nachdem sich Ihr System im Rettungsmodus befindet, wird ein Prompt an der Virtuellen Konsole 2 angezeigt (verwenden Sie die Tastenkombination Strg-Alt-F2, um auf die Konsole zuzugreifen.
bash# |
Von diesem Prompt können zahlreiche nützliche Befehle aufgerufen werden, darunter:
anaconda gzip mkfs.ext2 ps badblocks head mknod python bash hwclock mkraid python1.5 cat ifconfig mkswap raidstart chattr init mlabel raidstop chmod insmod mmd rcp chroot less mmount rlogin clock ln mmove rm collage loader modprobe rmmod cp ls mount route cpio lsattr mpartition rpm dd lsmod mrd rsh ddcprobe mattrib mread sed depmode mbadblocks mren sh df mcd mshowfat sync e2fsck mcopy mt tac fdisk mdel mtools tail fsck mdeltree mtype tar fsck.ext2 mdir mv touch fsck.ext3 mdu mzip traceroute ftp mformat open umount gnome-pty-helper minfo pico uncpio grep mkdir ping uniq gunzip mke2fs probe zcat |
Wenn Ihr Root-Dateisystem unbeschädigt ist, können Sie es mounten und jedes Standarddienstprogramm von Linux ausführen. Wenn sich Ihr Root-Dateisystem in /dev/hda5 befindet, können Sie diese Partition mithilfe des folgenden Befehls mounten:
mount -t ext2 /dev/hda5 /foo |
Im obigen Befehl ist /foo ein von Ihnen erstelltes Verzeichnis.
Nun können Sie chroot, fsck, man und andere Dienstprogramme ausführen. Linux läuft im Einzelbenutzermodus.
Wenn Sie die Namen Ihrer Linux-Partitionen nicht kennen, können Sie sie erraten. Das Mounten von nicht existierenden Partitionen richtet keinen Schaden an.
Sie können auch direkt im Einzelbenutzermodus booten. Wenn Ihr System startet, es Ihnen nach dem Bootvorgang nicht möglich ist, sich anzumelden, dann booten Sie erneut und geben Sie am LILO-Bootprompt eine der folgenden Optionen an (wenn Sie den graphischen LILO verwenden, drücken Sie die Tastenkombination Strg-x, um den graphischen Bildschirm zu schließen, und rufen Sie das boot: Prompt auf):
boot: linux single boot: linux emergency |
Im Einzelbenutzermodus bootet Ihr Computer auf Runlevel 1. Ihre lokalen Dateisysteme werden gemountet, Ihr Netzwerk wird jedoch nicht aktiviert. Sie benötigen eine verwendbare Shell zur Systemwartung.
Der Notfallmodus bedeutet, dass Sie in eine minimale Umgebung booten. Das Root-Dateisystem wird im schreibgeschützten Modus gemountet, und es werden fast keine Einstellungen vorgenommen. Der Hauptvorteil des Notfallmodus gegenüber linux single ist, dass Ihre init Dateien nicht geladen werden. Wenn init beschädigt ist oder nicht funktioniert, können Sie immer noch Dateisysteme mounten, um Daten zu sichern, die bei einer erneuten Installation verloren gehen würden.
Haben Sie schon einmal einen Kernel neu erstellt und dann, vor lauter Eifer, Ihr Werk zu testen, neu gebootet, bevor Sie /sbin/lilo ausgeführt haben? Wenn in lilo.conf kein Eintrag für einen älteren Kernel vorlag, dann ergibt sich ein Problem. In diesem Abschnitt wird eine Lösung vorgestellt.
In vielen Fällen können Sie Ihr Red Hat Linux System von der Red Hat Linux Bootdiskette [1], auf der Ihr Root-Dateisystem gemountet ist, starten. Gehen Sie wie folgt vor:
Geben Sie den folgenden Befehl am boot: Prompt der Bootdiskette ein:
linux single root=/dev/hdXX initrd= |
Ersetzen Sie in /dev/hdXX XX mit dem entsprechenden Buchstaben und der Nummer für Ihre Root-Partition.
Was bewirkt dieser Befehl? Er startet den Bootvorgang im Einzelbenutzermodus mit der Root-Partition auf Ihrer Root-Partition. Die leere initrd Angabe umgeht dabei das installationsbezogene Image der Bootdiskette, wodurch sofort der Einzelbenutzermodus aktiviert wird.
Gibt es auch Nachteile bei dieser Methode? Leider ja. Da der Kernel auf der Red Hat Linux Bootdiskette nur eine eingebaute IDE unterstützt, werden Sie sie nicht verwenden können, wenn Ihr System auf SCSI basiert. In diesem Fall müssen Sie den Rettungsmodus über den oben beschriebenen Befehl linux rescue abrufen.
[1] | Um eine Installationsbootdiskette zu erstellen, verwenden Sie die Datei images/boot.img auf der Red Hat Linux CD-ROM #1 und den Befehl dd if=boot.img of=/dev/fd0 sowie eine unbeschriebene Diskette. |