37 votes

Comment désinstaller et supprimer un .kext sur Mac OS X ?

J'ai acheté un lecteur de cartes multimédia X-in-1 et j'ai dû installer un pilote pour pouvoir lire les cartes SD-HC. Maintenant, parfois, lorsque je débranche le lecteur du port USB, j'obtiens une panique du noyau.

J'aimerais maintenant supprimer cette extension du noyau, mais l'installateur du pilote ne me donne pas cette option.

Comment désinstaller une extension de noyau (.kext) de mon Mac OS X 10.5 ?

33voto

Kit Roed Points 1922

Si vous ne connaissez pas le nom du fichier .kext, vous pouvez le découvrir en utilisant un plugin QuickLook tel que Paquet suspect si le programme d'installation est un paquetage standard (.pkg ou .mpkg) qui s'ouvre dans Installer.app.

S'il ne s'agit pas d'un paquet, vous pouvez trouver le nom du kext à partir de la panique du noyau : vous trouverez cette information à l'adresse suivante ~/Library/Logs/panic.log ou lorsque vous redémarrez votre ordinateur après la panique, il vous demandera si vous voulez signaler l'erreur à Apple. Appuyez sur Rapport, puis cliquez sur l'onglet central pour voir les détails du crash.

Un exemple serait :

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

J'ai mis les lignes relatives à part. Plus précisément, vous cherchez la première ligne après "Kernel loadable modules...". Dans ce cas, l'élément est com.apple.iokit.AppleYukon (qui est l'extension du pilote/kernel Ethernet), le nom du fichier serait donc com.apple.iokit.AppleYukon.kext .

Avant de passer à l'étape suivante, soyez 110% sûr vous avez la bonne extension de noyau. Désactiver la mauvaise extension du noyau peut rendre la vie plus difficile. realmente difficile - par exemple, les périphériques USB ne fonctionneront pas tant qu'ils ne seront pas réactivés.

Enfin pour le décharger :

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

0 votes

Merci pour votre réponse détaillée et merci à tous les autres pour votre aide également.

4 votes

kextunload n'est pas permanente. Donc 110% est un peu excessif. Vous pouvez juste redémarrer...

9voto

Joel Lucsy Points 5345

Vous devez utiliser la commande kextunload. Vous pouvez avoir besoin d'utiliser sudo s'il a été installé comme un kext pour tout le système (plutôt que pour un utilisateur individuel).

Vous pouvez également supprimer le paquet de kext directement, et redémarrer.

1 votes

+1. kextunload a retourné une erreur, mais la suppression directe du .kext a résolu mon problème, merci.

4voto

Nathan Points 5352

C'est pour les hackintosh, mais je suis presque sûr que la ligne de commande fonctionne aussi pour les macs normaux...

http://ihackintosh.blogspot.com/2008/10/how-to-remove-kext-file-in-mac-osx.html

Mais faites attention à ce que vous tapez :)

2voto

Sam Schutte Points 2962

Jeter un coup d'œil à Paquet suspect Il s'agit d'un plugin de visualisation rapide qui vous permet de voir ce qu'un fichier .pkg (en supposant que c'est le nom de l'installateur) fera au système, il est alors généralement assez facile de supprimer ce qu'il a installé.

2voto

Smeterlink Points 552

D'abord, essayez de décharger le fichier kext. Vous pouvez voir quels fichiers kext sont chargés avec Kext Wizard 3.7.11 dans l'onglet "Loaded" :
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Ensuite, supprimez le dossier kext pour qu'il ne se charge pas automatiquement au prochain démarrage :
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Tout NAME_OF_THE_KEXT_FILE.kext n'est pas un fichier, c'est un dossier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X