Wie man & Kernel-Erweiterungen in Mac OS X entlädt

Inhaltsverzeichnis:

Anonim

Kernel-Erweiterungen, kurz kext genannt, sind Codemodule, die direkt in den Kernel-Bereich von Mac OS X geladen werden und auf niedriger Ebene ausgeführt werden können, um eine Vielzahl von Aufgaben auszuführen. Die meisten Kexts sind Teil der zentralen Mac OS X-Systemsoftware, normalerweise Hardwaregerätetreiber, aber einige Apps von Drittanbietern installieren auch einen Kext.

Manchmal müssen fortgeschrittene Mac-Benutzer und Systemadministratoren eine Kernel-Erweiterung manuell laden oder entladen.Da Kernel-Erweiterungen oft kritische Komponenten von MacOS sind, ist dies nur für Benutzer geeignet, die einen bestimmten Grund haben, zu ändern, ob ein Kext in den MacOS X-Kernel-Bereich geladen oder entladen wird. Eine unangemessene Änderung des kext-Verh altens kann Mac-Hardware unbrauchbar oder unzugänglich machen und kann auch dazu führen, dass Mac OS X überhaupt nicht funktioniert. Versuchen Sie also nicht, eine Kernel-Erweiterung ohne zwingenden Grund und ohne Verständnis für ihre Verwendung zu ändern.

Laden einer Kernel-Erweiterung in Mac OS X mit kextload

Um eine Kernel-Erweiterung in Mac OS X zu laden, müssen Sie das Befehlszeilenprogramm kextload verwenden. Die Syntax ist ansonsten einfach genug und erfordert sudo für den Administratorzugriff, um die Aktion auszuführen:

sudo kextload /path/to/kext.kext

Sie können auch die Bundle-ID (die häufig das Ziel von Standardbefehlen sind) mit dem Flag -b verwenden:

sudo kextload -b com.apple.driver.ExampleBundle

In jedem Fall drücken Sie die Eingabetaste und mit der Eingabe des Administratorkennworts wird die Kernel-Erweiterung in Mac OS X geladen.

Sie können bestätigen, dass ein Kernel geladen wurde, indem Sie ihn mit kextstat auflisten und mit grep wie folgt nach dem angegebenen Namen suchen:

$ kextstat |grep com.apple.driver.ExampleBundle 125 0 0xdddddd7f23351040 0x5000 0x5000 com.apple.driver.ExampleBundle (1) 12 8 7 5 4 2 1

Dies kann nach der manuellen Installation einer Kernel-Erweiterung in Mac OS X hilfreich sein, da es in einigen Situationen verhindert, dass der Mac neu gestartet werden muss.

Moderne Versionen von Mac OS X ermöglichen auch das Laden von Kernel-Erweiterungen mit dem kextutil-Befehl, der aus Debugging-Gründen etwas umfassender ist, aber ansonsten dasselbe für das Laden eines kext ist.

Entladen einer Kernel-Erweiterung mit kextunload

Das Entladen einer Kernel-Erweiterung von Mac OS X ist im Grunde genau dasselbe wie das Laden eines kext, außer dass Sie das Dienstprogramm kextunload mit sudo wie folgt verwenden:

sudo kextunload -b com.apple.driver.ExampleBundle

Oder indem Sie direkt auf den Pfad der Kernel-Erweiterungen zeigen:

sudo kextunload /System/Library/Extensions/ThirdPartyMystery.kext

Auch hier können Sie bestätigen, dass die Kernel-Erweiterung entladen wurde, indem Sie kextstat und grep verwenden, wobei nichts zurückgegeben werden sollte.

Wie man & Kernel-Erweiterungen in Mac OS X entlädt