Mac Pro 5.1 Rom / Firmware Backup Beschreibung und technischer Hintergrund

Diskutiere das Thema Mac Pro 5.1 Rom / Firmware Backup Beschreibung und technischer Hintergrund. Da ich immer wieder gebetsmühlenartig ein Rom Backup fordere hier eine Beschreibung des...

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
Da ich immer wieder gebetsmühlenartig ein Rom Backup fordere hier eine Beschreibung des Vorgangs:


Backup des Roms (Firmware "Bios" des Mac Pros)

dieses Tool laden http://dosdude1.com/apps/ROMTool.zip

Password: rom

damit erstellt man eine Sicherung (Dump System Rom)


Ab 10.11 El Capitan ist es dazu notwendig rootless/sip vorübergehend auszuschalten

https://www.heise.de/mac-and-i/tipp...ection-SIP-in-macOS-deaktivieren-3946690.html



Erklärung warum:

Die Firmware des Mac Pros kann korrumpiert werden.

Der Bereich in der Firmware welcher für Systemspeicher benutzt wird ist nur 192 Kilobyte groß. Ein Teilbereich davon ist das was wir als nvram kennen und auch mit pram reset löschen können. Aber nicht die vollen 192 kb. Einen kleinen Teil dieses Bereiches kann man mit einem 3fachen NVRam reset löschen.

nvram = pram. pram ist ein historischer Begriff als das noch durch die Speicherbatterie gestützt wurde, hat sich als Begrifflichkeit festgesetzt und sich auch noch im Affengriff (alt-cmd-p-r) gehalten.

In diesem Bereich werden Speicherkonfigurationen, abgebrochene Installationen, Logs von Kernel Panics usw usw usw gespeichert.

Da der Bereich schnell voll wird kann es passieren dass er überfüllt wird. Ähnlich wie bei einem Betriebssystem dem der Massenspeicher ausgeht.


Zu allem Unglück speichert auch noch Windows im Uefi Mode fälschlicherweise Zertifikate in diesem knappen Bereich. Und das möglicherweise mehrmals. Windows sieht unser Efi als Uefi und behandelt es falsch.

Im schlimmsten Fall ist das Rom nicht mehr startfähig und muss durch Eingriff in die Hardware repariert werden. Ohne ein Backup des Roms ist das nicht möglich weil im Rom auch verschiedene Hardwarekennungen gespeichert werden. Das ist nicht nur die Seriennummer. Ohne gültige Hardwarekennungen funktionieren die Apple Dienste nicht mehr, der Mac verliert seine verifizierbare Identität.

Da für neuere Betriebssysteme Firmwareupdates notwendig sind kann dabei immer etwas schief gehen. Der SPI Flash Chip auf dem die Firmware gespeichert wird kann ausfallen, eine Firmware die nahezu voll war kann "überlaufen" - oder es kann durch Hard- oder Softwarestörung der Updatevorgang unterbrochen werden.

Besonders betroffen von diesen Firmware "bricks" sind 4.1er die zum 5.1er durch Upgrade geworden sind. Deren Firmware ist duch das Upgrade nicht so "sauber" wie echte 5.1er.

Dann wäre die Rettung den Chip auszulöten und extern mit dem Backup wieder zu programmieren - oder bei Ausfall des Chips persönlich einen neuen zu verwenden.

Wenn die Firmware komplett "verhunzt" ist dann besteht die Möglichkeit die Firmware aus dem Backup neu aufzubauen. Wie das funktioniert ist nicht öffentlich dokumentiert. Bei Bedarf kann ich helfen.
 
  • Gefällt mir
Reaktionen: zzjochen, electricdawn, hr47 und 5 andere

Indio

Mitglied
Mitglied seit
16.06.2004
Beiträge
1.049
@Macschrauber

die frage ist, was löscht es noch alles aus dem NVRAM?


zumindest ist bei mir nach dem reset eine neue XML dazu gekommen!


Screenshot 2020-04-13 at 18.11.49.jpg

und ein zurückflashen eines gespeicherten bootROM ohne XML ändert nichts - die bleiben !?!

überseh ich da etwas?
 
Zuletzt bearbeitet:

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
hier stand dass OpenCore's nvram reset Zertifikate löschen kann.

Allerdings hat @Indio festgestellt dass bei ihn ein zweites Konfig File ins Nvram geschrieben wird.

Auch mit einem komplett leeren, neu aufgebauten Rom.

Das sollte nicht sein und kann man so noch nicht empfehlen bis das geklärt ist.

Deshalb wurden die Beiträge von mir gelöscht.
 
Zuletzt bearbeitet:

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
@Macschrauber
ein zurückflashen eines gespeicherten bootROM ohne XML ändert nichts - die bleiben !?!

überseh ich da etwas?
Du kannst unmittelbar direkt, in der gleichen Minute ohne Neustart nach dem Flashen das Rom wieder mit RomTool auslesen, sollte das nicht 100% gleich sein dann ist mit Deinem Flash IC was nicht in Ordnung und es muss neu. Die eine XML wird wahrscheinlich beim Booten neu angelegt.

Hab Dir ein Rom neu gebaut, ganz ohne alles.
 

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
Ich hab den Selbstversuch gemacht und ein 5.1 Rom geflasht was zwei Windows Uefi Zertifikate enthielt.

Nvram Reset mit OpenCore 0.57

Und es wurden die Zertifikate NICHT gelöscht

Code:
Inhalt nur für registrierte User sichtbar  Logge dich ein oder registriere dich jetzt.
 

Indio

Mitglied
Mitglied seit
16.06.2004
Beiträge
1.049
allerdings hat er nie wieder was darüber geschrieben und daher
denk ich eher das er sich geirrt hatte.
 

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
naja, die Jungs haben ja auch alle Rom Backups (hint hint hint :) )
 
  • Gefällt mir
Reaktionen: Indio

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
Wenn MacOS nicht mehr startet gibt es noch eine zweite Möglichkeit eines Rom Backups

Mit Linux bzw. Linux Stick / DVD)

(gerade getestet, Elementary OS und grml. Sicherlich auch noch etliche andere Distributionen)

Code:
Inhalt nur für registrierte User sichtbar  Logge dich ein oder registriere dich jetzt.
der umgekehrte Weg des Schreibens einer "leeren" oder bereinigten Firmware sollte auch funktionieren.

Das könnte eine Rettung sein wenn MacOS nicht mehr startet.
 
  • Gefällt mir
Reaktionen: electricdawn und Indio

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
Ich tu mich "als Windows Dau" immer schwer festzustellen ob das Ding jetzt in Bios/Legacy oder im Uefi mode läuft.
Ohne dass man Windows starten muss (und riskiert sich Zertifikate einzufangen) kann man feststellen was für eine Installation man auf der Platte / SSD hat:

Um herauszufinden, ob eue Windows-10 Installation das BIOS oder UEFI nutzt, macht ihr Folgendes:


  1. Navigiert zum Ordner \Windows\Panther
  2. Öffnet die Datei setupact.log mit einem Editor, zum Beispiel Text-Edit
  3. Drückt die Tastenkombination cmd + F, um den Suchen-Dialog zu starten.
  4. Tippt dort Detected Boot Environment ein und bestätigt mit der Eingabetaste.
  5. Hinter der gefundenen Textstelle in der Datei steht dann der Modus, in dem euer Windows läuft. Folgende Einträge sind möglich:
    • Callback_BootEnvironmentDetect: Detected boot environment: BIOS
    • Callback_BootEnvironmentDetect: Detected boot environment: EFI
Am Ende der Zeile seht ihr, welche Firmware-Schnittstelle auf eurem PC aktiv ist.


leicht angepasst, Quelle: https://www.giga.de/downloads/windo...et-ihr-heraus-welche-pc-schnittstelle-laeuft/
 
  • Gefällt mir
Reaktionen: Indio und SirVikon

Macschrauber

Mitglied
Thread Starter
Mitglied seit
08.02.2014
Beiträge
5.971
Ein Hinweis auf ein fragmentiertes NVRam Modul ist eine hohe Anzahl an Memory configs.

Wenn es mal über 20 werden wird es kritisch.

Ich habe gebrickte Roms ausgelötet mit 28 (!) MemoryConfigs. Diese Rechner starteten nicht mehr, waren tot, kein Efi done, kein Gong.

Hab mal ein kleines Shell Script gebastelt was in einem Rom Dump die MemoryConfigs zählt.

in /usr/local/bin mit dem Namen MemoryConfigs gespeichert und mit chmod 755 als Ausführbar gesetzt kann es vom Terminal wie jedes andere Kommando benutzt werden

Code:
Inhalt nur für registrierte User sichtbar  Logge dich ein oder registriere dich jetzt.

Beispiel:

Code:
Inhalt nur für registrierte User sichtbar  Logge dich ein oder registriere dich jetzt.

Zertifikate und die Installer Logs (IASInstallPhaseList.xml) sieht man mit Binwalk
 
  • Gefällt mir
Reaktionen: Indio, Proinnsias und Iluminatus
Oben