it-swarm-vi.tech

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

Tôi đã mua đầ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?

32
Marc

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 đáng ngờ nếu trình cài đặt là gói tiêu chuẩn (.pkg hoặc .mpkg) mở trong Trình cài đặt.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ừ kernel hoảng loạn: Bạn có thể tìm thấy thông tin này tại ~/Library/Logs/panic.log hoặ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 là com.Apple.iokit.AppleYukon (là phần mở rộng trình điều khiển/nhân Ethernet) nên 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 - vd. 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

32
Chealion

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.

6
Matthew Schinckel

Cái này dành cho hackffy, nhưng tôi khá chắc rằng dòng lệnh hoạt động cho các máy Mac thông thường cũng ...

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

Hãy cẩn thận những gì bạn gõ mặc dù :)

4
Alexis Hirst

hãy xem Gói đáng ngờ , đây là một plugin tì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 loại bỏ những gì nó được cài đặt.

2
cobbal

Đầ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 với Kext Wizard 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.kext không phải là một tệp, nó là một thư mục.

1
Smeterlink