Linux Second-Stage-Bootloader
Linux Second-stage boot loader
A two-stage bootloader actually consists of two bootloaders after each other. The first being small with the sole purpose of loading the second one. The second one can then contain all the code needed for loading the kernel. GRUB uses two (or arguably, three) stages.
Ein zweistufiger Bootloader besteht eigentlich aus zwei Bootloadern hintereinander. Der erste ist klein und hat nur den Zweck, den zweiten zu laden. Der zweite kann dann den gesamten Code enthalten, der zum Laden des Kernels benötigt wird. GRUB verwendet zwei (oder wohl eher drei) Stufen.
closed_qa
Second-Stage-Bootloader wie GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR oder iBoot sind selbst keine Betriebssysteme, können aber ein Betriebssystem ordnungsgemäß laden und die Ausführung an dieses übertragen; das Betriebssystem initialisiert sich anschließend selbst und kann zusätzliche Gerätetreiber laden. Der Second-Stage-Bootloader benötigt für seinen eigenen Betrieb keine Treiber, sondern kann stattdessen generische Speicherzugriffsmethoden verwenden, die von der Systemfirmware wie dem BIOS oder der Open Firmware bereitgestellt werden, allerdings in der Regel mit eingeschränkter Hardwarefunktionalität und geringerer Leistung.

Viele Bootloader können so konfiguriert werden, dass sie dem Benutzer mehrere Bootmöglichkeiten bieten. Dazu gehören verschiedene Betriebssysteme (für Dual- oder Multiboot von verschiedenen Partitionen oder Laufwerken), verschiedene Versionen desselben Betriebssystems (für den Fall, dass eine neue Version unerwartete Probleme aufweist), verschiedene Optionen zum Laden des Betriebssystems (z. B, (z. B. Booten in einen Rettungs- oder abgesicherten Modus) und einige eigenständige Programme, die ohne Betriebssystem funktionieren, wie z. B. Speichertester (z. B. memtest86+), eine einfache Shell (wie in GNU GRUB) oder sogar Spiele (siehe Liste der PC-Boot-Spiele).Einige Bootloader können auch andere Bootloader laden; GRUB lädt z. B. BOOTMGR, anstatt Windows direkt zu laden. In der Regel wird eine Standardauswahl mit einer Zeitverzögerung vorgewählt, während der der Benutzer eine Taste drücken kann, um die Auswahl zu ändern; nach dieser Verzögerung wird die Standardauswahl automatisch ausgeführt, sodass der normale Bootvorgang ohne Interaktion stattfinden kann.

Der Bootvorgang kann als abgeschlossen betrachtet werden, wenn der Computer bereit ist, mit dem Benutzer zu interagieren, oder das Betriebssystem in der Lage ist, System- oder Anwendungsprogramme auszuführen.

Viele eingebettete Systeme müssen sofort booten. Zum Beispiel ist es in der Regel nicht akzeptabel, eine Minute zu warten, bis ein digitales Fernsehgerät oder ein GPS-Navigationsgerät startet. Deshalb haben solche Geräte Softwaresysteme im ROM oder Flash-Speicher, damit das Gerät sofort funktionieren kann. Es ist nur wenig oder gar kein Laden notwendig, weil das Laden vorberechnet und im ROM gespeichert werden kann, wenn das Gerät hergestellt wird.

Große und komplexe Systeme können Boot-Prozeduren haben, die in mehreren Phasen ablaufen, bis schließlich das Betriebssystem und andere Programme geladen und zur Ausführung bereit sind. Da Betriebssysteme so konzipiert sind, dass sie nie starten oder stoppen, kann ein Bootloader das Betriebssystem laden, sich selbst als reinen Prozess innerhalb dieses Systems konfigurieren und dann die Kontrolle unwiderruflich an das Betriebssystem übergeben. Der Bootloader wird dann ganz normal beendet, wie jeder andere Prozess auch.
de