Beim Kopieren werden nur Dateien in formatierten Partitionen kopiert. Sie werden nicht in der Lage sein, spezielle Dinge zu tun, die für den Boot-Vorgang notwendig sind, wie das Setzen der Boot-Flags, das Schreiben des Bootloaders oder manchmal sogar das Kopieren normaler Dateien an die richtige Stelle (read: sector) in der Partition und das Festlegen der Dateiattribute / Berechtigungen. Sofern Sie nicht das Glück haben, diese Dinge zur Verfügung zu haben, müssen Sie aufgrund einer vorherigen Erstellung der Bootdiskette, eines Formatierungstools, das den Bootloader in den MBR schreibt, usw. weitere Schritte ausführen, um die Diskette 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 vorliegt . Wenn ja, wird dieser Sektor geladen und die Steuerung an den Bootloader im MBR übertragen. Der MBR beschreibt die Partitionskonfiguration, daher kann er nicht in der Partition liegen und ist nicht das, was Sie mit normalen Tools kopieren können.
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 wiederum häufig in Regionen außerhalb der Trennwände gelegt . Einige mögen es in den EBR stellen , 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. Das ist der Grund, warum, wenn man die Partitionen nicht richtig ausrichtet, kein Platz für Grub vorhanden ist, um den Boot-Code abzulegen, was zu einem Einbettungsfehler führt
Viele Bootloader wie LILO oder alte Windows / DOS-Bootloader enthalten auch Hardcode- Informationen im MBR, wie die Position der nächsten Stufe oder der Systemdateien. Sie arbeiten nicht mit dem Lesen der Partitionsdaten, sondern mit dem Lesen eines hartcodierten Sektors, da es zu viel Code erfordert, um das Dateisystem zu analysieren, das nur sehr schwer in winzige Bereiche wie den MBR oder die Lücke nach dem MBR gequetscht werden kann. Sogar Grub unterstützt eine solche harte Codierung . Das heißt, einige Systemdateien müssen sich Sektor für Sektor genau am richtigen Ort befinden , was Sie mit einer normalen Kopie nicht erreichen können. Aus diesem Grund sehen Sie "nicht verschiebbare Systemdateien". Wenn Sie den Windows-Defragmentierer ausführen oder Dateisysteme verkleinern, was manchmal nicht richtig ist, weil Windows nur zu ängstlich ist, diese Dateien zu verschieben, obwohl moderne Bootloader viel intelligenter sind und sich nicht um solche Dinge kümmern.
Schließlich müssen Sie auch die Boot-Partition als aktiv festlegen , damit der Bootloader weiß, was gebootet werden soll. Dies muss durch ein Partitionierungswerkzeug oder manuelles Hex-Editieren erfolgen, da es sich auch außerhalb des Partitionsbereichs befindet.
In der UEFI sind die Dinge viel einfacher. Es kennt FAT-Dateisysteme (und noch mehr Dateisysteme bei nicht standardmäßigen Implementierungen). Daher werden Startdateien in der EFI-Systempartition AKA ESP gespeichert . Die UEFI lädt die * .efi-Anwendungen in den ESP, der dann die Betriebssysteme lädt.
Die UEFI-Firmware unterstützt das Booten von Wechseldatenträgern wie USB-Sticks. Zu diesem Zweck muss ein Wechseldatenträger mit einem FAT12-, FAT16- oder FAT32-Dateisystem formatiert werden, während ein Bootloader gemäß der Standard-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 den ESP kopieren und die Systemdateien in den richtigen Ordner legen. 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 ausgeführt werden. Insbesondere muss der Partitionstyp in MBR von 0Ch / 0Bh / whatever zu EFh und in GPT zu C12A7328-F81F-11D2-BA4B-00A0C93EC93B geändert werden , da das ESP nicht tatsächlich auf FAT12 / 16/32, sondern auf einem unabhängigen Dateisystem basiert die FAT-Dateisystemfamilie
Und es gibt noch viele andere Partitionierungsschemata wie BSD Disk Label oder APM, die zum Booten anders modifiziert werden müssen. Oder die USB-Sticks wurden möglicherweise ohne Partitionstabelle formatiert (AFAIK Windows führt dies standardmäßig aus). Daher ist es anders, sie bootfähig zu machen. Es gilt jedoch dasselbe Limit: Sie müssen nicht partitionierte Bereiche ändern