Wie funktioniert ein Bootmanager und welche Unterschiede gibt es auf BIOS- und UEFI-Rechnern?

Wie funktioniert ein Bootmanager und welche Unterschiede gibt es auf BIOS- und UEFI-Rechnern?

Nachdem ich viel online gelesen habe, bin ich immer verwirrter darüber, wie Bootmanager funktionieren. Mir ist klar geworden, dass Bootmanager wie rEFInd kein Update oder irgendetwas mit Firmware zu tun haben (korrigieren Sie mich, wenn ich falsch liege). Ich habe jetzt folgendes Verständnis:

Bei einem BIOS-Rechner würde man erwarten, dass die BIOS-Firmware alle im Computer vorhandenen Festplatten erkennt (sie erkennt keine Partitionen auf irgendeiner Festplatte). Angenommen, der Rechner hat eine interne Festplatte und eine daran angeschlossene externe CD. Dann lässt das BIOS Sie eines davon auswählen und den Bootloader im MBR der Festplatte oder CD lesen. Nehmen wir jetzt an, dass Sie sowohl Windows als auch Linux auf der Festplatte installiert haben. Jetzt kommt der Teil, bei dem ich mir nicht ganz sicher bin: Wenn Sie GRUB installiert haben, sowohl einen Bootmanager als auch einen Bootloader, bedeutet das, dass, nachdem Sie das Booten von der Festplatte ausgewählt haben, der GRUB-Bootloader gelesen und ausgeführt wird, wodurch der GRUB-Bootmanager aufgerufen wird? Erkennt der GRUB-Bootmanager dann die verschiedenen Systeme auf Ihrem Rechner und ruft dann den Bootloader für Windows oder den Bootloader für Linux auf, der immer noch Teil von GRUB ist?

Bei UEFI-Rechnern scheint die Firmware bereits ein Bootmanager zu sein, da sie die Partitionstabelle und alle an den Computer angeschlossenen Festplatten erkennt. Sie müssen also nur den Bootloader in die EFI-Systempartition schreiben und die Firmware lässt Sie beim Booten auswählen, welchen Bootloader Sie verwenden möchten. Ist das richtig? Mir ist jedoch aufgefallen, dass es für UEFI-Rechner immer noch Bootmanager wie rEFInd gibt. Wozu sind sie dann da, wenn die Firmware bereits wie ein Bootmanager funktioniert? Gilt rEFInd außerdem als Firmware-Kram oder nur als eine Anwendung, die auf der EFI-Systempartition einer bestimmten Festplatte installiert ist?

Antwort1

Jeder Code, der ausgeführt wird, bevor das Hauptbetriebssystem gestartet wird, und der am Starten anderer Programme beteiligt ist, ist ein Bootloader. Die meisten Computer, sogar die meisten eingebetteten Geräte, haben eine Kette von Bootloadern: Code im ROM oder Flash-Speicher, der einen anderen Codeabschnitt aus dem Flash-Speicher oder einem Laufwerk lädt, der einen anderen Codeabschnitt lädt und so weiter. Das BIOS ist ein Bootloader (und das kann es auch), reFInd ist ein Bootloader, Grub ist ein Bootloader usw.

Einige Bootloader tun nichts anderes, als einen weiteren Codeabschnitt zu laden und dorthin zu verzweigen, die meisten jedoch führen zusätzliche Aufgaben aus, wie z. B. das Lesen von Konfigurationsdaten, das Erkennen angeschlossener Peripheriegeräte, das Testen der Hardware, das Initialisieren von Geräten, das Aufzählen von Speicher- und Netzwerkgeräten, um zu bestimmen, was als Nächstes geladen werden soll, das Anzeigen von Meldungen auf dem Bildschirm, das Abhören von Benutzereingaben, um dem Benutzer die Einflussnahme auf den Startvorgang zu ermöglichen usw.

Ein Bootmanager ist ein spezieller Bootloadertyp, der dem Benutzer die Auswahl zwischen mehreren Betriebssystemen ermöglicht. Der Grub-Bootloader „ruft“ den Grub-Bootmanager nicht wirklich auf, die Bootmanager-Funktionalität ist ein Aspekt von Grub.

Einige ältere PC-BIOS verfügen über einfache Bootmanager-Funktionen, die dem Benutzer die Auswahl zwischen einigen wenigen Geräten ermöglichen. Dies ist jedoch begrenzt, da ältere BIOS nur die ersten 512 Byte einer Festplatte laden und dort Code ausführen können. UEFI verfügt über einen leistungsfähigeren Bootmanager, der dem Benutzer die Auswahl zwischen Dateien auf einer FAT-Partition ermöglicht.

Ob Bootloader als Firmware gelten, hängt davon ab, wie Sie Firmware genau definieren. Nach der Definition „mit der Computerhardware bereitgestellt, nicht auf einem Speichergerät installiert“ sind BIOS und UEFI Firmware, reFInd und Grub jedoch nicht. Nach der Definition „unabhängig vom Betriebssystem“ sind reFInd und Grub Firmware.

verwandte Informationen