Antworten:
Vielleicht könnten ein paar Details darüber, wie bootfähige Medien organisiert sind, dazu beitragen, zu definieren, "was bootfähige Medien bootfähig macht".
Die Startprozedur unterscheidet sich je nach Architektur, daher bleibe ich nur beim Standard-PC (dh x86-Architektur).
Um effektiv "gebootet" zu werden, muss zunächst ein Medium vom BIOS nach dem Selbsttest beim Einschalten (POST) ausgewählt werden. Dazu muss das Medium als bootfähig markiert sein , was bedeutet, dass es in seinem ersten Sektor eine Boot-Signatur haben muss. Dies ist das allererste, was ein Medium bootfähig macht.
Dann lädt das BIOS diesen Bootsektor und gibt ihm die Hand (was auch immer dort gespeichert ist ... es könnte also direkt ein passendes Real-Mode-Programm sein, aber bleiben wir bei einem "normalen" Schema). Um bootfähig zu sein, muss ein Medium über einen solchen funktionierenden Bootsektor verfügen .
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 gesetztem bootfähigen Flag zu finden . Anschließ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 nicht partitionierten Medium ein VBR im ersten Sektor des Mediums befindet und daher direkt vom BIOS aufgerufen wird.
Ein VBR enthält ein Bootstrapping-Programm . Dieses Programm muss die Maschine initialisieren (dh Aktivierung des erweiterten Speichers über das A20-Gate, Wechsel vom Real-Modus in den geschützten Modus usw.), um eine Umgebung festzulegen, in der "moderner" Code ausgeführt werden kann, diesen Code in den Speicher laden und dann "springen" "dazu. Der oben genannte Code kann entweder ein Betriebssystemkern im Fall eines Bootloader-Programms oder ein Multiboot-System (z. B. GRUB, LILO) im Fall des Kettenladens sein. Am Ende wird jedoch ausführbarer Code zum Ausführen benötigt, damit das Medium gestartet werden kann.
Was folgt (z. B. Kernel-Dekomprimierung, anfängliche Ramdisk-Bereitstellung, Laden von Modulen bei Hybrid-Kerneln oder Servern, die für Mikrokerne starten usw.), ist aus Sicht der Organisation bootfähiger Medien nicht unbedingt relevant.
Hinweis: Was ich beschrieben habe, ist der Prozess für Festplatten und Disketten. Der Fall von CDs ist jedoch sehr ähnlich. Um bootfähig zu sein, muss eine CD außerdem der El-Torito-Spezifikation entsprechen, die eine Erweiterung des ISO9660-Standards darstellt. Ursprünglich musste die CD ein bootfähiges Disketten-Image enthalten (dh tatsächlich ein 1,44-MB-Image), das vom BIOS als Diskette behandelt und entsprechend gestartet wurde. Neuere Hardware ermöglicht das direkte Booten ohne diese Problemumgehung.
Was macht ein bootfähiges Medium bootfähig ist
Wikepedia hat einen Artikel , der den Startvorgang beschreibt.