Heim > Artikel > Betrieb und Instandhaltung > Tipps zur Fehlerbehebung und Reparatur von Linux-Systemfehlern
[Einleitung] Ich habe festgestellt, dass während des Startvorgangs des Linux-Systems einige Fehler auftreten, die dazu führen, dass das System nicht normal startet. Hier habe ich mehrere Fehlerreparaturfälle geschrieben, die den Einzelbenutzermodus und den GRUB-Befehlsvorgang anwenden. und der Linux-Rettungsmodus, um allen zu helfen. Erfahren Sie, wie Sie solche Probleme lösen können. (1) Das Linux-System im Einzelbenutzermodus bietet
Ich habe festgestellt, dass während des Startvorgangs des Linux-Systems einige Fehler aufgetreten sind, die dazu geführt haben, dass das System nicht normal gestartet werden konnte. Ich habe mehrere Anwendungen für den Einzelbenutzermodus und GRUB geschrieben Befehlsoperationen hier, Fehlerreparaturfälle im Linux-Rettungsmodus helfen jedem zu verstehen, wie solche Probleme gelöst werden können.
(1) Einzelbenutzermodus
Das Linux-System bietet einen Einzelbenutzermodus (ähnlich dem abgesicherten Windows-Modus), der sein kann Betrieb in einer minimalen Umgebung. Systemwartung. Im Einzelbenutzermodus (Runlevel 1) bootet Linux in eine Root-Shell, die Netzwerkverbindung ist deaktiviert und es werden nur wenige Prozesse ausgeführt. Der Einzelbenutzermodus kann zum Ändern von Dateisystemschäden, zum Wiederherstellen von Konfigurationsdateien, zum Verschieben von Benutzerdaten usw. verwendet werden.
Im Folgenden sind einige typische Fälle der Behebung von Systemausfällen im Einzelbenutzermodus aufgeführt:
Fall 1: Root-Passwort vergessen
Im Einzelbenutzermodus Modus erfordert Linux kein Root-Passwort (das Red-Hat-System erfordert kein Root-Passwort, SuSe jedoch. Verschiedene Linux-Systeme unterscheiden sich geringfügig. In diesem Artikel wird Fedora Core 6 als Beispiel verwendet), was das Ändern sehr einfach macht Root-Passwort. Es ist wichtig zu verstehen, wie man in den Einzelbenutzermodus wechselt, wenn das System nicht im Mehrbenutzermodus booten kann.
1. Während des Systemstartvorgangs erscheint die Startoberfläche. Drücken Sie eine beliebige Taste, um die GRUB-Menüoption aufzurufen.
Wenn Sie diese Aufforderung in Zukunft vermeiden möchten, rufen Sie direkt die Menüoption GRUB auf und löschen Sie den Eintrag „hiddenmenu“ in der Konfigurationsdatei grub.conf.
2. Drücken Sie die Taste „e“, um die GRUB-Startmenüoptionen und den GRUB-Bildschirm zu bearbeiten, nachdem Sie die Taste „e“ gedrückt haben. Gehen Sie mit den Pfeiltasten nach unten zur Kernelzeile und drücken Sie die Taste „e“.
3. Fügen Sie am Cursor der letzten Zeile „Single“ hinzu, drücken Sie die Eingabetaste, um zum vorherigen Bildschirm zurückzukehren, und Drücken Sie zum Booten die Taste „b“. Das System wechselt automatisch in den Einzelbenutzermodus. Wenn Sie das Root-Passwort ändern möchten, führen Sie den Befehl aus: sh-3.1# passwd root
Nach erfolgreicher Änderung ausführen Der Befehl „exit“ dient zum Beenden und Neustarten.
Sie können viele Probleme beheben, die den normalen Start des Systems im Einzelbenutzermodus verhindern, wie zum Beispiel:
1. Deaktivieren Sie Dienste, die den Systembetrieb unterbrechen könnten , ausführen: sh- 3.1# chkconfig smb off Der Samba-Dienst wird beim nächsten Systemstart nicht gestartet.
2. Wenn X Window nicht gestartet werden kann oder ausfällt, können Sie die Datei /etc/inittab bearbeiten, sich im Textmodus anmelden und die initdefault-Startebene auf 3 ändern: id: 3: initdefault:
Fall 2: Der Festplattensektor ist gestört
Das häufigste Problem, das während des Startvorgangs auftritt, besteht darin, dass die Festplatte möglicherweise fehlerhafte Sektoren aufweist oder Ungeordnete Sektoren (Datenschaden). Diese Situation wird meist durch einen ungewöhnlichen Stromausfall oder ein ungewöhnliches Herunterfahren verursacht. Wenn ein solches Problem auftritt, wird beim Systemstart Folgendes angezeigt:
Drücken Sie das Root-Passwort oder Strg+D: Geben Sie zu diesem Zeitpunkt das Root-Passwort ein und das System wechselt automatisch in den Einzelbenutzermodus. Geben Sie „fsck -y /dev/hda6“ ein (fsck ist der Befehl zur Erkennung und Reparatur des Dateisystems, „-y“ legt die automatische Reparatur fest, wenn ein Fehler erkannt wird, /dev/hda6 ist bitte die Festplattenpartition, auf der der Fehler aufgetreten ist Ändern Sie diesen Parameter entsprechend der jeweiligen Situation. Verwenden Sie nach Abschluss der Systemreparatur den Befehl „reboot“, um neu zu starten.
Fall 3, GRUB-Optionseinstellungsfehler
„Fehler 15“ zeigt an, dass das System den in grub.conf angegebenen Kernel nicht finden kann. GRUB-Boot-Fehlermeldung. Wir haben festgestellt, dass aufgrund eines Tippfehlers „vmlinuz“ in der Kerneldatei als „vmlinux“ eingegeben wurde, sodass das System die ausführbare Kerneldatei nicht finden konnte. Wir können eine beliebige Taste drücken, um zur GRUB-Bearbeitungsoberfläche zurückzukehren und diesen Fehler zu ändern. Drücken Sie zum Speichern die Eingabetaste und drücken Sie die Taste „b“, um normal zu starten. Vergessen Sie natürlich nicht, den Fehler anschließend in der Datei grub.conf zu ändern in das System gelangen. Dies ist ein Fehler, den viele unerfahrene Linux-Benutzer leicht machen, wenn sie die GRUB-Einstellungen ändern. Wenn diese schwarze Bildschirmaufforderung erscheint, achten Sie auf die Fehlermeldung und Sie können sie entsprechend beheben.
(2) GRUB-Boot-Fehlerbehebung
Ich habe festgestellt, dass Linux manchmal nach dem Booten direkt die GRUB-Befehlszeilenschnittstelle aufruft (nur „grub>“ "-Eingabeaufforderung), zu diesem Zeitpunkt entscheiden sich viele Benutzer dafür, GRUB neu zu installieren oder sogar das System neu zu installieren. Tatsächlich gibt es im Allgemeinen zwei häufigste Gründe für diesen Fehler: Der eine ist die falsche Optionseinstellung in der GRUB-Konfigurationsdatei, der andere ist der Verlust der GRUB-Konfigurationsdatei (es gibt auch einige Gründe, z. B. den Kernel). Wenn die Datei oder Image-Datei beschädigt ist oder fehlt, das /boot-Verzeichnis versehentlich gelöscht wird usw.), können Sie im ersten Fall das System zunächst über den GRUB-Befehl starten und im zweiten Fall reparieren um den Linux-Rettungsmodus zur Reparatur zu verwenden (wird später in diesem Artikel beschrieben).
Zuerst müssen wir den Startvorgang des GRUB-Startsystems verstehen. Die Hauptkonfigurationsoptionen in der Datei grub.conf sind wie folgt (beachten Sie, dass die GRUB-Konfigurationsdatei /boot/grub/grub ist .conf, /etc/grub.conf Nur ein Softlink zu dieser Datei):
title Fedora Core (2.6.18-1.2798.fc6)root (hd0,0)kernel /boot/vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet initrd /boot/initrd-2.6.18-1.2798.fc6.img
Der Abschnitt „title“ gibt das von GRUB gebootete System an: Der Abschnitt „root“ gibt den Speicherort der /boot-Partition an: Der Abschnitt „kernel“ gibt den Speicherort der Kerneldatei an , das Berechtigungsattribut ist schreibgeschützt („ro“) und gibt den Speicherort der Root-Partition an (root=LABEL=/); Daher besteht beim Booten von GRUB die Reihenfolge darin, zuerst die /boot-Partition zu laden und dann nacheinander die Kernel- und Image-Dateien zu laden.
Fall: Der Abschnitt „Titel Fedora Core (2.6.18-1.2798.fc6)“ wurde versehentlich gelöscht
Zu diesem Zeitpunkt gibt das System automatisch „GRUB> ; „Befehlszeile, zur Fehlerbehebung können wir die folgenden Vorgänge nacheinander ausführen:
1. Suchen Sie die Partition, auf der sich die Datei /boot/grub/grub.conf befindet. GRUB> finden Sie /boot/grub /grub.conf(hd0, 0)
2. Überprüfen Sie die Datei grub.conf auf Fehler GRUB>cat (hd0, 0)/boot/grub/grub.conf Es wird empfohlen, dies nach der Installation des Systems zu tun Wenn es eine Sicherungsdatei wie grub.conf.bak gibt, können Sie die Sicherungsdatei zu diesem Zeitpunkt überprüfen, mit der aktuellen Datei vergleichen und den Fehler finden : GRUB>cat (hd0, 0)/boot/grub/grub.conf.bak
3. Bestätigen Sie den Fehler. Schließen Sie abschließend zunächst den GRUB-Start über die Befehlszeile ab und reparieren Sie dann die Datei grub.conf Fehler nach dem Betreten des Systems: 1) Geben Sie den /boot-Partitionsstamm (hd0, 0) an
2) Geben Sie den zu ladenden Kernel an /boot/ vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL= / rhgb quiet 3) Geben Sie den Speicherort der Bilddatei an initrd /boot/initrd-2.6.18-1.2798.fc6.img
Tipp: GRUB unterstützt Tabs. Funktion zur Vervollständigung von Tastenbefehlen
4. Starten Sie den Bootvorgang von der /boot-Partition (hd0, 0)
Der Befehlszeilenmodus kann durch Drücken der Taste „c“ im GRUB-Menümodus aufgerufen werden, oder Sie können verwenden, um den neu kompilierten Kernel zu testen (set Kernel hochfahren, initrd zum Booten des neuen Kernels und der Image-Datei). Die Verbesserung Ihres Verständnisses des GRUB-Bootens und des Bootens von Linux-Systemen wird bei der Behebung dieser Art von Problemen einen großen Beitrag leisten.
(3) Linux-Rettungsmodusanwendung
Wenn das System nicht einmal in den Einzelbenutzermodus wechseln kann oder die GRUB-Befehlszeile das Problem nicht lösen kann Problem Boot-Probleme, wir müssen den Linux-Rettungsmodus zur Fehlerbehebung verwenden. Die Schritte sind wie folgt:
1. Legen Sie die Linux-Installations-CD (bei Verwendung einer CD die erste Boot-CD) in das CD-ROM-Laufwerk ein, stellen Sie das Firmware-CMOS/BIOS so ein, dass es von der CD startet. Wenn der Linux-Installationsbildschirm angezeigt wird, geben Sie an der Eingabeaufforderung „boot:“ „linux Rescue“ ein und drücken Sie die Eingabetaste, um in den Rettungsmodus zu gelangen. (Wenn Sie mehr über den Rettungsmodus erfahren möchten, können Sie zum Anzeigen auch die Taste F5 drücken)
2. Das System erkennt die Hardware, startet die Linux-Umgebung auf der CD und fordert Sie zur Auswahl auf die im Rettungsmodus zu verwendende Sprache (es wird empfohlen, die Standardeinstellung Englisch zu wählen. Laut dem Test des Autors erzeugen einige Linux-Systeme verstümmelte Zeichen, wenn Sie Chinesisch auswählen). Die Einstellungen können je nach Bedarf vorgenommen werden. Für die meisten Fehlerreparaturen ist keine Netzwerkverbindung erforderlich. Wählen Sie „Nein“.
3. Als nächstes wird das System versuchen, die Root-Partition zu finden, und eine Mount-Eingabeaufforderung wird angezeigt. Die Standardeinstellung ist der Rettungsmodus. Die Root-Partition der Festplatte wird in /mnt/sysimage gemountet Die Standardoption ist „Weiter“ bedeutet, dass die Mount-Berechtigung Lesen und Schreiben ist: „Schreibgeschützt“ bedeutet „Nur Lesen“. Wenn die Erkennung fehlschlägt, können Sie zum Überspringen „Überspringen“ wählen. Da das System repariert werden muss, sind hier Lese- und Schreibrechte erforderlich. Im Allgemeinen ist die Standardoption „Weiter“ ausgewählt.
Nachdem Sie den nächsten Schritt eingegeben haben, fordert das System Sie auf, den Befehl „chroot /mnt/sysimage“ auszuführen, um das Stammverzeichnis im Stammverzeichnis unseres Festplattensystems bereitzustellen.
Fall 1: Dual-System-Startup-Reparatur
Wenn wir eine Dual-System-Umgebung installieren, installieren wir zuerst Linux und dann Windows, oder das Windows, das in der installiert wurde Die Dual-System-Umgebung ist beschädigt. Nach der Neuinstallation von Windows wird der MBR (Master Boot Record), der GRUB speichert, vom Bootloader NTLDR des Windows-Systems überschrieben, was dazu führt, dass das Linux-System nicht startet.
1. Wenn Sie das Dual-System-Booten wiederherstellen möchten, wechseln Sie zunächst mit der oben genannten Methode in den Rettungsmodus und führen Sie den Befehl chroot wie folgt aus:
sh-3.1# chroot /mnt/sysimage
2. Wechseln Sie das Stammverzeichnis in das Stammverzeichnis des Festplattensystems und führen Sie dann den Befehl grub-install aus, um GRUB neu zu installieren:
sh-3.1# grub-install /dev/hda
„/dev/hda“ ist der Festplattenname, wenn Sie eine SCSI-Festplatte verwenden oder Linux auf der zweiten IDE-Festplatte installiert ist, muss diese Einstellung entsprechend vorgenommen werden.
3. Führen Sie dann nacheinander den Exit-Befehl aus, um den Chroot-Modus und den Rettungsmodus zu verlassen (führen Sie den Exit-Befehl zweimal aus):
sh-3.1# exit
Nachdem das System neu gestartet wurde, startete das GRUB-Dual-System Der Startvorgang wird wiederhergestellt.
Fall 2: Reparatur einer verlorenen Systemkonfigurationsdatei
Während des Systemstarts ist ein sehr wichtiger Prozess, dass der Init-Prozess seine Konfigurationsdatei /etc/inittab liest und startet Das Basisdienstprogramm des Systems und das Standard-Runlevel-Dienstprogramm vervollständigen den Systemstart. Wenn /etc/inittab versehentlich gelöscht oder falsch geändert wird, startet Linux nicht normal, wie in Abbildung 7 dargestellt. Zu diesem Zeitpunkt können solche Probleme nur durch den Rettungsmodus gelöst werden.
/etc/inittab-Datei fehlt Beispiel für einen Startfehler
1、有备份文件的恢复办法进入救援模式,执行chroot命令后,如果有此文件的备份(强烈建议系统中的重要数据目录,如/etc、/boot等要进行备份),直接将备份文件拷贝回去,退出重启即可。如果是配置文件修改错误,如比较典型的/boot/grub/grub.conf及/etc/passwd的文件修改错误,也可以直接修正恢复。假设有备份文件/etc/inittab.bak,则在救援模式下执行:
sh-3.1# chroot /mnt/sysimagesh-3.1# cp /etc/inittab.bak /etc/inittab
2、没有备份文件的恢复办法如果一些配置文件丢失或软件误删除,且无备份,可以通过重新安装软件包来恢复,首先查找到/etc/inittab属于哪一个RPM包(即便文件丢失,因为存在RPM数据库,一样可以查找到结果):sh-3.1# chroot /mnt/sysimage sh-3.1# rpm -qf /etc/inittab initscripts-8.45.3-1
退出chroot模式:
sh-3.1# exit
挂载存放RPM包的安装光盘(在救援模式下,光盘通常挂载在/mnt/source目录下):
sh-3.1# mount /dev/hdc /mnt/source
Fedora系统的RPM包存放在光盘Fedora/RPMS目录下,其他Linux存放位置大同小异,我在这里不一一列举;另外,因为要修复的硬盘系统的根目录在/mnt/sysimage下,需要使用——root选项指定其位置。覆盖安装/etc/inittab文件所在的RPM包:
sh-3.1# rpm -ivh ——replacepkgs ——root /mnt/sysimage /mnt/source/Fedora/RPMS/ initscripts-8.45.3-1.i386.rpm
其中的rpm命令选项“——replacepkgs”表示覆盖安装,执行完成后,即已经恢复了此文件。
如果想只提取RPM包中的/etc/inittab文件进行恢复,可以在进入救援模式后,执行命令:
sh-3.1# rpm2cpio /mnt/source/Fedora/RPMS/initscripts-8.45.3-1.i386.rpm | cpio -idv ./etc/inittabsh-3.1# cp etc/inittab /mnt/sysimage/etc
注意此命令执行时不能将文件直接恢复至/etc目录,只能提取到当前目录下,且恢复的文件名称所在路径要写完整的绝对路径。提取文件成功后,将其复制到根分区所在的/mnt/sysimage目录下相应位置即可。
救援模式是维护Linux的有力武器,本文以上述两个例子讲解了它的应用方法,希望能够给读者一点启示。解决Linux系统启动的故障,必须充分理解Linux的引导过程,才能够对故障进行有效的判断和处理。
Das obige ist der detaillierte Inhalt vonTipps zur Fehlerbehebung und Reparatur von Linux-Systemfehlern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!