LPIC101/101.2 Das System starten: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 55: Zeile 55:




#  
# per Hand





Version vom 31. Oktober 2019, 15:00 Uhr

Das System starten

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 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

Kernel Parameter

  • es gibt zwei Möglichkeiten dem Kernel beim Starten durch den Bootloader Parameter übergeben zu lassen:
  1. Eintragen der Kernel-Parameter bei jedem Systemstart durch Eintragen dieser in die Konfigurationsdatei grub.cfg(z.B.in/boot/grub/grub.cfg)
       linux  /boot/vmlinuz-4.6.3 root=/dev/sda1 apm=off


  1. per Hand






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