Як видалити та видалити .kext на Mac OS X?


32

Я купив зчитувач мультимедійних карт X-in-1 і повинен був встановити драйвер, щоб можна було читати карти SD-HC. Зараз іноді, коли я відключаю з’єднувач з USB-порту, у мене виникає паніка ядра.

Отже, зараз я хотів би видалити це розширення ядра, але інсталятор драйвера не дає мені цієї можливості.

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

Відповіді:


32

Якщо ви не знаєте імені файлу .kext, ви можете визначити це, використовуючи плагін QuickLook, подібний до підозрілого пакету, якщо інсталятор є стандартним пакетом (.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


Дякуємо за детальну відповідь, а також всім дякую за допомогу.
Марк

3
kextunloading не є постійним. Тож 110% трохи надмірне. Ви можете просто перезапустити ...
Алек Джейкобсон,

6

Потрібно скористатися командою kextunload. Можливо, вам доведеться використовувати sudo, якщо він був встановлений як загальносистемний (а не окремий користувач) кекс.

Ви також можете видалити пакунок kext безпосередньо та перезавантажити.


1
+1. kextunload повернув помилку, але видалення .kext безпосередньо вирішило мою проблему, дякую.
gary


2

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


1

Спочатку спробуйте вивантажити файл kext. Ви можете побачити, які файли kext завантажуються за допомогою Майстра Kext 3.7.11 у вкладці "Завантажено":
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не файл, це папка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.