Gibt es eine einfache Möglichkeit festzustellen, ob alle meine Kernel-Erweiterungen das Booten mit einem 64-Bit-Kernel "überleben" werden? Ich kann natürlich den "6-4-Finger-Boot" ausprobieren, aber vielleicht gibt es ein Stück Hardware, das ich selten benutze und das nicht funktioniert, wenn ich es in einem Monat benutze, sodass ich mich frage, was schief gelaufen ist.
Ich kann eine Liste der Erweiterungen in System Profiler> Software> Erweiterungen sehen, von denen 8 als nicht "64-Bit (Intel)" aufgeführt sind, aber 5 von ihnen "Pseudoerweiterungen" mit einer "in den Kernel integrierten Ladeadresse" sind ", und die 3 anderen sind CHUD-bezogen und werden wahrscheinlich weg sein, sobald ich Xcode aktualisiere? Reicht das für den Schluss, dass ich keine Probleme haben werde? Oder gibt es Erweiterungen, die jetzt nicht geladen werden und die ich irgendwie testen kann?
Soweit ich weiß, zeigt System Profiler keine Informationen für .kext-Dateien an, die geladen werden und sich an einem anderen Ort als dem Ordner /System/Library/Extensions/ befinden.
Um umfassende Informationen über die aktuell geladenen und auf Ihrem Mac verwendeten Kernel-Erweiterungen zu erhalten, können Sie das kextstat
Befehlszeilentool verwenden.
Öffnen Sie die Terminal-Anwendung (im Ordner /Applications/Utilities/), geben Sie an der Eingabeaufforderung Folgendes ein und drücken Sie dann die Eingabetaste:
kextstat
Sie erhalten eine große Liste aller geladenen Kernel-Erweiterungen. Sie sollten sich in erster Linie auf die Bundle-IDs der geladenen .kexts konzentrieren. (Das ist die umgekehrte Zeichenfolge des Domänennamens, z. B. "com.apple...."). Sie sollten in der Lage sein, diejenigen zu entfernen, die "com.apple" enthalten, da diese von Apple stammen und eine K64-Version haben sollten. Sobald Sie diese entfernt haben, müssen Sie die verbleibenden durchgehen, um sicherzustellen, dass sie als universelle K32 + K64-Versionen erstellt wurden, oder ob Sie möglicherweise sicherstellen müssen, dass Sie über die neuesten Updates verfügen.
Nachdem ich beispielsweise alle Apple-Kexts in der Ausgabe eliminiert habe, die ich erhalte, habe ich die folgenden Kexts aufgelistet. Seit ich vor ungefähr einem Jahr auf K64 umgestiegen bin, sind alle in Ordnung, also ist alles in Ordnung.
MacPro:~ mdouma46$ kextstat
Index Refs Address Size Wired Name (Version) <Linked Against>
73 0 0xffffff7f8111a000 0x8000 0x8000 com.AmbrosiaSW.AudioSupport (3.2) <72 5 4 3 1>
81 0 0xffffff7f811bf000 0x9000 0x9000 jp.plentycom.driver.SteerMouse (4.0.2) <55 29 24 5 4 3>
105 0 0xffffff7f81499000 0x5000 0x5000 com.Cycling74.driver.Soundflower (1.5.2) <72 5 4 3>
115 0 0xffffff7f814bf000 0xd1000 0xd1000 com.vmware.kext.vmx86 (3.1.2) <7 5 4 3 1>
116 0 0xffffff7f81590000 0xc000 0xc000 com.vmware.kext.vmci (3.1.2) <5 4 3 1>
117 0 0xffffff7f8159c000 0x7000 0x7000 com.vmware.kext.vmioplug (3.1.2) <29 24 5 4 3 1>
118 0 0xffffff7f815a3000 0xa000 0xa000 com.vmware.kext.vmnet (3.1.2) <5 4 3 1>
119 0 0xffffff7f815ad000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) <4 1>
Das kextfind
Dienstprogramm sucht und druckt Informationen zu Kernel-Erweiterungen (KEXTs) oder generiert Berichte.
Der folgende Befehl sucht /System/Library/Extensions
nach KEXTs, die die x86_64-Architektur nicht enthalten:
kextfind -not -arch x86_64
Eine erweiterte Suche, um die beiden am häufigsten für die Installation verwendeten Pfade einzubeziehen:
kextfind -f /Library/Extensions -e -not -arch x86_64
KEXTs können auch im ROM oder in einem Anwendungspaket installiert werden , aber kextfind kann nicht rekursiv suchen.
In der Leopard-Ära gab es einen Vorschlag , dass KEXTs in der /Library/StartupItems
Gegend gefunden werden könnten. Da SystemStarter veraltet ist , kann es sinnvoll sein, diesen Bereich bei der Verwendung von kextfind wegzulassen.
Benutzer von OS X können die aktuelle Handbuchseite im Terminal anzeigen. Gehen Sie in einem Webbrowser zu:
In der Mac OS X Developer Library ist die Ausgabe 2009 der Seite veraltet.
An ghoppe für die Sensibilisierung für kextfind .
Verwenden Sie den file
Befehl.
Beispiel:
$ cd /System/Library/Extensions/KeyspanUSAdriver.kext/Contents/MacOS
$ file KeyspanUSAdriver
KeyspanUSAdriver: Mach-O universal binary with 2 architectures
KeyspanUSAdriver (for architecture x86_64): Mach-O 64-bit kext bundle x86_64
KeyspanUSAdriver (for architecture i386): Mach-O object i386
Beachten Sie, dass es sowohl x86_64- als auch i386-Architekturen hat.
kextstat
, wie kann ich herausfinden, wo sie sich auf der Festplatte befinden? Und wissen Sie, wie ich "Kernel-Erweiterungen finden kann, die vom Betriebssystem geladen werden
können , aber derzeit nicht sind"?Hinweis: Wenn Sie dieses Element nicht sehen, gehen Sie zu Ihrem Ansichtsmenü und vergewissern Sie sich, dass "Vollständiges Profil" ausgewählt ist.
Jan Fabry
.kext
Bundles auf der Festplatte zu finden? Es gibt einige, nach denen ich noch suche, und die Bundle-ID ist nicht immer der Dateiname. Und enthält diese Liste nur die aktuell geladenen Erweiterungen oder auch die, die bei Bedarf geladen werden können? Es ist die letztere Gruppe, die mir am wichtigsten ist, da sie in Zukunft möglicherweise benötigt werden und jetzt nicht als Fehler angezeigt werden.Jan Fabry