Sind OS X-Installationen spezifisch für einen Maschinentyp?

Wenn OS X installiert ist, führt das Installationsprogramm Folgendes aus:

  • nur generische Dateien schreiben (die auf jedem von diesem Betriebssystem unterstützten Computer funktionieren), oder

  • die Installation in irgendeiner Weise an einen bestimmten Maschinentyp anpassen? (Wenn ja, basiert dies vermutlich auf dem Computer, auf dem das Installationsprogramm ausgeführt wird?)

In der Vergangenheit bin ich davon ausgegangen, dass die Antwort "OS X-Installationen sind generisch" lautet, und habe auf der Grundlage dieser Annahme verschiedene Tricks angewendet. Aber ich habe das immer nur in verschiedenen temporären Problemumgehungen gemacht, weil ich dieser Annahme nicht wirklich vertraue.

Wenn ich eine vertrauenswürdige (also vorzugsweise referenzierte) Antwort "OS X-Installationen sind generisch" hätte, sind hier einige Beispiele dafür, was ich tun könnte:

  • Booten Sie einen Mac Pro mit der Software auf einem MacBook Pro (dh der Laptop befindet sich im Zielfestplattenmodus, ist über FireWire mit dem Desktop verbunden, ich halte die Alt-Taste gedrückt, wenn ich den Desktop starte, und wähle das Laptop-Laufwerk).

  • Führen Sie ein Installationsprogramm auf einem Computer aus und schreiben Sie auf eine Festplatte, die ich auf einem anderen Computer installieren möchte.

  • Erstellen Sie eine Installation in einer virtuellen Maschine (über VirtualBox usw.) und schreiben Sie sie dann auf ein Standardvolume zur Verwendung in einer physischen Maschine oder umgekehrt.

  • usw

Um die Frage zu versuchen und einzuschränken:

  • Betrachten wir nur Intel: Lassen Sie uns ältere PPC-Hardware ignorieren

  • Nehmen wir an, dies ist ungefähr ab 10.8

  • Nur Apple-Hardware: Ich frage nicht nach Hackintosh

  • Ich verstehe, dass einige Anwendungen durch eine Änderung in der zugrunde liegenden Hardwareumgebung auf verschiedene Weise verwirrt werden können, aber ich wundere mich hier nur über das Betriebssystem selbst.

Ich würde vermuten, dass es die Treiber speziell für die Host-Hardware anpasst.
Danke, @Buscar웃 - das würde ich auch vermuten, aber ich habe in der Vergangenheit solche Tricks verwendet (z. B. den Mac Pro / MacBook Pro aus meiner Liste) und sie schienen in meinen begrenzten Tests zu funktionieren, also vielleicht der Installer erzeugt tatsächlich generische Ergebnisse. Oder generische Ergebnisse, außer in bestimmten Grenzfällen: und darüber würde ich gerne etwas wissen.

Antworten (4)

Ja und nein.

In Bezug auf Einzelhandelsinstallations-Discs/Upgrades, die im Mac App Store „gekauft“ werden, nein, sie sind normalerweise nicht maschinenspezifisch. Dies sind allgemeine Builds, die auf jeder unterstützten Hardware installiert werden sollen.

Maschinenspezifische Builds existieren, obwohl sie zu diesem Zeitpunkt für die meisten Menschen kein Problem darstellen. Wenn Macs mit physischen Wiederherstellungsmedien (mehrere CDs/DVDs) ausgeliefert wurden, waren diese Medien sehr spezifisch für diese bestimmte Generation/Modell von Mac. Dies bedeutete, dass Sie ein MacBook von Anfang 2008 und ein MacBook Pro von Anfang 2008 haben könnten, das MacBook-Medium würde beim Booten des MacBook Pro einen Fehler anzeigen und umgekehrt.

In Bezug auf die tatsächlich installierten Dateien, ja, heutzutage sind die Installationen ziemlich generisch. Ich möchte nicht sagen, dass die installierten Dateien auf einem MacBook Pro Retina genau die gleichen sind wie auf einem MacBook Air, aber zum größten Teil wird dies zutreffen. In der Vergangenheit (frühe/mittlere PowerPC-Zeit) gab es einige Unterschiede, aber selbst dann konnten Sie normalerweise einen Mac zum Booten eines anderen verwenden. Das Hauptproblem, auf das wir früher gestoßen sind, war die Remote-Installation von Tiger oder Leopard mit einer Mischung aus Intel- und PowerPC-Macs. In solchen Situationen war es am besten, PowerPC zu PowerPC oder Intel zu Intel zu verwenden.

Das einzige Mal, dass dies möglicherweise nicht zutrifft, ist, wenn Sie versuchen, einen neueren Mac mit der Festplatte eines älteren Mac zu booten, auf dem ein älteres System installiert ist (älter als das System, mit dem der neuere Mac geliefert wurde). Wenn beispielsweise morgen ein neuer iMac veröffentlicht wurde und ich versucht habe, ihn mit 10.9.1 zu booten, das auf meinem MacBook Pro Retina installiert ist, besteht eine gute Chance, dass er nicht booten würde, weil der iMac 10.9.3 oder höher benötigt.

Danke: Dies ist eine nützliche Erläuterung des Unterschieds zwischen der Besonderheit des Installationsmediums und der Installation selbst. Auch der Rat, sicherzustellen, dass die Installation neuer als der Mac ist, ist praktisch und nützlich. Es ist eine Schande über die Absicherung („… zum größten Teil…“) in dieser Antwort. Vielleicht ist es einfach nicht möglich, hier eine vollständige Antwort zu geben: Ich denke, Apple kann den Installer veranlassen, angepasste Ergebnisse zu erstellen, und wir können nur unsere Erfahrung darüber preisgeben, ob wir sie dabei beobachtet haben.
Ein paar Fragen, die durch Ihre Antwort aufgeworfen werden: 1) Ich frage mich, ob Nicht-Retina-Ressourcen auf einem Retina-Mac installiert sind. (Ich besitze noch keinen.) 2) Ich mag Ihr iMac / MacBook Pro-Beispiel. Ich denke, Sie implizieren, dass der Code für den neuen iMac in 10.9.3 eingebettet wäre. Wenn Sie also das MacBook Pro auf diese Version aktualisieren würden, könnten Sie den iMac von dort aus ausführen ... verstehe ich das richtig?
1) Ich glaube, sie sind einfach, weil das Gegenteil normalerweise der Fall ist, Ressourcen für Retina-Modelle finden sich in Nicht-Retina-Modellen. So beginnen eigentlich viele Gerüchte, wenn Leute graben und Ressourcen finden, die auf dem aktuellen Mac fehl am Platz zu sein scheinen. 2) Richtig, wenn ich das MacBook Pro aktualisieren würde, würde der iMac mit ziemlicher Sicherheit davon laufen. Das trifft nicht immer zu, manchmal braucht es direkt nach einer neuen Version ein weiteres Software-Update. Der Grund dafür sind architekturspezifische Treiber/Code im Betriebssystem, das mit dem Mac geliefert wird. Ältere Macs/OS haben den Code noch nicht.

Das Einfachste, was Sie tun können, ist, dasselbe Installationsprogramm auf zwei verschiedenen Hardwarekomponenten (auf einer leeren Festplatte) auszuführen und dann die genaue Größe dieser Installationen zu vergleichen. Wenn die Größen gleich sind, dann ist es eine generische Installation, wenn nicht, ist es eine spezifische :)

Sie können jederzeit einen Unterschied ( diff -rq dirA dirB) zwischen den Verzeichnissen machen, um zu sehen, was sich zwischen den beiden Installationen geändert hat

Das ist eine nette Idee: Danke! Aber das sagt mir nur etwas über diese beiden Maschinen. Ich bin nach einer allgemeineren Antwort, wenn möglich.

Im Allgemeinen sind die installierten Dateien generisch für alle Macs, die das Betriebssystem unterstützt.

Es gibt zwei Vorbehalte:

  1. Neue Macs, die nach der aktuellen Betriebssystemversion gestartet werden, erhalten möglicherweise einen speziellen Build des Betriebssystems, der Treiber für neue Hardware hinzufügt. Diese Treiber werden in die nächste Version des Betriebssystems eingeführt.
  2. Macs mit dem T2-Chip machen die Sache etwas komplizierter. Wenn Sie Secure Boot deaktiviert haben, ist es möglich, mit einer generischen Betriebssysteminstallation von einem externen Laufwerk zu booten. aber das Klonen der internen Festplatte von einem anderen Mac funktioniert nicht, und Sie müssen das Betriebssystem erneut installieren. Was genau geändert wird, ist jedoch unbekannt und kann eher eine Konfiguration als unterschiedliche Hardwaretreiber sein.

macOS-Installationsprogramme sind in der Tat spezifisch für den Mac, auf den sie heruntergeladen werden, selbst wenn softwareupdate --fetch-full-installer --full-installer-version. Dies war nicht immer der Fall, da ich klare Erinnerungen daran habe, frühere Versionen von OS X/macOS auf beispielsweise ein MacBook Pro heruntergeladen und das Installationsprogramm erfolgreich auf einem iMac, Mac Mini usw. verwendet zu haben.

Weitere Informationen und eine Problemumgehung aus dem Skript installinstallmacos.py von munki :

Da es das Installationsprogramm von Apple verwendet, werden alle Installationsprüfungs- oder Volumenprüfungsskripte ausgeführt. Dies bedeutet, dass Sie dieses Tool nur verwenden können, um ein Diskimage zu erstellen, das die Versionen von macOS enthält, die auf genau dem Computer ausgeführt werden, auf dem Sie das Skript ausführen.

Um beispielsweise ein Diskimage zu erstellen, das die Version 10.13.6 enthält, die auf 2018 MacBook Pros ausgeführt wird, müssen Sie dieses Skript auf einem 2018 MacBook Pro ausführen und die richtige Version auswählen.

...

Verwenden Sie einen kompatiblen Mac oder wählen Sie einen anderen Build aus, der mit Ihrer aktuellen Hardware kompatibel ist, und versuchen Sie es erneut. Möglicherweise haben Sie auch Erfolg beim Ausführen des Skripts in einer VM. Das InstallationCheck-Skript in den bisherigen Versionen des macOS-Installationsprogramms überspringt die Prüfungen (und gibt Erfolg zurück), wenn es auf einer VM ausgeführt wird.

Dies ist nur bei "neuen" Macs der Fall, die nach der neuesten Betriebssystemversion veröffentlicht wurden. Die Treiber für die neue Hardware werden in die nächste Betriebssystemversion integriert.
@benwiggy Das gleiche Problem betrifft viel ältere Macs. Kürzlich auf einem 2012 Mac Pro, 2012 iMac und 2013 iMac darauf gestoßen; Mojave- und Catalina-Installationsprogramme, die auf ein 2012er MacBook Pro heruntergeladen wurden, würden booten, aber nicht auf diesen Computern installiert werden, funktionierten aber auf demselben MacBook Pro (natürlich wurde Catalina nicht auf dem nicht unterstützten 2012er Mac Pro versucht). Nachdem dieselben Installer stattdessen in eine VM heruntergeladen wurden, funktionierten sie auf der gesamten getesteten Hardware.