Erstellen Sie eine bootfähige EFI-Systempartition aus den Firmware-Dateien des macOS-Installationsprogramms (.scap, .fd)

Jedes macOS-Installationsprogramm enthält einen Ordner (z. B. namens EFIPayloads ) mit EFI-Firmwaredateien namens MP61_0116_B17_LOCKED.scap , MBP114_0172_B09_LOCKED.fd oder ähnlich.

Wie erstellt man daraus eine funktionierende EFI-Partition?

Was ich schon weiß:

  1. Die EFI-Partition erfordert bestimmte Werte im GPT .

  2. Eine EFI-Partition ist ein FAT32-Volume mit einer Ordnerstruktur wie dieser:

    EFI
        APPLE
            EXTENSIONS
                Firmware.scap                  (always there)
            FIRMWARE                           (optional)
                EfiUpdaterApp2.efi
                MP51_0087_00B_LOCKED.fd
    

Was? Ich verstehe nicht:

  • Welche Dateien nehme ich aus dem macOS-Installationsprogramm und wo platziere ich sie im EFI-Volume? Verwende ich zum Beispiel die .scapDatei, die dem Mac-Modell entspricht, und benenne sie in um Firmware.scap, während eine Modell-Matching- .fdDatei (die optional sein kann) dann in den FIRMWAREOrdner wandert?

  • Wird EfiUpdaterApp2.efizum Ausführen der Firmware benötigt oder ist das nur ein Überbleibsel eines älteren Firmware-Update-Vorgangs und kann entfernt werden?

  • Kann ich eine universelle EFI-Startpartition erstellen, die die Firmware für jedes Mac-Modell enthält, sodass ich diese auf eine externe Festplatte legen und praktisch jeden Mac davon booten kann, für den ich seine .fd- oder .scap-Datei hinzugefügt habe?

Aktualisieren

Diese Antwort deutet darauf hin, dass die Dateien im FIRMWARE-Ordner beim Booten des Systems nicht geladen werden, sondern nur zum Flashen des ROM verwendet werden. Wenn also der jeweilige Mac die jeweilige Datei bereits einmal in seinem Flash-ROM installiert hat, wird sie nicht mehr benötigt und kann von der EFI-Partition entfernt werden.

Ich habe auch einen Test durchgeführt, bei dem ich den obersten „EFI“-Ordner in „EFI-OFF“ umbenannt und ein MacBook Air 2015 neu gestartet habe. Dies führte dazu, dass ein neuer EFI-Ordner in der EFI-Partition mit derselben Firmware.scap-Datei erstellt wurde. Dies deutet darauf hin, dass zumindest auf neueren Macs keine der beiden Dateien beim Booten vorhanden sein müssen. Das bedeutet, dass überhaupt keine bootfähige EFI-Partition erstellt werden muss. Ich frage mich, ob es möglicherweise noch zusätzliche Unterstützung für Macs enthält, deren Boot-ROMs nicht aktualisiert werden können, z. B. das Hinzufügen von Unterstützung zum Booten von APFS-Volumes , vielleicht.

Hintergrund:

Kürzlich wurde bei einem Freund seine EFI-Bootpartition überschrieben, während seine Haupt-Mac-Bootpartition intakt geblieben war. Ohne diese EFI-Partition würde der Mac nicht mehr booten.

Ich habe dann versucht, den Schaden zu reparieren, indem ich die EFI-Partition meines Macs auf seinen Mac kopiert habe, und zwar mit iBored (das ich selbst geschrieben habe, damit ich weiß, was ich tat, vertrauen Sie mir).

Aber das half nichts - der Mac bootete immer noch nicht.

Nach einer Weile stellte ich fest, dass sein ziemlich alter Mac (ein MacBook Pro Anfang 2009) wahrscheinlich eine andere EFI-Firmware benötigte als der andere Mac, von dem wir versuchten, die EFI-Firmware zu kopieren.

Nach einigem Suchen fand ich die erwähnten .fd- und .scap-Dateien in einem macOS-Installer, was meine Theorie zu bestätigen scheint. Daher würde ich jetzt gerne mehr Informationen darüber bekommen, wie das alles zusammenpasst.

Antworten (1)

macOS bootet problemlos ohne EFI-Partition. Im Gegensatz zu den meisten Betriebssystemen speichert macOS seine Startdateien innerhalb der Betriebssystempartition. Apple-Computer werden mit Firmware ausgeliefert, die HFS+-Partitionen lesen kann (Modelle ab 2016 können standardmäßig auch APFS-Volumes lesen), sodass sie die boot.efi-Datei von der Partition lesen können. Wenn Sie Ihren Computer auf High Sierra aktualisieren, wird auch die Firmware aktualisiert, sodass Sie von APFS-Partitionen booten können.

Ihr Freund hat wahrscheinlich mehr getan, als nur die EFI-Partition zu überschreiben. Wahrscheinlich müssen Sie Ihre Daten sichern und macOS neu installieren.

Der Mac des Freundes startete einwandfrei, wenn er den Mac über den Disk Target Mode an einen anderen Mac anschloss und von diesem Mac mit gedrückter Optionstaste startete und dann das Systemvolume des "schlechten" Macs auswählte. Was könnte Ihrer Meinung nach noch kaputt sein, wenn es nicht das macOS-Volume und nicht die EFI-Partition ist?
Nach ein bisschen Googeln fand ich heraus, dass MacBook Pros zwischen 2008-2009 einen Defekt mit der GPU haben könnten. Hast du versucht im abgesicherten Modus zu booten?
Sie haben Recht damit, dass Sie die Dateien in der EFI-Partition nicht benötigen: Ich habe gerade die EFI-Partition auf meinem MacBook Air 2015 gelöscht. Danach bootet es immer noch. Der Mac des Freundes war jedoch ein 2009er Modell, auf dem High Sierra installiert war. Dafür glaube ich, dass der EFI-Teil die APFS-Unterstützung enthielt, die dem Boot-ROM fehlt.
Wir sind noch nicht einmal so weit gekommen, da selbst das Halten der Optionstaste keine bootfähigen Optionen bieten würde. Weißt du überhaupt etwas darüber, wofür die Firmware-Dateien im Allgemeinen gedacht sind? Warum sollte sogar das MB Air 2015 sie haben, wenn sie nicht zum Booten benötigt werden?
Ich weiß nicht, wie Low-Level-Firmware-Updates durchgeführt werden, aber ich denke, eine Neuinstallation des Betriebssystems kann das Problem beheben. Die Neuinstallation des Betriebssystems löscht nicht die Festplatte, sondern installiert nur die Systemdateien neu.
Der ganze Zweck dieser Frage besteht darin, das System nicht neu installieren zu müssen, dh das Boot-Volume intakt zu halten. Wir konnten dafür keine weitere Partition hinzufügen, da die Festplatte nicht genügend freien Speicherplatz für eine weitere macOS-Installation hatte.
Sie müssen keine weitere Partition hinzufügen. Installieren Sie einfach macOS High Sierra von einem bootfähigen macOS-Flash-Laufwerk auf der vorhandenen macOS-Partition. Wahrscheinlich brauchen Sie auch nicht viel freien Speicherplatz.
In Ordnung. Ich würde immer noch gerne den Zweck und die Konfiguration dieser EFI-Datei verstehen. Ihre Antwort ist hilfreich in diesem speziellen Problem, das ich hatte, aber sie beantwortet nicht die eigentliche Frage, die auch für andere interessant sein könnte, also werde ich warten, bis ich hoffentlich eine weitere Antwort akzeptiere, die auftauchen wird.