Grub2 Uefi Systemstart: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=UEFI= * Das UEFI (Unified Extensible Firmware Interface) führt die Initialisierung der Hardware durch und sucht nach einem bootfähigen Gerät. * Sobald ein…“)
 
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
== Farbige Pfeile im Diagramm ==
 +
* Rot: UEFI lädt Shim.
 +
* Violett: Shim lädt GRUB2.
 +
* Grün: GRUB2 lädt grub.cfg und zeigt das Boot-Menü an.
 +
* Magenta: GRUB2 lädt Kernel und initrd.
 +
* Blau: Kernel mountet Root-Dateisystem (/dev/sda1).
 +
* Cyan: Kernel startet systemd.
 +
* Orange: systemd setzt den Hostnamen.
 +
* Gelb: systemd setzt die Uhrzeit.
 +
* Braun: systemd mountet weitere Dateisysteme.
 +
 +
{{#drawio:Grub-systemstart-uefi}}
 +
 
=UEFI=
 
=UEFI=
 
* Das UEFI (Unified Extensible Firmware Interface) führt die Initialisierung der Hardware durch und sucht nach einem bootfähigen Gerät.
 
* Das UEFI (Unified Extensible Firmware Interface) führt die Initialisierung der Hardware durch und sucht nach einem bootfähigen Gerät.
Zeile 37: Zeile 50:
 
=Weitere Dateisysteme mounten=
 
=Weitere Dateisysteme mounten=
 
* systemd mountet weitere benötigte Dateisysteme, wie in den Konfigurationsdateien definiert (z.B. /etc/fstab).
 
* systemd mountet weitere benötigte Dateisysteme, wie in den Konfigurationsdateien definiert (z.B. /etc/fstab).
 
=== Farbige Pfeile im Diagramm ===
 
* Rot: UEFI lädt Shim.
 
* Violett: Shim lädt GRUB2.
 
* Grün: GRUB2 lädt grub.cfg und zeigt das Boot-Menü an.
 
* Magenta: GRUB2 lädt Kernel und initrd.
 
* Blau: Kernel mountet Root-Dateisystem (/dev/sda1).
 
* Cyan: Kernel startet systemd.
 
* Orange: systemd setzt den Hostnamen.
 
* Gelb: systemd setzt die Uhrzeit.
 
* Braun: systemd mountet weitere Dateisysteme.
 

Aktuelle Version vom 3. Juni 2024, 12:47 Uhr

Farbige Pfeile im Diagramm

  • Rot: UEFI lädt Shim.
  • Violett: Shim lädt GRUB2.
  • Grün: GRUB2 lädt grub.cfg und zeigt das Boot-Menü an.
  • Magenta: GRUB2 lädt Kernel und initrd.
  • Blau: Kernel mountet Root-Dateisystem (/dev/sda1).
  • Cyan: Kernel startet systemd.
  • Orange: systemd setzt den Hostnamen.
  • Gelb: systemd setzt die Uhrzeit.
  • Braun: systemd mountet weitere Dateisysteme.

UEFI

  • Das UEFI (Unified Extensible Firmware Interface) führt die Initialisierung der Hardware durch und sucht nach einem bootfähigen Gerät.
  • Sobald ein bootfähiges Gerät gefunden wird, lädt UEFI den signierten Bootloader "shim".

Shim

  • Shim ist ein minimaler Bootloader, der von Microsoft signiert ist.
  • Shim lädt einen anderen Bootloader (GRUB2), der von Shim signiert wurde.

GRUB2

  • GRUB2 wird von Shim geladen und übernimmt die Kontrolle.
  • GRUB2 lädt die Konfigurationsdatei (grub.cfg), die Boot-Einträge und Optionen enthält.
  • Ein Boot-Menü wird angezeigt, aus dem der Benutzer das zu startende Betriebssystem auswählen kann, oder der Standard-Kernel wird automatisch gestartet.

Kernel und Initial Ramdisk (initrd)

  • GRUB2 lädt den Kernel und die Initial Ramdisk (initrd) in den Speicher.
  • Der Kernel wird gestartet und initrd enthält die benötigten Treiber und Dateien, die für den Start des Kernels erforderlich sind.
  • GRUB2 übergibt die Kontrolle an den Kernel, der im Speicher geladen ist.

Kernel-Initialisierung

  • Der Kernel wird ausgeführt und initialisiert die Hardware.
  • Der Kernel verwendet die Dateien und Treiber in der initrd, um das Root-Dateisystem zu laden.

Mounten des Root-Dateisystems

  • Nach der Initialisierung des Kernels wird das endgültige Root-Dateisystem von der festgelegten Partition (z.B. /dev/sda1) gemountet.
  • Die Initial Ramdisk (initrd) übergibt die Kontrolle an das tatsächliche Root-Dateisystem.

Starten von systemd

  • Der Kernel startet den ersten Userspace-Prozess, systemd.
  • systemd liest seine Konfigurationsdateien und startet die notwendigen Systemdienste und Prozesse, um das Betriebssystem vollständig hochzufahren.

Hostname setzen

  • systemd setzt den Hostnamen des Systems entsprechend der Konfiguration.

Uhrzeit setzen

  • systemd setzt die Systemzeit, entweder durch Synchronisation mit einem Zeitserver oder durch Nutzung der Hardware-Uhr.

Weitere Dateisysteme mounten

  • systemd mountet weitere benötigte Dateisysteme, wie in den Konfigurationsdateien definiert (z.B. /etc/fstab).