web-dev-qa-db-fra.com

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

J'ai acheté un lecteur de carte 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, je suis pris de panique.

Alors maintenant, j'aimerais supprimer cette extension du noyau, mais le programme d'installation du pilote ne me donne pas cette option.

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

32
Marc

Si vous ne connaissez pas le nom du fichier .kext, vous pouvez le comprendre en utilisant un plugin QuickLook du type . Package suspect si le programme d'installation est un fichier standard. package (.pkg ou .mpkg) qui s'ouvre dans Installer.app.

Si ce n'est pas un paquet, vous pouvez trouver le nom du kext à partir de la panique du noyau: Vous pouvez trouver cette information à l'adresse ~/Library/Logs/panic.log ou lorsque vous redémarrez votre ordinateur après la panique, il vous sera demandé si vous souhaitez signaler l'erreur à Apple. Appuyez sur Rapport, puis cliquez sur l'onglet central pour afficher les détails de l'incident.

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 recherchez la première ligne après "Modules chargeables dans le noyau ...". Dans ce cas, l'élément est com.Apple.iokit.AppleYukon (qui correspond au pilote Ethernet/extension du noyau); 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 de noyau peut rendre la vie vraiment difficile - par exemple. Les périphériques USB ne fonctionneront pas jusqu'à ce qu'il soit réactivé.

Enfin pour le décharger:

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

32
Chealion

Vous devez utiliser la commande kextunload. Vous devrez peut-être utiliser Sudo s'il a été installé en tant que système kext (plutôt que utilisateur individuel).

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

6
Matthew Schinckel

Ceci est pour les hackintoshes, mais je suis à peu près 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

Faites attention à ce que vous tapez :)

4
Alexis Hirst

jetez un oeil à paquet suspect , il s'agit d'un plugin de recherche rapide qui vous permet de voir ce qu'un fichier .pkg (en supposant que c'est ce que l'installateur est) Pour le système, il est alors généralement assez facile de supprimer ce qu’il a installé.

2
cobbal

Commencez par essayer de décharger le fichier kext. Vous pouvez voir quels fichiers kext sont chargés avec Kext Wizard 3.7.11 dans l'onglet "Chargé":
Sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Ensuite, supprimez le dossier kext pour ne pas charger 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.

1
Smeterlink