BIOS

Den Boot-Prozess verstehen – BIOS vs. UEFI

Den Boot-Prozess verstehen – BIOS vs. UEFI
Der Bootvorgang ist ein Universum für sich. Es sind viele Schritte erforderlich, bevor Ihr Betriebssystem übernimmt und Sie ein laufendes System. In gewisser Weise ist an diesem ganzen Prozess ein winziges eingebettetes Betriebssystem beteiligt. Obwohl sich der Prozess von einer Hardwareplattform zur anderen und von einem Betriebssystem zum anderen unterscheidet, sehen wir uns einige der Gemeinsamkeiten an, die uns helfen, ein praktisches Verständnis des Boot-Prozesses zu erlangen.

Lassen Sie uns zuerst über den regulären, nicht UEFI-Bootprozess sprechen. Was passiert zwischen dem Zeitpunkt, an dem Sie den Netzschalter drücken, bis zu dem Punkt, an dem Ihr Betriebssystem bootet und Ihnen eine Anmeldeaufforderung anzeigt?.

Legacy-BIOS – Grundlegendes Eingabe-/Ausgabesystem

Schritt 1: Die CPU ist fest verdrahtet, um beim Start Anweisungen von einer physischen Komponente namens NVRAM oder ROM auszuführen. Diese Anleitung stellt die System Firmware. Und es ist diese Firmware, bei der der Unterschied zwischen BIOS und UEFI gezogen wird. Konzentrieren wir uns jetzt auf das BIOS.

Es liegt in der Verantwortung der Firmware, des BIOS, verschiedene mit dem System verbundene Komponenten wie Festplattencontroller, Netzwerkschnittstellen, Audio- und Videokarten usw. Es versucht dann, den nächsten Satz von Bootstrapping-Code zu finden und zu laden.

Die Firmware durchläuft Speichergeräte (und Netzwerkschnittstellen) in einer vordefinierten Reihenfolge und versucht, einen darin gespeicherten Bootloader zu finden. Mit diesem Prozess beschäftigt sich ein Benutzer normalerweise nicht. Es gibt jedoch eine rudimentäre Benutzeroberfläche, mit der Sie verschiedene Parameter der Systemfirmware, einschließlich der Bootreihenfolge, optimieren können.

Sie öffnen diese Benutzeroberfläche, indem Sie beim Systemstart normalerweise die Taste F12, F2 oder DEL gedrückt halten. Um nach einem bestimmten Schlüssel in Ihrem Fall zu suchen, schlagen Sie im Handbuch Ihres Motherboards nach.

Schritt 2: BIOS, geht dann davon aus, dass das Bootgerät mit einem MBR (Master Boot Record) startet, der einen Bootloader der ersten Stufe und eine Festplattenpartitionstabelle enthält. Da dieser erste Block, der Boot-Block, klein ist und der Bootloader sehr minimalistisch ist und sonst nicht viel tun kann, zum Beispiel ein Dateisystem lesen oder ein Kernel-Image laden.

Also wird der Bootloader der zweiten Stufe ins Leben gerufen.

Schritt 3: Der Bootloader der zweiten Stufe ist dafür verantwortlich, den richtigen Betriebssystemkernel zu finden und in den Speicher zu laden. Das häufigste Beispiel für Linux-Benutzer ist der GRUB-Bootloader. Falls Sie dual booten, bietet es Ihnen sogar eine einfache Benutzeroberfläche, um das entsprechende Betriebssystem zum Starten auszuwählen.

Selbst wenn Sie ein einzelnes Betriebssystem installiert haben, können Sie im GRUB-Menü in den erweiterten Modus booten oder ein beschädigtes System retten, indem Sie sich im Einzelbenutzermodus anmelden. Andere Betriebssysteme haben andere Bootloader. FreeBSD kommt mit einem eigenen, so auch andere Unices.

Schritt 4: Sobald der entsprechende Kernel geladen ist, wartet noch eine ganze Liste von Userland-Prozessen darauf, initialisiert zu werden. Dazu gehören Ihr SSH-Server, Ihre GUI usw., wenn Sie im Mehrbenutzermodus arbeiten, oder eine Reihe von Dienstprogrammen zur Fehlerbehebung Ihres Systems, wenn Sie im Einzelbenutzermodus arbeiten.

In jedem Fall ist ein Init-System erforderlich, um die anfängliche Prozesserstellung und die fortlaufende Verwaltung kritischer Prozesse abzuwickeln. Auch hier haben wir eine Liste verschiedener Optionen, von traditionellen init-Shell-Skripten, die primitive Unices verwendet haben, bis hin zu einer immens komplexen systemd-Implementierung, die die Linux-Welt erobert hat und ihren eigenen kontroversen Status in der Community hat. BSDs haben ihre eigene Variante von init, die sich von den beiden oben genannten unterscheidet.

Dies ist ein kurzer Überblick über den Bootvorgang. Viele Komplexitäten wurden weggelassen, um die Beschreibung für den Laien freundlich zu gestalten.

UEFI-Besonderheiten

Der Teil, in dem der Unterschied zwischen UEFI und BIOS auftaucht, befindet sich im allerersten Teil. Wenn es sich bei der Firmware um eine modernere Variante handelt, die als UEFI oder Unified Extensible Firmware Interface bezeichnet wird, bietet sie viel mehr Funktionen und Anpassungen. Es soll viel standardisierter sein, damit sich Motherboard-Hersteller nicht um jedes bestimmte Betriebssystem kümmern müssen, das möglicherweise darauf läuft und umgekehrt.

Ein wesentlicher Unterschied zwischen UEFI und BIOS besteht darin, dass UEFI ein moderneres GPT-Partitionierungsschema unterstützt und die UEFI-Firmware in der Lage ist, Dateien von einem kleinen FAT-System zu lesen.

Dies bedeutet oft, dass sich Ihre UEFI-Konfiguration und die Binärdateien auf einer GPT-Partition auf Ihrer Festplatte befinden. Dies wird oft als ESP (EFI System Partition) bezeichnet, das unter /efi eingehängt ist, normalerweise.

Ein einhängbares Dateisystem zu haben bedeutet, dass Ihr laufendes Betriebssystem dasselbe Dateisystem lesen kann (und gefährlich genug, es auch zu bearbeiten)!). Viele Malware nutzt diese Fähigkeit aus, um die Firmware Ihres Systems zu infizieren, die auch nach einer Neuinstallation des Betriebssystems bestehen bleibt.

UEFI ist flexibler und macht einen Bootloader der zweiten Stufe wie GRUB . überflüssig. Wenn Sie ein einzelnes (gut unterstütztes) Betriebssystem wie Ubuntu-Desktop oder Windows mit aktiviertem UEFI installieren, können Sie oft darauf verzichten, GRUB oder einen anderen zwischengeschalteten Bootloader zu verwenden.

Die meisten UEFI-Systeme unterstützen jedoch immer noch eine Legacy-BIOS-Option, auf die Sie zurückgreifen können, wenn etwas schief geht. Wenn das System sowohl mit BIOS- als auch mit UEFI-Unterstützung installiert wird, hat es in den ersten Sektoren der Festplatte einen MBR-kompatiblen Block. Wenn Sie Ihren Computer dual booten müssen oder aus anderen Gründen einfach den Bootloader der zweiten Stufe verwenden müssen, können Sie GRUB oder jeden anderen Bootloader verwenden, der für Ihren Anwendungsfall geeignet ist.

Fazit

UEFI sollte die moderne Hardwareplattform vereinheitlichen, damit Betriebssystemanbieter frei darauf entwickeln können. Es hat sich jedoch langsam zu einer kontroversen Technologie entwickelt, insbesondere wenn Sie versuchen, Open-Source-Betriebssysteme darauf auszuführen. Das heißt, es hat seine Berechtigung und es ist besser, seine Existenz nicht zu ignorieren.

Auf der anderen Seite wird das Legacy-BIOS auch in Zukunft noch mindestens ein paar Jahre bestehen bleiben. Sein Verständnis ist ebenso wichtig, falls Sie zur Fehlerbehebung eines Systems in den BIOS-Modus zurückkehren müssen mode. Ich hoffe, dieser Artikel hat Sie gut genug über diese beiden Technologien informiert, damit Sie das nächste Mal, wenn Sie einem neuen System in der Wildnis begegnen, den Anweisungen obskurer Handbücher folgen und sich wie zu Hause fühlen können.

Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...