Как удалить и удалить .kext в Mac OS X?

186225
Marc

Я купил устройство для чтения карт памяти X-in-1 и должен был установить драйвер, чтобы можно было читать карты SD-HC. Теперь иногда, когда я отключаю ридер от USB-порта, у меня возникает паника ядра.

Так что теперь я хотел бы удалить это расширение ядра, но установщик драйвера не дает мне эту опцию.

Как я могу удалить расширение ядра (.kext) из моего Mac OS X 10.5?

30

5 ответов на вопрос

31
Chealion

Если вы не знаете имя файла .kext, вы можете выяснить его с помощью плагина QuickLook, такого как Suspicious Package, если установщик представляет собой стандартный пакет (.pkg или .mpkg), который открывается в Installer.app.

Если это не пакет, вы можете узнать имя kext по панике ядра: вы можете найти эту информацию на ~/Library/Logs/panic.logили когда вы перезагрузите компьютер после паники, он спросит, хотите ли вы сообщить об ошибке в Apple. Нажмите «Отчет», а затем щелкните центральную вкладку, чтобы просмотреть подробности сбоя.

Примером может быть:

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 

Я установил относительные линии отдельно. В частности, вы ищете первую строку после «Загружаемые модули ядра ...». В этом случае элемент является com.apple.iokit.AppleYukon (который является драйвером Ethernet / расширением ядра), поэтому имя файла будет com.apple.iokit.AppleYukon.kext .

Прежде чем перейти к следующему шагу, убедитесь, что у вас есть правильное расширение ядра на 110% . Отключение неправильного расширения ядра может сильно осложнить жизнь - например, USB-устройства не будут работать до тех пор, пока они не будут повторно включены.

Наконец, чтобы разгрузить его:

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

Спасибо за ваш подробный ответ и спасибо всем остальным за вашу помощь тоже. Marc 14 лет назад 0
`kextunload`ing не является постоянным. Так что ** 110% ** немного чрезмерно. Вы можете просто перезагрузить ... Alec Jacobson 9 лет назад 3
6
Matthew Schinckel

Вам нужно использовать команду kextunload. Вам может понадобиться использовать sudo, если он был установлен как общесистемный (а не как отдельный пользователь) kext.

Вы также можете удалить пакет kext напрямую и перезагрузиться.

+1. kextunload вернул ошибку, но удаление .kext напрямую решило мою проблему, спасибо. gary 12 лет назад 0
4
Alexis Hirst

Это для hackintoshes, но я уверен, что командная строка работает и для нормальных Mac ...

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

Будьте внимательны при вводе :)

2
cobbal

взгляните на Подозрительный пакет, это плагин быстрого просмотра, который позволяет вам увидеть, что файл .pkg (при условии, что это и есть установщик) будет делать с системой, поэтому обычно довольно легко удалить то, что он установил.

1
Smeterlink

Сначала попробуйте выгрузить файл kext. Вы можете увидеть, какие kext-файлы загружаются с помощью Kext Wizard 3.7.11 на вкладке «Loaded»:
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Затем удалите папку kext, чтобы она не загружалась при следующей загрузке:
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Любой NAME_OF_THE_KEXT_FILE.kextэто не файл, это папка.

Похожие вопросы