LPIC101/101.2 Das System starten

Aus Foxwiki

Das System starten unter Debian

Allgemeines:

  • grundsätzliche Funktionstüchtigkeit des Systems durch Power-on-Self-Test:
  • Test des Arbeitsspeichers auf seine Grösse und prinzipielle Funktionstüchtigkeit
  • nach der Initialisierung aller Hardwarekomponenten, sucht das BIOS nach einem Betriebssystem oder einem Programm, das ein Betriebssystem laden kann
  • im BIOS ist eine genaue Suchreihenfolge hinterlegt und diese beinhaltet meist Diskettenlaufwerke, Festplatten, CD-ROMS, SCSI-Adapter, USB-Geräte und zudem bootfähige Netzwerkkarten

Startvorgang auf Festplatten

  • bei vielen Systemen so auch bei Linux kann man drei primäre und eine erweiterte Partition konfigurieren, diese erweiterte Partition kann ihrerseits logische Partitionen enthalten, die ebenfalls nicht von der Partitionstabelle verwaltet werden
  • diese Patitionstabelle befindet sich im sogenannten MBR (Master Boot Record)
  • MBR gehört selbst keiner Partition an sondern ist eigenständig und ist genau 512 Byte gross und befindet sich am Anfang einer Festplatte im Sektor 0, Spur 0
  • das BIOS liest dort ein Ladeprogramm in hexadezimaler Schreibweise, nämlich GRUB 2 und im unteren Bereich die Partitionstabelle
  • je nach Betriebssystem läuft der Startvorgang in zwei unterschiedlichen Möglichkeiten ab:
  1. wenn ein Bootloader vorgefunden wurde gibt, gibt das BIOS die Kontrolle an diesen ab und beendet sich
  2. wenn kein Bootloader vorhanden ist, konsultiert das BIOS die Partitionstabelle: hier sucht das BIOS nach einer startfähigen Partition (diese Partitionstabelle beginnt in der 5. Zeile von unten mit 8020 und endet mit 55aa; 55aa ist die Abschlussmarkierung)
  • die Partition die mit 80 beginnt ist die Startpartition
  • wenn kein Ladeprogramm im MBR vorliegt, folgt das BIOS nun diesem Verweis und und liest den Bootsektor der Partition aus
  • spätestens hier sollten sich Bootloader oder das Betriebssystem selbst befinden-> jetzt beginnt der Vorgang, den mann als das eigentliche Booten bezeichnet
  • Wenn Sie Ihren MBR auf dem Bildschirm ausgeben wollen, können Sie z. B. dieses Kommando verwenden:
    dd if=/dev/sda bs=512 count=1|od -h --endian=big

UEFI (Unified Extensible Firmware Interface)

  • bei modernen Hauptplatinen kommt nicht mehr BIOS sondern UEFI zu Einsatz
  • grundsätzlicher Verwendungszweck kommt aber dem des BIOS gleich
  • UEFI weist neue Funktionen auf:


  • hohe Grafikauflösungen im Setup-Programm
    • Unterstüzung von GUID-Partitionstabellen für Festplatten mit einer Grösse von bis 8 Zebibytes
    • Netzwerkanbindung zur Fernwartung
    • Integrationsmöglichkeit von Treibern auf Firmware-Ebene
    • integrierter Bootloader
    • Digital Rights Managment


  • UEFI benötigt eine eigene Partition, diese wird als EFI System Partition(ESP) bezeichnet
  • diese Partition wird von Betriebssystemen, die UEFI unterstützen während der Installation automatisch angelegt
  • benötigt FAT-Dateisystem
  • die EFI System Partition wird unter Linux im Verzeichnis /boot/efi bereitgestellt, enthält zumindest den Bootloader oder andere zum Start benötigte Dateien
  • GRUB zum Beispiel kann den Kernel auch laden, wenn er sich nicht in der ESP befindet
  • systemd-boot kann das nicht, dort muss der Kernel innerhalb der ESP liegen

Boot-Strap-Loader

  • dieser Ausdruck kommt von der Geschichte von Baron von Münchhausen, der in einen Sumpf gefallen sein soll und sich selber an den eigenen Haaren aus diesem Sumpf herausgezogen haben soll
  • beim Übersetzen der Münchhausen-Geschichte ins Englische wurde es so abgewandelt, dass sich der Baron am Stiefelgurt(Boot-Strap) aus dem Sumpf gezogen haben soll
  • so kann man sich das Hochziehen des Betriebssystem sinnbildlich vorstellen: ein Betriebssystem dient einerseits als Plattform um Software auszuführen, andererseits ist ein Betriebssystem selber Software
  • deshalb nennen wir den Begriff Boot-Strap-Loader, oder kurz Bootloader


dmesg |less- Ausgaben die der Kernel während des Systemstarts ausgibt, Programmbefehl diese auszulesen

grep kernel /var/log/messages | less
unter systemd: journalctl -k um Protokollierung des Systems auszulesen