Beim Kopieren werden nur Dateien in formatierten Partitionen kopiert. Sie können keine für den Startvorgang erforderlichen Dinge ausführen, wie das Festlegen der Startflags, das Schreiben des Bootloaders oder manchmal das Kopieren normaler Dateien an die richtige Stelle (read: sector) in der Partition und das Festlegen der Attribute der Dateien / Berechtigungen. Wenn Sie nicht das Glück haben, diese Dinge zur Verfügung zu haben, aufgrund einer vorherigen Erstellung eines Startdatenträgers, eines Formatierungstools, das den Bootloader in den MBR schreibt, usw., müssen Sie weitere Schritte ausführen, um den Datenträger bootfähig zu machen
Insbesondere beim Booten im BIOS-Modus sucht das BIOS nach dem ersten Sektor (MBR), um festzustellen, ob eine gültige Boot-Signatur 0xAA55 vorhanden ist . Wenn ja, wird der Sektor geladen und die Steuerung an den Bootloader im MBR übertragen. Der MBR beschreibt die Partitionskonfiguration, daher kann sie nicht in der Partition liegen und kann nicht mit normalen Tools kopiert werden.
Da der MBR zu klein ist, um nützlich zu sein, teilen die meisten modernen Bootloader den Bootvorgang in mehrere Stufen auf, wobei der Bootcode im MBR die nächste Stufe lädt. Die weiteren Intra-Stufen werden oftmals in Regionen außerhalb der Trennwände abgelegt . Einige mögen es in den EBR aufnehmen, aber Grub legt seine zweite Stufe normalerweise in den leeren Bereich zwischen der ersten Partition und dem MBR, der als Post-MBR-Lücke bezeichnet wird. Wenn Sie also die Partitionen nicht richtig ausrichten, gibt es keinen Platz für grub, um den Boot-Code einzugeben, was zu Fehlern beim Einbetten führt
Viele Bootloader wie LILO oder alte Windows / DOS-Bootloader enthalten auch Hartcode- Informationen im MBR, wie die Position der nächsten Stufe oder der Systemdateien. Sie funktionieren nicht durch Lesen der Partitionsdaten, sondern lesen stattdessen einige hartcodierte Sektoren, da zu viel Code erforderlich ist, um das Dateisystem zu analysieren, das sehr schwierig ist, in winzige Bereiche wie die MBR- oder Post-MBR-Lücke zu quetschen. Sogar Grub unterstützt eine solche harte Codierung . Das bedeutet, dass sich einige Systemdateien Sektor für Sektor genau am Ort befinden müssen, was mit einer normalen Kopie nicht möglich ist. Aus diesem Grund sehen Sie "nicht bewegliche Systemdateien". Bei der Ausführung von Windows-Defragmentierungsprogrammen oder beim Verkleinern von Dateisystemen ist dies manchmal nicht unbedingt korrekt, da Windows nur zu viel Angst hat, diese Dateien zu verschieben, obwohl moderne Bootloader viel intelligenter sind und sich nicht für solche Dinge interessieren.
Schließlich müssen Sie auch die Bootpartition als aktiv festlegen, damit der Bootloader wissen kann, was zu booten ist. Dies muss durch ein Partitionierungswerkzeug oder durch manuelles Bearbeiten des Hex-Sektors erfolgen, da es sich auch außerhalb des Partitionsbereichs befindet.
In UEFI ist es viel einfacher. Es kennt FAT-Dateisysteme (und noch mehr Dateisysteme bei nicht standardmäßigen Implementierungen). Daher werden Boot-Dateien in der EFI-Systempartition AKA ESP gespeichert . Die UEFI lädt die * .efi-Anwendungen in das ESP, wodurch die Betriebssysteme geladen werden.
Die UEFI-Firmware unterstützt das Starten von Wechseldatenträgern wie USB-Flash-Laufwerken. Zu diesem Zweck muss ein Wechseldatenträger mit einem FAT12-, FAT16- oder FAT32-Dateisystem formatiert werden, während ein Bootloader gemäß der standardmäßigen ESP-Dateihierarchie gespeichert werden muss oder indem ein vollständiger Pfad eines Bootloaders zum System bereitgestellt wird Bootmanager
Im Grunde müssen Sie nur die * .efi-Datei (en) auf das ESP kopieren und die Systemdateien im richtigen Ordner ablegen. Es gibt jedoch immer noch ein kleines Problem, da die FAT-Partition, die die * .efi-Datei enthält, in der MBR- oder GPT-Tabelle außerhalb der Partitionen als ESP markiert werden muss. Dies kann nicht durch Kopieren wie oben geschehen. Insbesondere muss der Partitionstyp in MBR von 0Ch / 0Bh / was auch immer in EFh und in GPT in C12A7328-F81F-11D2-BA4B-00A0C93EC93B geändert werden, da das ESP nicht FAT12 / 16/32, sondern ein unabhängiges Dateisystem ist die FAT-Dateisystemfamilie
Und es gibt noch viele andere Partitionierungsschemata wie BSD-Plattenlabel oder APM, die zum Booten unterschiedlich modifiziert werden müssen. Oder die USB-Sticks wurden möglicherweise ohne eine Partitionstabelle formatiert (AFAIK Windows macht dies standardmäßig), weshalb es unterschiedlich sein kann, diese bootfähig zu machen. Es gilt jedoch dasselbe Limit: Sie müssen nicht partitionierte Bereiche ändern