Was macht bootfähige Medien bootfähig?

Was macht bootfähige Medien bootfähig?

Nur aus Neugier: Was macht Medien bootfähig? Links zu Erklärungen wären willkommen.

Antwort1

Vielleicht könnten ein paar Details zur Organisation bootfähiger Medien dabei helfen zu definieren, „was bootfähige Medien bootfähig macht“.

Da der Startvorgang je nach Architektur unterschiedlich ist, bleibe ich beim Standard-PC (d. h. x86-Architektur).

Um effektiv „gebootet“ zu werden, muss ein Medium zunächst vom BIOS nach dem Power-On Self Test (POST) ausgewählt werden. Dazu muss das Mediumals bootfähig markiert, was bedeutet, dass es im ersten Sektor eine Bootsignatur haben muss. Dies ist das allererste, was ein Medium bootfähig macht.

Dann lädt das BIOS diesen Bootsektor und gibt ihn frei (was auch immer dort gespeichert ist... es könnte also auch direkt ein passendes Real-Mode-Programm sein, aber bleiben wir bei einem "normalen" Schema). Um bootfähig zu sein, muss ein Medium also über eine solche funktionierendeBootsektor.

Wenn das Medium partitioniert ist, wird in diesem Sektor ein Master Boot Record (MBR) installiert. Dieser Code ist dafür verantwortlich, die Partitionstabelle zu überprüfen und die Partition mit demBootfähiges Flag gesetztAnschließend lädt der MBR den ersten Sektor dieser Partition, der den sogenannten Volume Boot Record (VBR) enthält. Beachten Sie, dass sich bei einem unpartitionierten Medium ein VBR im ersten Sektor des Mediums befindet und daher direkt vom BIOS aufgerufen wird.

Ein VBR enthält eineBootstrapping-Programm. Dieses Programm muss die Maschine initialisieren (d. h. Aktivierung des erweiterten Speichers über das A20-Gate, Umschalten vom Realmodus in den geschützten Modus usw.), um eine geeignete Umgebung für die Ausführung von „modernem“ Code einzurichten, diesen Code in den Speicher zu laden und dann dorthin zu „springen“. Der oben erwähnte Code kann im Fall eines Bootloader-Programms entweder ein Betriebssystemkernel oder im Fall von Chainloading ein Multiboot-System (z. B. GRUB, LILO) sein. Wie dem auch sei, letzten Endes wird ein ausführbarer Code benötigt, damit das Medium booten kann.

Was folgt (z. B. Dekomprimierung des Kernels, anfängliches Einhängen der Ramdisk, Laden von Modulen im Fall von Hybrid-Kerneln oder Starten von Servern für Mikrokernel usw.) ist aus der Sicht der Organisation bootfähiger Medien nicht unbedingt relevant.

Hinweis: Was ich beschrieben habe, ist der Vorgang für Festplatten und Disketten. Bei CDs ist es jedoch sehr ähnlich. Darüber hinaus muss eine CD, um bootfähig zu sein, der El-Torito-Spezifikation entsprechen, die eine Erweiterung des ISO9660-Standards ist. Ursprünglich musste die CD ein bootfähiges Disketten-Image enthalten (also eigentlich ein 1,44-MB-Image), das vom BIOS als Diskette behandelt und entsprechend gebootet wurde. Neuere Hardware ermöglicht das direkte Booten ohne diesen Workaround.

Antwort2

Was ein bootfähiges Medium bootfähig macht, ist

  • Standards für bootfähige Medien, die Dinge definieren wie:
    • Hardwareplattform, für die der Bootloader geeignet ist.
    • Speicherort der Bootloader-Software auf dem Medium.
    • der Vorgang, durch den diese Software geladen wird.
  • Implementierung dieser Standards in der Hardware, an die das Medium angeschlossen werden kann.

Wikipedia hat eineArtikeldas den Bootvorgang beschreibt.

verwandte Informationen