我买了一个 X-in-1 媒体读卡器,必须安装驱动程序才能读取 SD-HC 卡。现在,有时当我从 USB 端口拔下读卡器时,会出现内核恐慌。
所以现在我想删除这个内核扩展,但是驱动程序安装程序没有给我这个选项。
如何从我的 Mac OS X 10.5 中卸载内核扩展 (.kext)?
答案1
如果你不知道 .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
答案2
您需要使用 kextunload 命令。如果它是作为系统范围(而不是单个用户)的 kext 安装的,您可能需要使用 sudo。
您也可以直接删除 kext 包,然后重新启动。
答案3
这是针对黑苹果的,但我很确定命令行也适用于普通的 Mac......
http://ihackintosh.blogspot.com/2008/10/how-to-remove-kext-file-in-mac-osx.html
不过输入的时候一定要小心:)
答案4
首先,尝试卸载 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
AnyNAME_OF_THE_KEXT_FILE.kext
不是一个文件,而是一个文件夹。