如何在Mac OS X上卸载和删除.kext?

Modified on: Mon, 18 Mar 2019 14:20:03 +0800

我买了一台X-in-1媒体读卡器并且必须安装驱动程序才能读取SD-HC卡。现在有时当我从USB端口拔下读卡器时,我得到内核恐慌。

所以现在我想删除这个内核扩展,但是驱动程序安装程序没有给我这个选项。

如何从Mac OS X 10.5中卸载内核扩展(.kext)?

最佳答案

如果您不知道.kext文件的名称,可以使用QuickLook插件来解决这个问题,例如可疑包如果安装程序是在Installer.app。

中打开的标准包(.pkg或.mpkg)

如果它不是包,你可以从内核恐慌中找到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 (这是以太网驱动程序/内核扩展),因此文件名将是 com.apple.iokit.AppleYukon.kext

在继续下一步之前110%确定,您拥有正确的内核扩展。禁用错误的内核扩展可能会使生活非常 - 例如。 USB设备在重新启用之前无法工作。

最后卸载它:

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

作者:Chealion

相关问答

添加新评论