Woher wissen Computer, welches Betriebssystem gestartet werden soll?
Danke für die Anfrage.
Das ist einerseits einfach zu erklären und andererseits doch nicht.
Beim Starten eines Computers gibt es einen gewissen Ablauf und es muss nach dem aktuellen immer einen nächsten Schritt geben, wo die Befehlskette weiter geht.
Beispiel… nachdem das BIOS (basic input output system) die Hardware initialisiert hat, sucht es nach einem Bootloader. Es gibt Regeln, wo sich dieser Bootloader befinden muss.
Die Einstellung, welches Laufwerk das Gerät als Standard verwenden soll, befindet sich im BIOS. Die Boot-Gerät Einstellung. Eine Option für temporären Wechsel ist das Boot-Menü.
Bei Legacy BIOS muss der Bootloader z.B. am Beginn des Speichermediums im Header des Speicherlaufwerks gespeichert sein. Dort sucht das BIOS danach.
Bei UEFI wiederum wird üblicherweise ein Befehlsinterpreter (ähnlich der Shell in Linux) geladen. Die sogenannte EFI-Shell. Diese sucht dann, ähnlich wie eine Linux-Shell, nach einem Skript das es starten kann.
Da es sich dabei um eine normale Datei handelt, erwartet ein UEFI-Setup das GPT Partitionsschema und eine FAT32 Partition auf der die jeweilige Boot-Datei abgelegt ist. Auch hier gibt es wiederum Vorgaben, wie diese Datei vorzugsweise heissen soll und wo diese liegen soll. Die entsprechende FAT32-Partition die als bootfähig gilt, wird jedenfalls nach dieser Startdatei durchsucht. Diese Datei heisst z.B. oft BOOTX64.EFI.
Diese Datei oder beim Legacy BIOS der Bootloader lädt nun den ersten Prozess des jeweiligen Betriebssystems. Auch der Code für das Betriebssystem muss an irgendeinem Punkt starten. Das heisst, der Bootloader seinerseits verweist wiederum auf das nächste Stück Software. Den Beginn des Betriebssystem-Codes.
Der Grund warum man das als Nutzer nicht versteht ist, weil diese Sachen für den Benutzer sehr abstrakt und sehr stark vereinfacht sind.
In Wirklichkeit kennt der Computer nur Strom und nicht Strom und keine Zahlen, Buchstaben, Betriebssysteme…
Es gibt also immer einen Ablauf, ein "PROGRAMM" (ja… Programm! Wie Programm im Theater… aber auch wie Programme am Computer! Ein ABLAUF!) das gefahren wird. Das ist im Prinzip dasselbe wie wenn man beispielsweise ein Python-Skript schreibt. Es gibt einen Anfang im Skript, wo der Programmablauf beginnt und dann wird der Code-Zeile für Zeile abgearbeitet. Eine Webseite fängt an einer Stelle an und dann sind es fortlaufend Daten bis zum Ende der Webseite. Selbes Prinzip. Nur dass Computer-Programme ein wenig mehr können. Wie Schleifen und zusammenfassende Funktionen für wiederkehrende Abläufe oder Entscheidungen => wenn das passiert mach das, wenn nicht mach das.
So ist es auch beim Starten eines Computers. Zunächst kommt die Firmware (BIOS), dann kommt der Bootloader, dann kommt das Betriebssystem.
Wenn ich zwei verschiedene Festplatten mit zwei verschiedenen Betriebssystemen verwende, muss ich dem BIOS sagen, dass es den nächsten Code entweder auf dieser oder auf jener Festplatte suchen soll. Siehe Einstellung für Boot-Geräte oder Boot-Menü. Wenn man mehrere Betriebssysteme in Dual Boot verwendet, wird ein Boot-Manager verwendet. Dieser fügt dem Bootloader ein Auswahlmenü hinzu, wo man dem Bootloader mitteilt, wo er den nächsten Code findet. Also entweder auf dieser Partition für das eine oder auf jener Partition für das andere Betriebssystem. Wenn der Benutzer das eingibt mach das und wenn nicht mach das.
Das ganze Prinzip ist eigentlich recht einfach zu verstehen. Aber es gibt gewisse Regeln und Standards, dass ein Ablauf gewährleistet werden kann. Und nach dem wird beim Start vorgegangen. Wird dieser Standard nicht eingehalten oder unterbrochen, dann kommt es zu den üblichen und hinlänglich bekannten Fehlermeldungen wie "kein Betriebssystem gefunden" oder dass man ein Laufwerk mit einem bootfähigen Betriebssystem auswählen soll… usw.
Sobald man den PC aufdreht, werden grundlegende elektronische Wege und Leitungen aktiv und führen Strom… diese aktivieren einen ABLAUF… dieser Ablauf schreitet kontinuierlich fort. Zuerst wird die Firmware (BIOS) gestartet, dann der Bootloader, dann das Betriebssystem,…