Woher wissen Computer, welches Betriebssystem gebootet werden soll?

Woher wissen Computer, welches Betriebssystem gebootet werden soll?

Welche Software wählt beim Einschalten meines Computers aus, welches Betriebssystem gebootet werden soll, und wie trifft sie die Entscheidung, wenn mehrere Optionen zur Verfügung stehen?

Genauer gesagt: Was ist, wenn ich einen Computer mit mehreren Betriebssystemen auf derselben Festplatte habe? Und was ist, wenn ich externe Laufwerke habe – durchsucht es jede Partition auf allen Speichergeräten nach Formaten, die es erkennt?

Meines Wissens nach hat jede Festplatte einen eigenen Bootsektor, der Informationen darüber enthält, welche Partition der Computer booten soll. Aber was ist, wenn ich mehrere Festplatten angeschlossen habe, von denen jede einen anderen Bootsektor hat? Welche wird dann geladen?

Bei der Recherche zu diesem Thema bin ich auf einige Verwirrung gestoßen, da sich nicht alle Technologien gleich verhalten (z. B. sagen manche, dass das Boot-Flag wichtig ist, während andere sagen, dass es ignoriert wird). Etwas Klarheit darüber, wie verschiedene Systeme funktionieren, wäre sehr wünschenswert.

Antwort1

Leider ist dies mit der Weiterentwicklung der Computer komplexer geworden.

Anfangs (also bei den ersten PCs) gab es eine feste Reihenfolge (die von der Verkabelung abhing).

Fast alle Computer haben noch immer eine Standard-Startreihenfolge, die vom BIOS gesteuert/beeinflusst werden kann. Neuere Computer ergänzen diese Funktionalität durch UEFI, das das BIOS in gewisser Weise ersetzt.

Beim BIOS-Booten gibt es eine bevorzugte Reihenfolge. Das BIOS sucht auf jedem Laufwerk nach bootfähigen Bootsektoren und versucht, diese zu laden. Dabei geht es die Liste der Optionen durch, bis einer bootet.

Für UEFI gibt es ein Dateisystem auf der Festplatte (eine kleine FAT-Partition mit der Bezeichnung UEFI, die einen Bootloader der ersten Stufe und Anweisungen enthält. In einigen Fällen wird dies durch Anweisungen ergänzt, die in das UEFI programmiert sind (z. B. Einstellungen, die ähnlich wie das BIOS im NVRAM gespeichert sind).

Sobald ein Bootloader/eine UEFI-Partition gefunden wurde, übernimmt ein Programm den Bootvorgang und bietet möglicherweise die Möglichkeit, in verschiedene Modi oder Betriebssysteme zu booten.

Antwort2

Wie andere bereits sagten, ist es etwas kompliziert geworden, aber so wie ich es verstehe:

Wenn der Computer zum ersten Mal eingeschaltet wird, sind Ihre Festplatten überhaupt nicht wichtig. Auf einem Chip auf der Hauptplatine befindet sich eine spezielle Software, die zuerst geladen wird und dann von der CPU ausgeführt wird. Dies wird als BIOS oder UEFI bezeichnet (UEFI ist eigentlich der Nachfolger des BIOS).

Dieser Code initialisiert einige Teile der Hardware und sucht dann nach dem nächsten Objekt, an das die Kontrolle übergeben werden soll. Was das genau sein wird, hängt von vielen Dingen ab. Es gibt viele mögliche Optionen – Ihre internen Festplatten, Ihre externen Laufwerke, Netzwerkadapter, RAID-Controller, Zusatzkarten usw.

BIOS/UEFI verfügt auch über Einstellungen, die die Reihenfolge bestimmen, in der diese Optionen überprüft werden. Es geht jede einzelne davon in der konfigurierten Reihenfolge durch und fragt: „Können Sie mit dem Booten fortfahren?“ Und das Gerät sagt entweder „yay“ oder „nay“. Das erste Gerät, das „yay“ sagt, darf fortfahren. Dieses Gerät gibt dem BIOS dann einen Codeabschnitt, der in den Speicher geladen wird, und die CPU setzt die Ausführung damit fort.

Im speziellen Fall einer Festplatte weiß die Platte selbst nicht wirklich, ob sie booten kann oder nicht. Das BIOS liest also den allerersten Sektor (klassisch 512 Bytes) der Platte und sucht an einer bestimmten Stelle des Sektors nach einigen speziellen Bytes. Wenn diese den Wert 55 AA (hexadezimal) enthalten, wird dieser Sektor als Code ausgeführt. Andernfalls fährt es mit der Überprüfung der nächsten Platte fort.

512 Bytes sind zwar nicht viel Platz, aber für ein paar einfache Dinge reichen sie aus. Das klassische DOS hat beispielsweise einen Code dort abgelegt, der eine als "bootfähig" markierte Partition gefunden hat, dann den ersten Sektor der Partition geladen hat und dann die Partition neu geladen hat.DasPartition und führte das dann aus. Und dieser nächste Sektor enthielt genug Code, um ein paar weitere Sektoren zu laden, und dann mit der Analyse des Dateisystems zu beginnen und Dateien daraus zu laden, und so weiter und so fort.

Aber eigentlich gibt es nichts, was dieser Code tun soll. Er könnte auch nicht die aktive Partition laden, sondern andere Sektoren auf der Festplatte, in denen sich weiterer Code befindet. Und dieser Code könnte Ihnen dann ein Menü anzeigen, mit dem Sie zwischen mehreren bootfähigen Partitionen oder Betriebssystemen oder was auch immer auswählen können.

Wie dem auch sei, der Code im ersten Sektor des Laufwerks wird als „Bootloader“ bezeichnet. Es gibt verschiedene Bootloader. Die Linux-Welt stützt sich heutzutage stark auf Grub, Windows hat sein eigenes Ding usw. Der Bootloader kommt wirklichVordas Betriebssystem, aber es muss wissen, wie das Betriebssystem in den Speicher geladen und gesteuert wird.

Ist es dadurch klarer geworden?

Antwort3

Beim Start versorgt Ihr Motherboard alle (oder die meisten) angeschlossenen elektronischen Komponenten mit Strom. Eine davon ist Ihre Festplatte oder SSD, die als Systemlaufwerk bezeichnet wird, da sich das primäre Betriebssystem darauf befindet. Sofern Sie Ihr BIOS oder (U)EFI nicht so eingestellt haben, dass von einem anderen, externen Laufwerk (USB, FireWire oder Netzwerk) gebootet wird, wird dieses Laufwerk zuerst verwendet.

Auf diesem Laufwerk befindet sich (zur Vereinfachung) eine Master-Boot-Record-Partition, die normalerweise schreibgeschützt ist (aber über den Befehlssatz bcdedit.exe bearbeitet werden kann) und alle verfügbaren Betriebssysteme auf dem Laufwerk überprüft. Eines wurde entweder von Ihnen oder von selbst bei der Installation, entweder im Werk oder als Sie Ihr Hauptbetriebssystem neu installiert/aktualisiert haben, als Standard festgelegt.

Windows erlaubt kein Booten von einem USBFestplatte oder SSD. Sie können auf einem USB-Schlüssel, das einen bestimmten USB-Controller hostet, aber das Booten von einem per Kabel angeschlossenen USB-Laufwerk wird von Windows nicht zugelassen. Die erforderlichen Treiber werden erst geladen, nachdem die ersten Windows-Dienste und -Prozesse (smss.exe und crss.exe) bereits geladen sind, was bedeutet, dass Windows selbst gestartet ist.

Antwort4

Im Computer ist eine Software integriert, mit der Sie angeben können, welche Festplatte zuerst, als zweites (wenn die erste nicht verfügbar ist), als drittes usw. kommen soll.

Früher war dies das „BIOS“, das in einem EEPROM gespeichert war (das von einer Batterie gespeist wurde). Heutzutage ist es jedoch viel komplexer geworden, sogar Linux-basierte Betriebssysteme sind in die Hardware integriert (was Ihren Computer anfällig für externe Angriffe machen kann).

Jede Festplatte verfügt über eine Partitionstabelle und nicht notwendigerweise über einen Bootsektor.

verwandte Informationen