Linux_ System Boot-Prozess, MBR-Sektorfehler reparieren

1. Der Startvorgang des Linux-Betriebssystems

Fügen Sie hier eine Bildbeschreibung ein

1. POST

Nach dem Einschalten des Server-Hosts werden CPU, Speicher, Grafikkarte, Tastatur und andere Geräte zunächst gemäß den Einstellungen im Motherboard-BIOS getestet. Nach erfolgreichem Test wird die Systemsteuerung gemäß dem voreingestellten Start übertragen Die meiste Zeit wird auf die lokale Festplatte übertragen.
Zusammenfassung: Das erste Gerät, das das System booten kann, wird erkannt, z. B. eine Festplatte oder ein optisches Laufwerk

2. MBR-Start

Wenn Sie das System von der lokalen Festplatte starten, übertragen Sie zuerst die Systemsteuerung auf die Partition, die die Startdatei des Betriebssystems enthält, gemäß der MBR-Einstellung (Master Boot Record) im ersten Sektor der Festplatte oder direkt gemäß dem Start in der MBR-Datensatz Die Informationen rufen das Startmenü auf (z. B. GRUB).
Zusammenfassung: Führen Sie das im MBR-Sektor platzierte Boot-GRUB-Boot-Programm aus

3. GRUB Menü

Für das Linux-Betriebssystem ist GRUB (Unified Boot Loader) das am häufigsten verwendete Multi-System-Bootloader-Programm. Nachdem die Systemsteuerung an GRUB übergeben wurde, wird dem Benutzer das Startmenü zur Auswahl angezeigt, und die Linux-Kerneldatei wird gemäß der ausgewählten Option (oder dem Standardwert) geladen, und anschließend wird die Systemsteuerung an übertragen der Kernel.
CentOS 7 verwendet den GRUB2-Bootloader.

Zusammenfassung: Das GRUB-Startprogramm liest die GRUB-Konfigurationsdatei /boot/grub2/grub.cfg, um die Einstellungen und Pfadpositionen des Kernel- und Spiegeldateisystems abzurufen

4. Laden Sie den Linux-Kernel

Der Linux-Kernel ist eine vorkompilierte spezielle Binärdatei zwischen verschiedenen Hardwareressourcen und Systemprogrammen, die für die Ressourcenzuweisung und -planung verantwortlich ist. Nachdem der Kernel die Kontrolle über das System übernommen hat, wird er den laufenden Prozess des gesamten Linux-Betriebssystems vollständig kontrollieren.
Im CentOS 7-System befindet sich die Standard-Kerneldatei unter "/boot/vmlinuz-3.10.0-514.el7.x86_64".

Zusammenfassung: Laden Sie das Kernel- und Spiegeldateisystem in den Speicher

5. Initialisierung des Init-Prozesses

Um den weiteren Systemstartprozess abzuschließen, lädt der Linux-Kernel zuerst das Programm "/ sbin / init" im System in den Speicher, um es auszuführen (das laufende Programm wird als Prozess bezeichnet). Der Init-Prozess ist für den Abschluss der Initialisierung verantwortlich des gesamten Systems und wartet schließlich darauf, dass der Benutzer fortfährt, sich anzumelden.

Zusammenfassung: Laden Sie den Hardwaretreiber, der Kernel lädt den Init-Prozess zur Ausführung in den Speicher

Der Unterschied zwischen Sysvinit und Systend:

Herkömmliches Sysvinit ist auf die serielle Ausführung von Shell-Skripten angewiesen, um Dienste zu starten. Dies führt zu einer geringen Effizienz und einer langsamen Systemstartgeschwindigkeit.
Systemd kann mehr Dienstprozesse parallel starten und Dienste bei Bedarf starten, sodass weniger Prozesse gestartet werden können. Dadurch wird die Systemstartgeschwindigkeit verbessert.

2. Systeminitialisierungsprozess

1. Init-Prozess

● Das Programm / sbin / init wird vom Linux-Kernel geladen und ausgeführt

● Der Init-Prozess ist der erste Prozess im System

● Die PID-Nummer (Process Identifier) ​​des Init-Prozesses ist immer 1

2. Systemd

● Systemd ist eine Art Init-Software des Linux-Betriebssystems

● CentOS7 verwendet eine neue Systemd-Startmethode, die das herkömmliche SysVinit ersetzt

● Der erste Init-Prozess, der in CentOS ausgeführt wird, ist / lib / systemd / systemd

Fügen Sie hier eine Bildbeschreibung ein

3. Systemd-Einheitentyp

Gerätetyp Name der Erweiterung Beschreibung
Bedienung .Bedienung Beschreiben eines Systemdienstes
Steckdose .Steckdose Beschreiben eines Sockets für die Kommunikation zwischen Prozessen
Gerät .Gerät Beschreiben einer vom Kernel erkannten Gerätedatei
Montieren .montieren Beschreiben des Einhängepunkts eines Dateisystems
Automount .automount Beschreiben des automatischen Einhängepunkts eines Dateisystems
Tauschen .Tauschen Beschreiben eines Speicheraustauschgeräts oder einer Auslagerungsdatei
Pfad .Pfad Beschreiben einer Datei oder eines Verzeichnisses in einem Dateisystem
Timer .Timer Beschreiben eines Timers (zum Implementieren von Cron-ähnlichen Planungsaufgaben)
Schnappschuss .Schnappschuss Wird verwendet, um den Status eines Systems zu speichern
Umfang .Umfang Verwenden Sie die Busschnittstelle von systemd, um externe Prozesse programmgesteuert zu erstellen
Scheibe .Scheibe Beschreiben einer Gruppe von Managementsystemprozessen, die nach Hierarchien in einer cgroup organisiert sind
Ziel .Ziel Beschreiben einer Reihe von Systemeinheiten

4. Das Systemd-Ziel, das der Laufstufe entspricht

Level ausführen Systemd 的 Ziel Beschreibung
0 Ziel Beim Herunterfahren wird der Host heruntergefahren, wenn diese Ebene verwendet wird
1 retten.Ziel Der Einzelbenutzermodus kann sich ohne Kennwortüberprüfung beim System anmelden und wird hauptsächlich für die Systemwartung verwendet
2 multi-user.target Benutzerdefinierte / domänenspezifische Ausführungsebene. Der Standardwert entspricht 3
3 multi-user.target Vollständiger Mehrbenutzermodus mit Zeichenschnittstelle. Die meisten Server-Hosts werden auf dieser Ebene ausgeführt
4 multi-user.target Benutzerdefinierte / domänenspezifische Ausführungsebene. Der Standardwert entspricht 3
5 graphical.target Der Mehrbenutzermodus der grafischen Oberfläche bietet eine grafische Desktop-Betriebsumgebung
6 reboot.target Neustart, der Host wird bei Verwendung dieser Ebene neu gestartet

3. Reparieren Sie den MBR-Sektorfehler

1. Fehlerursache

● Zerstörung durch Viren, Trojaner usw.
● Falsche Partitionsvorgänge, Lese- / Schreibfehler auf der Festplatte

2. Fehlerphänomen

● Das Startprogramm kann nicht gefunden werden, der Start wird unterbrochen.
● Das Betriebssystem kann nicht geladen werden und der Bildschirm wird nach dem Start schwarz

3. Lösungen

● Sicherungsdateien sollten im Voraus erstellt werden.

Von der Installations-CD in den Notfallmodus booten. ● Von Sicherungsdateien wiederherstellen

4. Startfehler beseitigen (experimentelle Schritte)

- Reparieren Sie den MBR-Sektorfehler

MBR befindet sich im ersten physischen Sektor der ersten Festplatte (dev / dsa). Insgesamt 512 Bytes

1. Sichern Sie MBR-Sektordaten auf anderen Festplatten (/ dev / dsb1).

①: Fügen Sie eine neue Festplatte hinzu, fdisk -l, um den Festplattenstatus
anzuzeigen. ②: fdisk / dev / sdb n ----- p ------… geben Sie ----- w, ### Create ein Festplattenpartition
③: mkfs.xfs / dev / sdb1 ### Formatierung
④: mkdir / backup ### Erstellen eines Sicherungsverzeichnisses
⑤: mount / dev / sdb1 / backup / ### Hängen Sie die Festplattenpartition in das Verzeichnis
df -h ein Überprüfen Sie, ob es gemountet wurde. Erfolgreich geladen
⑥: dd if = / dev / sda von = / backup / mbr.bak bs = 512 count = 1 ### Backup-Datei
: Nehmen Sie die Datei von der ersten Festplatte, Backup-Mount-Point-Verzeichnis, Geben Sie die Sicherungsdatei an. Der Name
hat eine Größe von 512 Byte und die Anzahl der Extraktionen beträgt 1
⑦: cd / backup ------- ls ------ ll #### Überprüfen Sie, ob die Datei gut erhalten ist

2. Simulieren Sie die Zerstörung des MBR-Bootsektors: (Zerstörung der 512-Byte-Größe der ersten Festplatte)

①: dd if = / dev / zero von = / dev / sda bs = 512 count = 1
: Nehmen Sie die leere Zeichendatei heraus , die erste Festplatte 512 Bytes einmal
②: init 6 #### Restart

3. Die Startschnittstelle wechselt in den Notfallmodus und stellt die MBR-Sektordaten aus der Sicherungsdatei wieder her
——— Laden Sie zuerst das CD-Image und starten Sie das System neu

①: Wenn die Benutzeroberfläche des Installationselements angezeigt wird, wählen Sie die Option "Fehlerbehebung"

②: Wählen Sie dann die Option "Centos Linux-System retten", um in den Notfallmodus zu wechseln

③: Wählen Sie "1", wählen Sie "Weiter" und drücken Sie die Eingabetaste, um fortzufahren

④: Nachdem Sie erneut die Eingabetaste gedrückt haben, gelangen Sie mit der Eingabeaufforderung "sh -4.2 #" in die Bash-Shell-Umgebung

sh -4.2 # mkdir / backupdir ####### Erstellen Sie ein Verzeichnis

sh-4.2 # mount / dev / sdb1 / backupdir #### Mounten Sie die Partition mit Sicherungsdateien

sh-4.2 # dd if = / backupdir /mbr.bak von = / dev / sda bs = 512 count = 1
#################### Backup - Daten - Wiederherstellung

sh-4.2 # exit ######### Exit

Fünftens. Experimentelle Schritte
1. Sichern Sie MBR-Sektordaten auf anderen Festplatten (/ dev / dsb1).

①: Fügen Sie eine neue Festplatte hinzu, fdisk -l, um den Festplattenstatus zu überprüfen

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein
②: fdisk / dev / sdb n ----- p ------… enter ----- w, ### Erstellen Sie eine Festplattenpartition

Fügen Sie hier eine Bildbeschreibung ein
③: mkfs.xfs / dev / sdb1 ### Formatierung
Fügen Sie hier eine Bildbeschreibung ein ④: mkdir / backup ### Sicherungsverzeichnis erstellen
⑤: mount / dev / sdb1 / backup / ### Hängen Sie die Festplattenpartition in das Verzeichnis
df -h ein Das Mounten ist erfolgreich
Fügen Sie hier eine Bildbeschreibung ein
⑥: dd if = / dev / sda von = / backup / mbr.bak bs = 512 count = 1 ### Sicherungsdatei⑦
: cd / backup ------- ls ----- -ll #### Überprüfen Sie, ob die Datei gut erhalten ist

Fügen Sie hier eine Bildbeschreibung ein

2. Simulieren Sie die Zerstörung des MBR-Bootsektors: (Zerstörung der 512-Byte-Größe der ersten Festplatte)

①: dd if = / dev / zero von = / dev / sda bs = 512 count = 1
: Nehmen Sie die leere Zeichendatei heraus , die erste Festplatte 512 Bytes einmal
②: init 6 #### Restart

Fügen Sie hier eine Bildbeschreibung ein

3. Die Startschnittstelle wechselt in den Notfallmodus und stellt die MBR-Sektordaten aus der Sicherungsdatei wieder her

①: Wenn die Benutzeroberfläche des Installationselements angezeigt wird, wählen Sie die Option
Fügen Sie hier eine Bildbeschreibung ein"Fehlerbehebung".
Fügen Sie hier eine Bildbeschreibung ein
②: Wählen Sie dann die Option "Ein Centos Linux-System retten", um in den Notfallmodus zu gelangen. ③: Wählen Sie "1", wählen Sie "Weiter" und drücken Sie die Eingabetaste, um fortzufahren

④: Nachdem Sie erneut die Eingabetaste gedrückt haben, gelangen Sie mit der Eingabeaufforderung "sh -4.2 #" in die Bash-Shell-Umgebung

Fügen Sie hier eine Bildbeschreibung einFügen Sie hier eine Bildbeschreibung ein
④: Nachdem Sie erneut die Eingabetaste gedrückt haben, gelangen Sie mit der Eingabeaufforderung "sh -4.2 #" in die Bash-Shell-Umgebung

Fügen Sie hier eine Bildbeschreibung ein

sh -4.2 # mkdir / backupdir ####### Erstellen Sie ein Verzeichnis

sh-4.2 # mount / dev / sdb1 / backupdir #### Mounten Sie die Partition mit Sicherungsdateien

sh-4.2 # dd if = / backupdir /mbr.bak von = / dev / sda bs = 512 count = 1
#################### Backup - Daten - Wiederherstellung

sh-4.2 # exit ######### Beenden
Fügen Sie hier eine Bildbeschreibung einund dann exit beenden —————————— Beenden und neu starten

Wiederherstellung:
Fügen Sie hier eine Bildbeschreibung ein
Zu diesem Zeitpunkt wurde der Fehler behoben und neu gestartet, um zum Normalzustand zurückzukehren. Sie können das System betreten:
Fügen Sie hier eine Bildbeschreibung ein

Ich denke du magst

Origin blog.csdn.net/Wsxyi/article/details/113697569
Empfohlen
Rangfolge