Bootvorgang

Eine exemplarische Darstellung inklusive Erläuterungen zu Linux-Bootvorgängen:

  1. Einschalten (Reset, POST - Power On Self Test)

  2. BIOS / UEFI mit Bootsequenz (Startreihenfolge; engl: Bootsequence / Startmedien)

    Übersicht Bootmedien:

    USB (Sticks / HD), Netzwerk (PXE / TFTP), Festplatten / SSDs, Optische Medien (CD/DVD)

  3. MBR lesen - Masterbootrecord mit Partitionstabelle (Nutzung von UEFI mit GPT ist anders: wir benötigen eine spezielle ESP - EFI System Partition mit Fat32/vfat Dateisystem)

    maximal 4 Partitionen: 4 Primäre oder 3 Primäre und 1 Erweiterte

    Hinweis:

    für das Booten von HDs > 2,2 TB wird UEFI mit GPT (GUID Partition Table) benötigt

    Erinnerung / Tipp: (ggf. nach Fehlschlag Parallelinstalation zu Windows)

    Win-Systeme benötigen als Bootstandard eine Aktive primäre Partition inkl. eines „sauberen“ MBR (Generischer MBR)

    → Reparatur-Tipp zum MBR: mit Win-DVD:

    bootrec /fixmbr (bzw. bootrec /fixboot für Bootsektor) in Reparaturkonsole

    Darstellung zu Partitionierungen:

    exemplarische Szenarios für Parallelinstallation mit Windows - Linktipp MS

  4. Linux-Bootmanager: GRUB2 (Übersicht Bootmanager und Technik Bootmanager folgt)

    Vorgänger / Bootalternativen: GRUB (Version 1), LILO (Linux Loader)

  5. Kernel und initrd (klassisch: init Ramdisk - initrd laden; Anm.: die Ramdisk ist optional)

    Symlinks bei openSUSE: vmlinux (komprimierter Kernel), initrd

    Analyse Kernel-Version: uname -a bzw. uname -r

  6. systemd (Erster Prozess mit ID „1“) (früher: SysVInit mit Urprozess init)

Anm.: moderne Linuxe benutzen nahezu ausschließlich systemd („abwärtskompatibel“ zu init).

Ubuntu hatte zwischenzeitlich upstart als init-Lösung (Ubuntu nutzt aber auch systemd ab Ubuntu 16.04 LTS)

Gründe für Abkehr von SysVinit zu alternativen init-Techiken:

  • Effizienter

  • Parallel arbeitend

  • Abhängigkeiten von Prozessen cleverer lösend

  • moderne Tools (journalctl, systemctl, …)

  • moderne Problemanalysen und Loggings

Tipp zur Startanalyse:

systemd-analyze blame (erzählt in ms - Millisekunden - die Geschichte der „Starts“)

oder auch:

systemd-analyze plot > grafische-analyse.svg (erstellt SVG-Grafik)

Systemd Analyse mit Plot

Systemd Analyse mit Plot

Technisch: systemd arbeitet mit Targets (z.B. graphical.target, multi-user.target) statt den klassischen Runleveln

Befehle:

init , telinit , runlevel , systemctl (statt sysctl bei init-Technik), journalctl (für Analyse/Logging)