Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal

772
JMY1000

Hintergrund

Zu meinen Aufgaben gehört es, eine Vielzahl von Computern mit einer Reihe vorkonfigurierter Softwarepakete zur Verfügung zu haben, die recht kurzfristig genutzt werden können. Diese Computer haben unterschiedliche Hardware, und es gibt keine automatischen Updates (ganz zu schweigen von einem zentralisierten System). Um sowohl das Problem der Bereitstellung dieser Suiten als auch deren Aktualisierung zu lösen, habe ich versucht, Acronis True Image zu verwenden. Befolgen Sie verschiedene Anweisungen in einer Windows 10-VM, die über VirtualBox auf macOS gehostet wird:

  1. Mit Acronis Snap Deploy 5 können Sie ein bootfähiges Acronis-Medium erstellen .iso.
  2. Von diesem Image gebootet
  3. Ein Master-Image wurde offline erstellt.
  4. Starten Sie auf einer neuen VM das bootfähige Medium und stellen Sie das Master-Image erfolgreich bereit.

Problem

Während das .iso zum Booten einer VM geeignet ist:

Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal

Der Versuch, die .iso-Datei mithilfe von unetbootin zu brennen, führt dazu, dass es sich lautlos wehrt. Rufus sagt, dass das Image nicht unterstützt wird.

Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal

Welches wird durch das Einhängen des Bildes in MacOS und Windows bestätigt:

Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal

Es gibt jedoch definitiv einige echte Daten im Bild:

Acronis Bootable Media scheint kein Dateisystem zu haben, bootet jedoch erfolgreich in VM, aber nicht auf Bare-Metal

Frage

Wie ist es möglich, dass ein .iso mit VirtualBox perfekt bootet, aber kein offensichtliches Dateisystem hat und nicht auf ein USB-Laufwerk abgebildet werden kann? Wie kann ich eine startfähige Version dieses Abbilds zur Verwendung mit einem "echten" Computer erstellen?

0
Beachten Sie, dass bootfähige CDs (z. B. isohybrid) ziemlich komplex sein können und über verschiedene Arten von Boot-Records, mehrere Partitionstabellen und sogar überlappende Dateisysteme verfügen. ([Zum Beispiel] (https://mjg59.dreamwidth.org/11285.html). [Also] (https://mjg59.dreamwidth.org/4957.html).) Mit anderen Worten, nur weil es leer aussieht Im Dateimanager bedeutet dies nicht, dass er leer ist. grawity vor 6 Jahren 1
@grawity Danke für die zusätzlichen Infos. Aufgrund der Tatsache, dass es im Wesentlichen drei verschiedene Funktionen für das Bild gibt, erscheint es logisch, dass etwas in dieser Richtung vor sich geht. Das wirft jedoch die Frage auf, wie ich mit dem Image bootfähige Medien erstellen kann. JMY1000 vor 6 Jahren 0
Haben Sie versucht, das Image ohne Konvertierungswerkzeuge auf USB _directly_ zu schreiben? (Zum Beispiel `dd` oder Win32DiskImager. Unetbootin nicht.) grawity vor 6 Jahren 0
@grawity habe ich nicht: wäre [this] (https://askubuntu.com/questions/372607/how-to-create-a-bootable-ubuntu-usb-flash-drive-from-terminal) der richtige Ort sehen? Ich habe keine Erfahrung mit `dd`. sudo dd if = inputfile.img von = / dev / disk bs = 4m && sync scheint das zu sein, was sie empfehlen. JMY1000 vor 6 Jahren 0
Das sollte funktionieren, wenn Sie mit dem `of =` -Parameter _very_ vorsichtig sind (nicht versehentlich Ihre echte HDD abtreiben!). Ich denke, macOS hat möglicherweise eine Option im Festplatten-Dienstprogramm, um dasselbe zu tun. grawity vor 6 Jahren 0

1 Antwort auf die Frage

0
grawity

Versuchen Sie, das Image ohne Konvertierungstools (z. B. unetbootin) zu schreiben . Sie können einfache ddoder direkte Imaging-Tools wie Win32DiskImager verwenden. In macOS schlägt dieser Beitrag vor:

  1. diskutil list um das "/ dev / diskX" -Gerät zu finden;
  2. diskutil unmountDisk /dev/diskX;
  3. dd if=/path/to/iso of=/dev/rdiskX bs=1M (Kommentare schlagen "rdisk" für die Leistung vor)
  4. diskutil eject /dev/diskX.

ISO-Images sind CD-Images (der Name stammt von "ISO 9660") und sind anders strukturiert als "normale" Festplatten. Am wichtigsten ist, dass die Boot-Informationen an einem anderen Ort abgelegt werden - CDs verwenden einen Boot-Record "El Torito" im Sektor 17; BIOS-kompatible Festplatten verwenden einen MBR in Sektor 0; UEFI-kompatible Festplatten verwenden ein GPT in Sektor 1 und eine ganze separate Partition, die den Bootloader enthält.

Um ein CD-Image von USB zu starten, gibt es zwei Optionen:

  • Programme wie Rufus und Unetbootin "brennen" das Image nicht einfach; Sie konvertieren ein reines CD-Image in ein USB-Image.

    Sie versuchen, den Inhalt des Images zu erkennen, sie auf das USB-Laufwerk zu extrahieren und einen neuen Bootloader zu erstellen, der hoffentlich mit dem ursprünglichen kompatibel ist.

    Dazu muss das Konvertierungsprogramm die Funktionsweise des CD-Images wirklich verstehen. (Wenn beispielsweise die CD isolinux verwendet wird, muss der Konverter syslinux auf dem USB-Stick installieren.)

  • Programme wie isohybrid bereiten das Image so vor, dass es gleichzeitig CD (ISO 9660), BIOS (MBR) und UEFI-Startcode enthält, sodass es ohne weitere Konvertierung auf jede Art von Festplatte geschrieben werden kann.

    Das Ergebnis ist ein Bild, dessen Inhalt davon abhängt, wie Sie es betrachten. Wenn auf eine CD geschrieben, findet das Betriebssystem ein normales ISO 9660-Dateisystem. Wenn genau dieselben Daten auf eine USB-Festplatte geschrieben werden, findet das Betriebssystem eine große "leere" Partition und eine sehr kleine "EFI-Boot" -Partition. Beispiel. Beispiel.

Beide Methoden sind komplex, aber der schlimmste Fall ist der Versuch , beide zu kombinieren . Zum Beispiel war Unetbootin in der Vergangenheit ein gutes CD → USB-Konvertierungswerkzeug. Da Linux-Distributionen jedoch häufig in bereits USB-kompatiblen hybriden ISO-Images ausgeliefert werden, neigt Unetbootin dazu, deren Inhalt zu missverstehen und tatsächlich ein Image auszugeben, das nicht mehr vorhanden ist Stiefel.

Schließlich brauchen Festplatten keine sichtbaren Dateien, um bootfähig zu sein. Es ist ein absolutes Minimum erforderlich, um die Festplatte oder Festplatte zu booten. Darüber hinaus wird alles vom CD / K-Bootloader selbst gesteuert. Es spielt also keine Rolle, dass Sie eine vollständig leere Disc sehen. Der Bootloader sucht möglicherweise anderswo nach seinen eigenen Daten.


In Ihrem Fall ist es sehr wahrscheinlich, dass das Bild bereits in einem Hybridformat vorliegt. Es hat gerade genug eines ISO 9660-Dateisystems, um Firmware den Bootloader finden zu lassen, aber der Rest des Betriebssystems ist an anderer Stelle versteckt.

Sie können versuchen, festzustellen, ob es tatsächlich mit dem BIOS-MBR-Startformat kompatibel ist.

head -c 512 file.iso | hexdump -Cv 

Wenn die letzte Zeile (000001f0) mit endet 55 aa, bedeutet dies, dass eine BIOS-MBR-Partitionstabelle vorhanden ist.

Weder `dd` noch Win32DiskImager haben funktioniert; Der Hexdump lieferte auch nicht die erwarteten Ergebnisse (alles in diesem Bereich ist 00s). Wenn ein voller Hexdump ausgeführt wurde, zeigte sich jedoch eindeutig, dass es keine Nullwerte gab. Das erste dieser Daten wird jedoch nicht vor 0x00008000 angezeigt, sondern hat den Text "CD001 ACRONIS_MEDIA". Es gibt auch einen Text unter 0x00008800, der "CD001 EL TORITO SPECIFICATION" liest, bevor er wirklich in Daten um 0x00013800 springt. JMY1000 vor 6 Jahren 0
Ich verstehe, also ist es als CD bootfähig (es gibt einen El Torito-Sektor), aber _nicht_ als reguläre Platte (der MBR-Sektor ist leer), so dass Sie ein Konvertierungswerkzeug benötigen. Für das BIOS sagt der Rufus-Entwickler, dass dies sehr schwierig werden wird (https://github.com/pbatard/rufus/wiki/FAQ#List_of_images_Rufus_isnt_compatible_with). Sie haben bereits gezeigt, dass die CD im UEFI-Modus hochfährt. Theoretisch wäre es also leicht, _dat_ auf USB zu extrahieren, vorausgesetzt, Ihre echte Firmware ist UEFI-kompatibel. Ich habe jedoch keine Anweisungen dafür. Sehen Sie, ob Rufus es für UEFI tun kann. grawity vor 6 Jahren 0
Rufus weigert sich, das Image mit der Fehlermeldung zu öffnen "Dieses Image ist entweder nicht bootfähig oder verwendet eine Boot- oder Kompressionsmethode, die von Rufus nicht unterstützt wird ..." Beim Öffnen des ISO-Codes mit 7-Zip wird ein Ordner mit dem Namen [BOOT] angezeigt. mit zwei Dateien: https://i.stack.imgur.com/BDhb5.png JMY1000 vor 6 Jahren 0
Stimmt es auch, dass der [MBR für startfähige CDs / DVDs nicht erforderlich ist?] (Https://superuser.com/questions/1063220/windows-10-iso-on-usb-refuses-to-boot) JMY1000 vor 6 Jahren 0
VM scheint von .iso gut zu booten, auch wenn EFI deaktiviert ist. Bei dem Versuch, verschiedene ISO-Konfigurationen in True Image zu erstellen, wurde keine MBR-Partition erstellt. JMY1000 vor 6 Jahren 0