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

Jak odinstalować i usunąć .kext w systemie Mac OS X?

Kupiłem czytnik kart multimedialnych X-in-1 i musiałem zainstalować sterownik, aby móc odczytywać karty SD-HC. Teraz czasami, kiedy odłączam czytnik od portu USB, dostaję kernel panic.

Więc teraz chciałbym usunąć to rozszerzenie jądra, ale instalator sterownika nie daje mi takiej opcji.

Jak mogę odinstalować rozszerzenie jądra (.kext) z mojego Mac OS X 10.5?

Odpowiedzi (5)

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

Jeśli nie znasz nazwy pliku .kext, możesz ją poznać za pomocą wtyczki QuickLook, takiej jak Suspicious Package jeśli instalator jest standardowym pakietem (.pkg lub .mpkg), który otwiera się w Installer.app.

Jeśli nie jest to pakiet, możesz dowiedzieć się nazwy kexta z kernel panic: Możesz znaleźć tę informację pod adresem ~/Library/Logs/panic.log lub po ponownym uruchomieniu komputera po panice zapyta, czy chcesz zgłosić błąd do Apple. Naciśnij Raport, a następnie kliknij zakładkę centrum, aby zobaczyć szczegóły awarii.

Przykładem może być:

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

Rozstawiłem względne linie. Konkretnie chodzi o pierwszą linię po “Kernel loadable modules…”. W tym przypadku elementem jest com.apple.iokit.AppleYukon (który jest rozszerzeniem sterownika Ethernet/kernela), więc nazwa pliku byłaby com.apple.iokit.AppleYukon.kext.

Zanim przejdziesz do następnego kroku bądź 110% pewny, że masz właściwe rozszerzenie jądra. Wyłączenie niewłaściwego rozszerzenia kernela może sprawić, że życie stanie się bardzo trudne - np. urządzenia USB nie będą działać dopóki nie zostanie ono ponownie włączone.

Na koniec, aby je odblokować:

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

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

Musisz użyć polecenia kextunload. Może być konieczne użycie sudo, jeśli został on zainstalowany jako kext ogólnosystemowy (a nie dla pojedynczego użytkownika).

Możesz również usunąć pakiet kextów bezpośrednio, i zrestartować komputer.

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

To jest dla hackintoshe, ale jestem prawie pewien, że linia poleceń działa również dla normalnych maców… http://ihackintosh.blogspot.com/2008/10/how-to-remove-kext-file-in-mac-osx.html

Uważaj na to co wpisujesz :)

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

Spójrz na Suspicious Package , jest to wtyczka, która pozwala zobaczyć co plik .pkg (zakładając, że to jest to co instalator) zrobi z systemem, zazwyczaj jest wtedy dość łatwo usunąć to co zainstalował.

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

Po pierwsze, spróbuj wyładować plik kext. Możesz zobaczyć jakie pliki kextów są załadowane za pomocą Kext Wizard 3.7.11 w zakładce “Loaded”:
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Następnie usuń folder kext, aby nie autoloadował się przy następnym starcie systemu:
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Każde NAME_OF_THE_KEXT_FILE.kext to nie plik, to folder.