Der Linux-Startvorgang - 6 Schritte im Detail beschrieben

Ein Betriebssystem (OS) ist eine Software auf niedriger Ebene, die Ressourcen verwaltet, Peripheriegeräte steuert und grundlegende Dienste für andere Software bereitstellt. Unter Linux gibt es 6 verschiedene Phasen des typischen Startvorgangs.

1. BIOS

BIOS steht für Basic Input / Output System. In einfachen Worten, das BIOS lädt den MBR-Bootloader (Master Boot Record) und führt ihn aus.

Wenn Sie Ihren Computer zum ersten Mal einschalten, führt das BIOS zunächst einige Integritätsprüfungen der Festplatte oder SSD durch.

Anschließend sucht das BIOS nach dem Bootloader-Programm, das im Master Boot Record (MBR) enthalten ist, lädt es und führt es aus. Der MBR befindet sich manchmal auf einem USB-Stick oder einer CD-ROM, z. B. bei einer Live-Installation von Linux.

Sobald das Bootloader-Programm erkannt wurde, wird es in den Speicher geladen und das BIOS gibt ihm die Kontrolle über das System.

2. MBR

MBR steht für Master Boot Record und ist für das Laden und Ausführen des GRUB-Bootloaders verantwortlich.

Der MBR befindet sich im ersten Sektor der bootfähigen Festplatte, was normalerweise /dev/hdaoder /dev/sdaabhängig von Ihrer Hardware der Fall ist . Der MBR enthält auch Informationen zu GRUB oder LILO in sehr alten Systemen.

3. GRUB

Manchmal als GNU GRUB bezeichnet, was für GNU GRand Unified Bootloader steht, ist dies der typische Bootloader für die meisten modernen Linux-Systeme.

Der GRUB-Begrüßungsbildschirm ist häufig das erste, was Sie sehen, wenn Sie Ihren Computer starten. Es hat ein einfaches Menü, in dem Sie einige Optionen auswählen können. Wenn Sie mehrere Kernel-Images installiert haben, können Sie mit Ihrer Tastatur das auswählen, mit dem Ihr System gestartet werden soll. Standardmäßig ist das neueste Kernel-Image ausgewählt.

Der Begrüßungsbildschirm wartet einige Sekunden, bis Sie eine Option auswählen. Wenn Sie dies nicht tun, wird das Standard-Kernel-Image geladen.

In vielen Systemen finden Sie die GRUB-Konfigurationsdatei unter /boot/grub/grub.confoder /etc/grub.conf. Hier ist ein Beispiel für eine einfache grub.confDatei:

#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img

4. Kernel

Der Kernel wird oft als Kern eines Betriebssystems bezeichnet, einschließlich Linux. Es hat die vollständige Kontrolle über alles in Ihrem System.

In dieser Phase des Startvorgangs stellt der von GRUB ausgewählte Kernel zuerst das in der grub.confDatei angegebene Root-Dateisystem bereit. Dann führt es das /sbin/initProgramm aus, das immer das erste Programm ist, das ausgeführt wird. Sie können dies mit der Prozess-ID (PID) bestätigen, die immer 1 sein sollte.

Der Kernel erstellt dann mithilfe der Initial RAM Disk (initrd) ein temporäres Root-Dateisystem, bis das reale Dateisystem bereitgestellt ist.

5. Init

Zu diesem Zeitpunkt führt Ihr System Runlevel-Programme aus. An einem Punkt würde es nach einer Init-Datei suchen, die normalerweise gefunden wird /etc/inittab, um die Linux-Ausführungsstufe zu bestimmen.

Moderne Linux-Systeme verwenden systemmd, um stattdessen eine Ausführungsstufe auszuwählen. Laut TecMint sind dies die verfügbaren Laufstufen:

Run - Level 0 wird durch abgestimmte poweroff.target (und runlevel0.target ist eine symbolische Verbindung zu poweroff.target ).

Run - Level 1 wird durch abgestimmte rescue.target (und runlevel1.target ist eine symbolische Verbindung zu rescue.target ).

Run - Ebene 3 wird von emulierten multi-user.target (und runlevel3.target ist eine symbolische Verbindung zu multi-user.target ).

Run Level 5 wird von graphical.target emuliert (und runlevel5.target ist eine symbolische Verknüpfung zu graphical.target ).

Führen Stufe 6 wird von emulierten reboot.target (und runlevel6.target ist eine symbolische Verbindung zu reboot.target ).

Notfall wird durch Notfall.Ziel abgeglichen .

systemmd beginnt dann mit der Ausführung von Runlevel-Programmen.

6. Runlevel-Programme

Abhängig davon, welche Linux-Distribution Sie installiert haben, können möglicherweise verschiedene Dienste gestartet werden. Zum Beispiel könnten Sie fangen starting sendmail …. OK.

Diese werden als Runlevel-Programme bezeichnet und je nach Run-Level aus verschiedenen Verzeichnissen ausgeführt. Jede der oben beschriebenen 6 Runlevel hat ein eigenes Verzeichnis:

  • Run Level 0 - /etc/rc0.d/
  • Führen Sie Level 1 aus - /etc/rc1.d/
  • Führen Sie Level 2 aus - /etc/rc2.d/
  • Führen Sie Level 3 aus - /etc/rc3.d/
  • Führen Sie Level 4 aus - /etc/rc4.d/
  • Führen Sie Level 5 aus - /etc/rc5.d/
  • Führen Sie Level 6 aus - /etc/rc6.d/

Beachten Sie, dass der genaue Speicherort dieser Verzeichnisse von Verteilung zu Verteilung unterschiedlich ist.

Wenn Sie in den verschiedenen Laufverzeichnissen nachsehen, finden Sie Programme, die entweder mit einem "S" oder einem "K" zum Starten bzw. Beenden beginnen. Startprogramme werden beim Systemstart ausgeführt und Programme beim Herunterfahren beendet.

Das ist alles, was Sie über den Linux-Bootvorgang wissen müssen. Jetzt geh raus und mach Tux stolz.