2009-07-15 08:38:42 +0000 2009-07-15 08:38:42 +0000
32
32

Hoe verwijder ik een .kext op Mac OS X?

Ik kocht een X-in-1 media card reader en moest een stuurprogramma installeren om SD-HC kaarten te kunnen lezen. Nu krijg ik soms een kernel panic als ik de lezer uit de USB poort haal.

Dus nu wil ik deze kernel extensie verwijderen maar de driver installer geeft me deze optie niet.

Hoe kan ik een kernel-extensie (.kext) van mijn Mac OS X 10.5 verwijderen?

Antwoorden (5)

32
32
32
2009-07-15 15:45:29 +0000

Als u de naam van het .kext-bestand niet kent, kunt u die te weten komen door een QuickLook-plugin te gebruiken zoals Suspicious Package als de installer een standaardpakket is (.pkg of .mpkg) dat wordt geopend in Installer.app.

Als het geen pakket is kunt u de naam van de kext achterhalen via de kernel panic: U kunt deze informatie vinden op ~/Library/Logs/panic.log of wanneer u uw computer opnieuw opstart na de panic zal deze vragen of u de fout aan Apple wilt rapporteren. Druk op Report en klik vervolgens op het tabblad centre om de details van de crash te bekijken.

Een voorbeeld zou zijn:

panic(cpu 0 caller 0x0035C330): freeing free mbuf
Backtrace, Format - Frame : Return Address (4 potential args on stack) 
0x2545bc08 : 0x128d08 (0x3c9afc 0x2545bc2c 0x131de5 0x0) 
0x2545bc48 : 0x35c330 (0x3ea258 0x3ae65000 0x23935100 0x493e0) 
0x2545bc88 : 0x7424a4 (0x36f19300 0x493e0 0x0 0x134b11) 
0x2545bca8 : 0x9f1458 (0x23935000 0x36f19300 0x0 0x0) 
0x2545bcd8 : 0x9ef6d6 (0x23935000 0x36f19300 0x0 0x0) 
0x2545bcf8 : 0x9fa0ce (0x23935000 0x36f15f00 0x1000000 0x0) 
0x2545bea8 : 0x9f375a (0x23935000 0x3a14880 0x40000000 0x34fb8b) 
0x2545bf08 : 0x398f79 (0x23935000 0x3a14880 0x1 0x13becf) 
0x2545bf58 : 0x39814b (0x3a14880 0x4121d48 0x4121d8c 0x0) 
0x2545bf88 : 0x397e81 (0x3a184c0 0x5d3734 0x452084 0x40431f4) 
0x2545bfc8 : 0x19a77c (0x3a184c0 0x0 0x19d0b5 0x696543c) Backtrace terminated-invalid frame pointer 0x0  

Kernel loadable modules in backtrace (with dependencies):
com.apple.iokit.AppleYukon(1.0.9b3)@0x9ed000  

dependency: com.apple.iokit.IONetworkingFamily(1.5.1)@0x73b000
dependency: com.apple.iokit.IOPCIFamily(2.2)@0x60a000
dependency: com.apple.iokit.IOACPIFamily(1.2.0)@0x6b6000
com.apple.iokit.IONetworkingFamily(1.5.1)@0x73b000

Kernel version:
Darwin Kernel Version 8.8.2: Thu Sep 28 20:43:26 PDT 2006; root:xnu-792.14.14.obj~1/RELEASE_I386

Ik heb de relatieve lijnen uit elkaar gezet. Je zoekt specifiek naar de eerste regel na “Kernel loadable modules…”. In dit geval is het item com.apple.iokit.AppleYukon (dat is de Ethernet driver/kernel extensie) dus de bestandsnaam zou com.apple.iokit.AppleYukon.kext zijn.

Voordat u verder gaat met de volgende stap moet u 110% zeker zijn dat u de juiste kernel extensie heeft. Het uitschakelen van de verkeerde kernel extensie kan het leven echt moeilijk maken - b.v. USB apparaten zullen niet werken totdat het opnieuw is ingeschakeld.

Eindelijk om het te ontladen:

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

6
6
6
2009-07-15 10:48:19 +0000

U moet het kextunload commando gebruiken. Het kan zijn dat je sudo moet gebruiken als het als een systeembrede (in plaats van individuele gebruiker) kext is geïnstalleerd.

Je kunt de kext bundel ook direct verwijderen, en opnieuw opstarten.

4
4
4
2009-07-15 10:00:14 +0000

Dit is voor hackintoshes, maar ik ben er vrij zeker van dat de commandoregel ook werkt voor normale macs… http://ihackintosh.blogspot.com/2008/10/how-to-remove-kext-file-in-mac-osx.html

Wees echter voorzichtig met wat je intypt :)

2
2
2
2009-07-15 08:44:16 +0000

kijk eens naar Suspicious Package , het is een snel te bekijken plugin waarmee je kunt zien wat een .pkg (aangenomen dat dat de installer is) bestand met het systeem doet, het is dan meestal vrij eenvoudig om te verwijderen wat het geïnstalleerd heeft.

1
1
1
2016-08-12 20:35:23 +0000

Probeer eerst het kext-bestand te ontladen. U kunt zien welke kext-bestanden geladen zijn met Kext Wizard 3.7.11 in tabblad “Geladen”:
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Verwijder vervolgens de kext-map zodat deze niet automatisch wordt geladen bij de volgende keer opstarten:
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Elke NAME_OF_THE_KEXT_FILE.kext is geen bestand, het is een map.