Grub2 Bios Systemstart: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „*Uefi Ubuntu“ |
|||
| (11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
*[[ | =Schaubild= | ||
== Farbige Pfeile im Diagramm == | |||
* Rot: BIOS lädt den MBR. | |||
* Violett: MBR lädt core.img (Stage 1.5). | |||
* Grün: core.img lädt grub.cfg aus /boot/grub. | |||
* Magenta: GRUB lädt Kernel und initrd. | |||
* Blau: Kernel mountet Root-Dateisystem (/dev/sda1). | |||
* Cyan: Kernel startet init/systemd. | |||
=post-MBR gap = | |||
{{#drawio:Grub-systemstart}} | |||
=BIOS Boot Partition mit GPT= | |||
{{#drawio:Grub-systemstart-gpt}} | |||
=BIOS= | |||
* Das BIOS führt den Power-On Self-Test (POST) durch und sucht nach einem bootfähigen Gerät. | |||
* Sobald ein bootfähiges Gerät gefunden wird, lädt das BIOS den Master Boot Record (MBR) vom ersten Sektor der Festplatte (LBA 0). | |||
=Master Boot Record (MBR)= | |||
* Der MBR ist 512 Bytes groß und enthält den Bootloader-Code (Stage 1). | |||
* Der Bootloader-Code im MBR lädt Stage 1.5. | |||
=GRUB Stage 1.5 (core.img)= | |||
* Stage 1.5 wird im [[post-MBR gap]] oder [[BIOS Boot Partition]] geladen und ermöglicht es GRUB, das Dateisystem zu lesen. | |||
* Stage 1.5 lädt Stage 2, das sich im Verzeichnis /boot/grub befindet. | |||
=GRUB Stage 2= | |||
* Stage 2 besteht aus mehreren Dateien und Modulen im Verzeichnis /boot/grub. | |||
* Die Datei grub.cfg enthält Boot-Einträge und Optionen. | |||
* 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)= | |||
* GRUB 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. | |||
* GRUB ü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 init/systemd= | |||
* Der Kernel startet den ersten Userspace-Prozess, traditionell init, in modernen Linux-Systemen jedoch oft systemd. | |||
* systemd liest seine Konfigurationsdateien und startet die notwendigen Systemdienste und Prozesse, um das Betriebssystem vollständig hochzufahren. | |||
Aktuelle Version vom 19. Juli 2024, 10:32 Uhr
Schaubild
Farbige Pfeile im Diagramm
- Rot: BIOS lädt den MBR.
- Violett: MBR lädt core.img (Stage 1.5).
- Grün: core.img lädt grub.cfg aus /boot/grub.
- Magenta: GRUB lädt Kernel und initrd.
- Blau: Kernel mountet Root-Dateisystem (/dev/sda1).
- Cyan: Kernel startet init/systemd.
post-MBR gap
BIOS Boot Partition mit GPT
BIOS
- Das BIOS führt den Power-On Self-Test (POST) durch und sucht nach einem bootfähigen Gerät.
- Sobald ein bootfähiges Gerät gefunden wird, lädt das BIOS den Master Boot Record (MBR) vom ersten Sektor der Festplatte (LBA 0).
Master Boot Record (MBR)
- Der MBR ist 512 Bytes groß und enthält den Bootloader-Code (Stage 1).
- Der Bootloader-Code im MBR lädt Stage 1.5.
GRUB Stage 1.5 (core.img)
- Stage 1.5 wird im post-MBR gap oder BIOS Boot Partition geladen und ermöglicht es GRUB, das Dateisystem zu lesen.
- Stage 1.5 lädt Stage 2, das sich im Verzeichnis /boot/grub befindet.
GRUB Stage 2
- Stage 2 besteht aus mehreren Dateien und Modulen im Verzeichnis /boot/grub.
- Die Datei grub.cfg enthält Boot-Einträge und Optionen.
- 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)
- GRUB 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.
- GRUB ü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 init/systemd
- Der Kernel startet den ersten Userspace-Prozess, traditionell init, in modernen Linux-Systemen jedoch oft systemd.
- systemd liest seine Konfigurationsdateien und startet die notwendigen Systemdienste und Prozesse, um das Betriebssystem vollständig hochzufahren.

