Làm cách nào để gỡ cài đặt và xóa .kext trên Mac OS X?


32

Tôi đã mua một đầu đọc thẻ nhớ X-in-1 và phải cài đặt trình điều khiển để có thể đọc thẻ SD-HC. Bây giờ đôi khi khi rút đầu đọc ra khỏi cổng USB, tôi cảm thấy hoảng loạn.

Vì vậy, bây giờ tôi muốn xóa phần mở rộng kernel này nhưng trình cài đặt trình điều khiển không cung cấp cho tôi tùy chọn này.

Làm cách nào tôi có thể gỡ cài đặt tiện ích mở rộng kernel (.kext) khỏi Mac OS X 10.5?

Câu trả lời:


32

Nếu bạn không biết tên của tệp .kext, bạn có thể tìm ra nó bằng cách sử dụng plugin QuickLook như Gói nghi ngờ nếu trình cài đặt là gói tiêu chuẩn (.pkg hoặc .mpkg) mở trong Installer.app.

Nếu đó không phải là một gói bạn có thể tìm ra tên của kext từ hoảng loạn kernel: Bạn có thể tìm thấy thông tin này tại ~/Library/Logs/panic.loghoặc khi bạn khởi động lại máy tính sau khi hoảng loạn, nó sẽ hỏi bạn có muốn báo cáo lỗi cho Apple không. Nhấn Báo cáo và sau đó nhấp vào tab trung tâm để xem chi tiết sự cố.

Một ví dụ sẽ là:

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

Tôi đã đặt các dòng tương đối cách nhau. Cụ thể bạn đang tìm kiếm dòng đầu tiên sau "Mô-đun có thể tải hạt nhân ...". Trong trường hợp này, mục này là com.apple.iokit.AppleYukon (là phần mở rộng trình điều khiển / nhân Ethernet), vì vậy tên tệp sẽ là com.apple.iokit.AppleYukon.kext .

Trước khi bạn tiếp tục bước tiếp theo, hãy chắc chắn 110% bạn có phần mở rộng kernel đúng. Vô hiệu hóa phần mở rộng kernel sai có thể làm cho cuộc sống thực sự khó khăn - ví dụ. Thiết bị USB sẽ không hoạt động cho đến khi được bật lại.

Cuối cùng để dỡ nó:

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


Cảm ơn câu trả lời chi tiết của bạn và cảm ơn tất cả những người khác đã giúp đỡ của bạn quá.
Marc

3
kextunloading không vĩnh viễn. Vì vậy, 110% là một chút quá mức. Bạn chỉ có thể khởi động lại ...
Alec Jacobson

6

Bạn cần sử dụng lệnh kextunload. Bạn có thể cần sử dụng sudo nếu nó được cài đặt dưới dạng kext toàn hệ thống (chứ không phải người dùng cá nhân).

Bạn cũng có thể xóa gói kext trực tiếp và khởi động lại.


1
+1. kextunload trả về một lỗi, nhưng xóa .kext trực tiếp giải quyết vấn đề của tôi, cảm ơn.
gary


2

hãy xem Gói nghi ngờ , đây là một plugin tìm kiếm nhanh cho phép bạn xem tệp .pkg (giả sử đó là trình cài đặt) sẽ làm gì với hệ thống, thường thì khá dễ dàng để gỡ bỏ những gì nó đã cài đặt.


1

Đầu tiên, hãy thử tải tập tin kext. Bạn có thể xem những tập tin kext nào được tải bằng Trình hướng dẫn Kext 3.7.11 trong tab "Đã tải":
sudo kextunload /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Sau đó, xóa thư mục kext để không tự động tải trong lần khởi động tiếp theo:
sudo rm -r /System/Library/Extensions/NAME_OF_THE_KEXT_FILE.kext

Bất kỳ NAME_OF_THE_KEXT_FILE.kextkhông phải là một tập tin, nó là một thư mục.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.