Kapitel 3 Rettungsmodus

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.

Was ist ein Rettungsmodus?

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:

Betrachten wir diese Fälle näher.

Nicht möglich, Linux zu booten

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.

Probleme mit Hardware/Software

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.

Direktes Booten im Einzelbenutzermodus

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.

Fußnoten

[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.