Ich dachte, es ist eine dumme Frage, aber eine Suche mit Google scheint darauf hinzudeuten, dass es nicht einmal möglich ist, Daten von einem bootfähigen Laufwerk auf ein anderes USB-Gerät zu kopieren oder einzufügen. Aber selbst wenn wir es kopieren könnten, warum sollte es dann nicht funktionieren? (Das erstellt ein Duplikat des bootfähigen Laufwerks.)
37
Antworten:
Durch einfaches Kopieren der Dateien wird kein bootfähiges Laufwerk erstellt. Es sind nicht nur die Dateien auf einem USB-Flash-Laufwerk, die ihn bootfähig machen, sondern auch die Partitionstabellenkonfiguration , die Metadaten zur Organisation des Laufwerkinhalts, die einem PC mitteilen , ob er bootfähig ist und ob es sich um MBR oder GPT handelt .
Wie auf cyberciti.biz vermerkt :
Sie können das Flash-Laufwerk jedoch mit einer Reihe von Tools klonen, z. B. mit dd , EaseUS Todo Backup und dem hervorragenden Open Source- Programm Clonezilla und Rufus . (Danke an Alex für die Erinnerungen an dd und Rufus).
Es gibt sogar elektronische Geräte, die Flash-Laufwerke automatisch replizieren .
quelle
dd
: simplecp
erledigt die Arbeit - stellen Sie nur sicher, dass Sie es auf dem Geräteknoten anstatt auf dem Dateisysteminhalt verwenden.cp
die einfach den Geräteknoten kopieren würde. Um Verwirrung zu vermeiden, habe ich jetzt auch meinen Kommentar gelöscht.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.
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
quelle
Herkömmlicherweise erforderte der BIOS-Start eine spezielle unsichtbare Markierung. Hier einige Beispiele :
In diesen Fällen können Sie Dateien nicht einfach kopieren. Das resultierende Laufwerk kann nicht mehr gestartet werden, da diese speziellen Markierungen fehlen.
Der UEFI-Start ist jedoch besonders, intelligenter und behebt speziell diese Probleme. Wie immer empfehle ich, diesen Blog-Beitrag zu lesen, um UEFI eine vereinfachte Einführung zu geben. Beachten Sie insbesondere den Fallback-Boot-Abschnitt. Auch darauf wird hier etwas näher eingegangen .
Alles, was Sie dazu benötigen, ist eine Datei in einem bestimmten Pfad in einer Partition, die von der Firmware durchsucht wird. Für eine optimale Kompatibilität 1 sollte dies eine FAT32-formatierte Partition sein, die als EFI-Systempartition auf einer GPT-partitionierten Festplatte gekennzeichnet ist. Die meisten Firmware-Versionen durchsuchen jedoch auch (einzelne) Partitionen auf MBR-partitionierten und nicht-partitionierten (Superfloppy) Festplatten.
Dies bedeutet, dass Sie für den UEFI-Start nur eine FAT32 1- formatierte Einzelpartition mit einem Fallback-Starteintrag benötigen . Auf einer x86_64-Architektur bedeutet dies, dass Sie nur eine
\EFI\BOOT\BOOTx64.EFI
Datei benötigen . Sie können einfach von einem Flash-Laufwerk auf ein anderes kopieren, einschließlich dieser Datei, und alles sollte funktionieren.1 FAT32 und GPT sind standardmäßig erforderlich. MBR und Superfloppy sind nicht AFAIK, aber die Unterstützung für sie ist bei Desktop-Hardware ziemlich universell. Laptop ist etwas esoterischer; Tablets sind ein Kinderspiel, und Mac EFI ist einzigartig.
2 Der UEFI-Standard erfordert FAT32-Unterstützung. Einige Firmware unterstützen möglicherweise auch NTFS (obwohl dies alles andere als garantiert ist), und Sie können tatsächlich einen NTFS-Treiber in einen FAT32-ESP einbetten.
quelle
Es kommt darauf an, was Sie mit "kopieren" meinen.
Kopieren und Einfügen in die GUI Ihres Betriebssystems? Nein, das funktioniert nicht - einige Dateien, die ein bootfähiger USB-Stick benötigt, werden als "versteckt" / unsichtbar betrachtet und nicht kopiert.
Es gibt Kopiertypen, die funktionieren. Dies wird oft als "Imaging" eines neuen USB bezeichnet, um vom "Kopieren" seines Inhalts zu unterscheiden. Die gebräuchlichste Methode hierfür ist ein Befehlszeilentool. Bei Bedarf stehen jedoch grafische Optionen zur Verfügung.
Das sollte Hintergrund genug sein, um Ihre Suche auf Kurs zu bringen!
quelle