Kextunload in OS X Lion

11

Ich fange an, mehr über die Mac OS X-Interna zu erfahren. Jetzt möchte ich einige Kernel-Erweiterungen laden und entladen.

Ich habe begonnen, das MS-DOS-Dateisystem über zu laden

sudo kextload /System/Library/Extensions/msdosfs.kext 

Ich kann dies durch Eingabe überprüfen

kextstat | grep msdos 

Die Befehlsausgabe zeigt die geladene Kext-Datei. Aber wenn ich das MS-DOS-Dateisystem entladen möchte :

sudo kextunload com.apple.filesystems.msdosfs

Ich bekomme nur diese Nachricht:

Can't create com.apple.filesystems.msdosfs.

Was ist falsch an der obigen Kextunload-Zeile?

Bastian Gruber
quelle

Antworten:

14

kextunloadkann den vollständigen Pfad der Kernel-Erweiterung verwenden, genau wie kextload.

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

Wenn Sie die von kextstat- aufgelistete Bundle-ID verwenden möchten , verwenden Sie den -bSchalter:

sudo kextunload -b com.apple.filesystems.msdosfs
slhck
quelle
2
Ich bekomme, Can't create –b.wenn ich es benutze ... Ich bin am 10.8.3.
mgol
2
Ich weiß, dass dies sehr alt ist, aber als Referenz, wenn Sie das "Kann nicht erstellen -b" erhalten, liegt es daran, dass der Bindestrich das falsche Zeichen ist, wahrscheinlich ein UTF-8-codierter Bindestrich oder etwas, das von einer Website kopiert und eingefügt wurde. Geben Sie das -b selbst ein.
John Boker
2

Die Manpage kextload kann Ihnen Details geben. Hier ist der Befehl, den ich verwendet habe:

sudo kextload /path/to/file.kext

ODER kextutil Manpage , dieses Tool ist nützlich, um einige Debug-Meldungen zu erhalten, wenn beim Laden Fehler auftreten.

sudo kextutil /path/to/file.kext

Und natürlich die Kextunload-Manpage in der anderen Antwort. Hier ist der Befehl, den ich hauptsächlich verwende, da ich nicht die gesamte Bundle-ID ausschreiben möchte:

sudo kextunload /path/to/file.kext

Sie können auch kextstatüberprüfen, ob Ihre Kext-Datei geladen wurde:

kextstat | grep -v apple

Dadurch werden alle Kexte von Drittanbietern aufgelistet, solange 'apple' nicht in der Bundle-ID enthalten ist.

Chef Pharao
quelle
2

Ich hatte das gleiche Problem ( kann nicht –b erstellen; kann com.apple.driver.AppleUSBFTDI nicht erstellen. ) Ich habe versucht, " sudo kextunload –b com.apple.driver.AppleUSBFTDI " auf OS x 10.9.5

aber nachdem ich den vollständigen Pfad verwendet hatte ( sudo kextunload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext/ ), funktionierte es ...

Dies geschieht nur bei einigen Kexten , z. B. bei anderen Kext (/System/Library/Extensions/FTDIUSBSerialDriver.kext). Es funktioniert perfekt mit " sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver ".

George Dima
quelle