Mac OS X'te bir .kext'i nasıl kaldırabilir ve kaldırabilirim?


32

X-in-1 ortam kartı okuyucusu satın aldım ve SD-HC kartlarını okuyabilmek için bir sürücü kurmam gerekti. Şimdi bazen okuyucuyu USB portundan çıkardığımda bir çekirdek paniği alıyorum.

Şimdi bu çekirdek uzantısını kaldırmak istiyorum ancak sürücü yükleyicisi bana bu seçeneği vermiyor.

Mac OS X 10.5'den bir çekirdek uzantısını (.kext) nasıl kaldırabilirim?

Yanıtlar:


32

.Kext dosyasının adını bilmiyorsanız, yükleyici Installer.app'de açılan standart bir paket (.pkg veya .mpkg) ise, Şüpheli Paket gibi bir QuickLook eklentisini kullanarak çözebilirsiniz.

Paket değilse, kextel adını panikten öğrenebilirsiniz: Bu bilgiyi ~/Library/Logs/panic.logpanikten sonra veya bilgisayarınızı yeniden başlattığınızda, hatayı Apple'a bildirmek isteyip istemediğinizi sorabilirsiniz. Kilitlenme ayrıntılarını görmek için Rapor'a basın ve ardından orta sekmeyi tıklayın.

Bir örnek şöyle olurdu:

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

Göreceli çizgileri birbirinden ayırdım. Özellikle de "Çekirdekli yüklenebilir modüller ..." den sonra ilk satırı arıyorsunuz. Bu durumda, öğe com.apple.iokit.AppleYukon (Ethernet sürücüsü / çekirdek uzantısıdır) yani dosya adı com.apple.iokit.AppleYukon.kext olacaktır .

Bir sonraki adıma geçmeden önce , doğru çekirdek uzantısına sahip olduğunuzdan % 110 emin olun . Yanlış çekirdek uzantısını devre dışı bırakmak hayatı gerçekten zorlaştırabilir - örneğin. USB aygıtları yeniden etkinleştirilinceye kadar çalışmaz.

Sonunda boşaltmak için:

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


Ayrıntılı cevabınız için teşekkürler ve yardımlarınız için de diğer herkese teşekkürler.
Marc

3
kextunloading kalıcı değil. Yani % 110 biraz fazla. Yeniden başlatabilirsiniz ...
Alec Jacobson

6

Kextunload komutunu kullanmanız gerekir. Sistem çapında (bireysel kullanıcı yerine) bir kext olarak kurulmuşsa sudo kullanmanız gerekebilir.

Kext paketini doğrudan silebilir ve yeniden başlatabilirsiniz.


1
+1. kextunload bir hata verdi, ancak .kext'i silmek doğrudan sorunumu çözdü, teşekkürler.
gary


2

Suspicious Package’a bir bakın, bir .pkg (yükleyici dediği varsayılırsa) dosyasının sisteme ne yapacağını görmenizi sağlayan hızlı bir görünüm eklentisidir, genellikle yüklü olanı kaldırmak oldukça kolaydır.


1

İlk önce, kext dosyasını kaldırmayı deneyin. Hangi kext dosyalarının Kext Wizard 3.7.11 ile "Loaded" sekmesinde yüklü olduğunu görebilirsiniz:
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Ardından, kext klasörünü kaldırın, böylece bir sonraki açılışta otomatik olarak yüklenemez:
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Herhangi NAME_OF_THE_KEXT_FILE.kextbiri bir dosya değil, bir klasör.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.