मैं मैक ओएस एक्स पर एक .kext को कैसे अनइंस्टॉल और हटाऊं?


32

मैंने एक एक्स-इन -1 मीडिया कार्ड रीडर खरीदा और एसडी-एचसी कार्ड पढ़ने में सक्षम होने के लिए एक ड्राइवर स्थापित करना पड़ा। अब कभी-कभी जब मैं USB पोर्ट से रीडर को अनप्लग करता हूं तो मुझे कर्नेल पैनिक मिलता है।

तो अब मैं इस कर्नेल एक्सटेंशन को निकालना चाहता हूं, लेकिन ड्राइवर इंस्टॉलर मुझे यह विकल्प नहीं देता है।

मैं अपने मैक OS X 10.5 से कर्नेल एक्सटेंशन (.kext) को कैसे अनइंस्टॉल कर सकता हूं?

जवाबों:


32

आप .kext फ़ाइल का नाम नहीं जानते, तो आप इसे की तरह एक quicklook प्लगइन का उपयोग करके पता लगा सकते हैं संदेहास्पद पैकेज यदि संस्थापक एक मानक पैकेज (.pkg या .mpkg) Installer.app में खुलती है।

यदि यह ऐसा पैकेज नहीं है तो आप कर्नेल के नाम को कर्नेल पैनिक से खोज सकते हैं: आप यह जानकारी पा सकते हैं ~/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 (जो ईथरनेट ड्राइवर / कर्नेल एक्सटेंशन है) इसलिए फ़ाइल का नाम com.apple.iokit.AppleYukon.kext होगा ।

इससे पहले कि आप अगले चरण पर जाएं 110% सुनिश्चित करें कि आपके पास सही कर्नेल एक्सटेंशन है। गलत कर्नेल एक्सटेंशन को अक्षम करना जीवन को वास्तव में कठिन बना सकता है - जैसे। USB डिवाइस तब तक काम नहीं करेंगे, जब तक यह फिर से सक्षम न हो जाए।

अंत में इसे उतारने के लिए:

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


आपके विस्तृत उत्तर के लिए धन्यवाद और आपकी मदद के लिए अन्य सभी को भी धन्यवाद।
मार्क

3
kextunloadआईएनजी स्थायी नहीं है। तो 110% थोड़ा अधिक है। आप बस पुनः आरंभ कर सकते हैं ...
एलेक जैकबसन

6

आपको kextunload कमांड का उपयोग करने की आवश्यकता है। यदि आपको सिस्टम-वाइड (व्यक्तिगत उपयोगकर्ता के बजाय) kext के रूप में स्थापित किया गया था, तो आपको sudo का उपयोग करना पड़ सकता है।

आप सीधे kext बंडल को भी हटा सकते हैं, और रिबूट कर सकते हैं।


1
+1। kextunload ने एक त्रुटि लौटा दी, लेकिन .kext को हटाकर सीधे मेरी समस्या हल कर दी, धन्यवाद।
गैरी


2

संदेहास्पद पैकेज पर एक नज़र है , यह एक त्वरित देखो प्लगइन है जो आपको यह देखने की अनुमति देता है कि सिस्टम में क्या करने के लिए एक .pkg (यह मानते हुए कि इंस्टॉलर क्या है) फ़ाइल क्या करेगी, यह आमतौर पर तब काफी आसान होता है जो इसे स्थापित करने से हटा देता है।


1

सबसे पहले, kext फ़ाइल को अनलोड करने का प्रयास करें। आप देख सकते हैं कि क्या kxt फाइलें Kext Wizard 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.