close

Bootloader

Zur Navigation springen Zur Suche springen

Ein Bootloader , [1] in der Informatik , ist das Programm , das in der Bootphase des Computers den Betriebssystemkern vom sekundären Speicher (zum Beispiel einer Festplatte ) in den primären Speicher (allgemein RAM ) lädt , was dem Prozessor erlaubt um es auszuführen und damit das System zu starten.

Der Begriff leitet sich davon ab, dass der Vorgang des Startens eines Computers Bootstrap genannt wird (vom englischen Sprichwort to lift yourself by one’s own bootstrap , „sich selbst an den Schnallen der Stiefel hochziehen“). Bei mehreren auf derselben Maschine installierten Betriebssystemen geht dem Laden durch den Bootloader die Auswahl des gewünschten Betriebssystems durch den Benutzer über den Bootmanager voraus .

Beschreibung

Aufgaben

Die grundlegende Funktion eines Bootloaders besteht daher darin, einen Betriebssystemkern zusammen mit sekundären Prozessen und Diensten zu laden und auszuführen. In den meisten Fällen erfordert dies Zugriff auf den Massenspeicher , um den Kernel des Betriebssystems und möglicherweise andere Dateien zu lesen . In einfacheren Fällen enthält der Bootloader die Adresse der Plattenblöcke, in denen die zu ladenden Dateien gespeichert sind, und muss daher aktualisiert werden, wenn diese Dateien geändert werden. Der Festplattenzugriff erfolgt häufig über Funktionen, die von der Firmware bereitgestellt werden (das BIOS in kompatiblen IBM PC-Systemen). Einige Bootloader haben die Fähigkeit, ein oder mehrere Dateisysteme zu interpretieren , um Dateien zum Laden zu finden. In diesem Fall können sie auch eine Konfigurationsdatei von der Festplatte laden oder einem fortgeschrittenen Benutzer erlauben, die Festplatte nach zu ladenden Dateien zu durchsuchen. Einige Bootloader sind in der Lage, die von einigen Netzwerkkarten (normalerweise ethernet ) bereitgestellte Funktionalität zu nutzen, um einen Kernel aus dem Netzwerk herunterzuladen, normalerweise über TFTP .

Jedes installierte Betriebssystem, ja jedes bootfähige Volume (tatsächlich gibt es auch Recovery-Umgebungen oder ähnliches) hat einen bestimmten Bootloader oder besser gesagt, die Boot-Konfigurationsdatei (bei Windows 10 heißt sie beispielsweise BCD) enthält bestimmte Boot-Anweisungen, die es geben muss vom Bootloader für jedes bootfähige Volume gelesen werden.

Zusätzliche Funktionen in einigen Bootloadern:

  • Viele Kernel unterstützen die Fähigkeit, Boot-Parameter zu empfangen, um ihr Verhalten zu konfigurieren; der Bootloader kümmert sich darum, sie an den Kernel weiterzuleiten, und erlaubt dem Benutzer in einigen Fällen, diese Parameter zu bearbeiten.
  • Einige Kernel erwarten, dass dem Kernel während des Bootens andere Dateien zur Verfügung gestellt werden (auf Unix -ähnlichen Systemen ist es beispielsweise üblich, initrd zu verwenden , ein kleines Dateisystem, das in einer Datei gespeichert ist). Das Laden dieser Dateien übernimmt der Bootloader.
  • Ein Bootloader kann dem Benutzer ein Menü möglicher zu ladender Kernel mit zugehörigen Parametern anzeigen, sodass der Benutzer auswählen kann, welches Betriebssystem gebootet werden soll.
  • Ein Bootloader kann ein Passwort verlangen, damit das System booten kann.

Betrieb

Der Bootloader wird in vielen Fällen an einer bestimmten Position eines bestimmten Massenspeichergeräts installiert , typischerweise im ersten Block der ersten Festplatte ("erster" in Bezug auf die Reihenfolge, in der die Geräte mit dem Computer verbunden sind), von wo aus es wird von der Computer- Firmware geladen.

Beispielsweise kann der Bootloader in der IBM-kompatiblen Architektur im Master Boot Record (MBR) der Bootdiskette oder im ersten Sektor der Partition gespeichert werden, die das Betriebssystem hostet (in diesem Fall muss er durch einen boot Manager im MBR installiert); oder es kann sich auch im ersten Sektor eines bootfähigen Volumes befinden , z. B. einer Wiederherstellungsumgebung (z. B. Windows Recovery Environment ).

Es gibt einige Einschränkungen, die durch die Technik und durch Hardware- und Firmware-Hersteller auferlegt werden, für deren Umgehung viele moderne Bootloader auf den sogenannten zweistufigen Boot zurückgreifen , Stufe 1 und Stufe 2, eine logische Unterteilung, die hebt verschiedene Momente des Starts hervor. Einschränkungen sind beispielsweise die Möglichkeit, nur eine kleine Menge Bytes vom Boot-Gerät in den Hauptspeicher zu laden und sie an einer ziemlich ungünstigen Stelle im Speicher zu finden - dies ist der emblematische Fall von Systemen basierend auf der x86 -Familie , die die ersten 512 Bytes lädt, auf die sie auf dem Startgerät trifft, beginnend bei Adresse 0x0000: 0x7C00 und höher (letztes Byte in 0x0000: 0x7DFF).

Mit dem Aufkommen der Uefi -Technologie und der relativen GPT -Partitionierung hat sich der Betrieb des Bootloaders erheblich geändert, ausgehend von der Tatsache, dass er sich physisch im efi-Ordner befindet, der in der relativen Systempartition enthalten ist.

Beispiel für einen gestuften Start

Hier ist eine kurze Beschreibung eines möglichen gestuften Starts:

Stufe 1

Stufe 1, oben auch als Bootmanager bezeichnet , befasst sich mit sehr grundlegenden Aufgaben, die auf relativ wenig Platz codiert werden können, wie das Suchen des ersten Systemvolumes auf der Bootplatte , das Suchen, Laden der zweiten, komplexeren Stufe und erweitert, im Speicher und übergeben Sie ihm die Kontrolle. In dieser Phase können sogar minimale Systeminitialisierungen durchgeführt werden, die in der zweiten Phase nützlich sind, aber dies ist nicht immer der Fall.

Stufe 2

Stufe 2 ist der eigentliche Startmanager des ausführenden Programms oder Betriebssystems . Es ist viel ausgefeilter, komplexer und erweiterter als die erste Stufe und befasst sich hauptsächlich mit der Auswahl, welcher Kernel in den Speicher geladen werden soll, und gibt ihm dann die Kontrolle, ist aber nicht darauf beschränkt. Es ähnelt einem echten Betriebssystem mehr, wenn auch nur minimal: Es ist jedoch korrekter, es als ausführendes Programm zu bezeichnen, da ihm viele Funktionen moderner Betriebssysteme wie Multiprogramming , Ressourcenverwaltung usw. fehlen.

Ein einzelner Bootloader ist in der Lage, viele verschiedene Kerneltypen (und damit viele Betriebssysteme) auf verschiedene Partitionen zu laden. Natürlich kann immer nur ein Kernel geladen werden.

Die beliebtesten Bootloader

Bitte beachten Sie: Die unten aufgeführten sind nur einige Bootloader für PC [2] oder ähnliches (z . B. Server ). Außerdem ist zu bedenken, dass Computer beispielsweise auch ein Navigationsgerät oder eine SPS und viele andere Arten sind: Diese haben meist spezifische Bootloader.

IBM -Systeme , Blade-Server oder Mainframes verwenden proprietäre Bootloader [3] , wenn nicht direkt die im UEFI enthaltenen Befehle oder (wenn es sich um Systeme in der Linux-basierten Konfiguration handelt) die oben genannten Bootloader (oder spezielle Linux-Bootloader, die speziell für die Betriebssysteme neu kompiliert wurden). der IBM-Maschinen wie "Petitboot").

Mobiler Bootloader

Auch das Betriebssystem eines Smartphones , Tablets oder PDAs enthält einen Bootloader. Im Bereich mobiler Geräte werden die Bootloader der ursprünglichen Betriebssysteme häufig von den OEMs , also den Geräteherstellern, modifiziert, wie dies bei Smartphones mit Android der Fall ist . Dies ist jedoch bei Apple -Geräten nicht der Fall , da sie von derselben Firma hergestellt werden, die auch das Betriebssystem ( IOS ) entwickelt.

Die Bootloader von Betriebssystemen, die auf Mobilgeräten installiert sind, haben mit den relativen Einschränkungen auf Benutzerseite die „Mode“ des sogenannten Moddings und der daraus resultierenden Operationen ( Root , Unlock, Flash usw.) entfesselt [4] .

Notizen

  1. ^ Auch Bootloader . Wörtlich „Bootloader“.
  2. ^ Außer Windows Boot Manager, da neuere Windows-Editionen auch für mobile Geräte verwendet werden.
  3. ^ Dies ist zum Beispiel die typische Situation des alten Os / 400 .
  4. ^ Bootloader Guide: was es ist und wofür es ist – AndroidPIT

Verwandte Artikel