如何在 OS X Lion 中 kextunload

如何在 OS X Lion 中 kextunload

我开始学习更多关于 mac os x 内部的知识。现在我想加载和卸载一些内核扩展。

我开始通过以下方式加载 MS-DOS 文件系统

sudo kextload /System/Library/Extensions/msdosfs.kext 

我可以通过输入来检查

kextstat | grep msdos 

命令输出显示已加载的 kext 文件。但是当我想卸下MS-DOS 文件系统:

sudo kextunload com.apple.filesystems.msdosfs

我只收到此消息:

Can't create com.apple.filesystems.msdosfs.

上面的 kextunload - 行有什么问题?

答案1

kextunload可以使用完整的内核扩展路径,就像一样kextload

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

如果要使用捆绑包标识符(由kextstat– 列出的标识符),请使用以下-b开关:

sudo kextunload -b com.apple.filesystems.msdosfs

答案2

kexload 手册页可以为您提供详细信息。以下是我一直在使用的命令:

sudo kextload /path/to/file.kext

或者kextutil 手册页,如果在加载过程中出现错误,此工具对于获取一些调试消息很有用。

sudo kextutil /path/to/file.kext

当然,还有另一个答案中的 kextunload 手册页。这是我主要使用的命令,因为我不喜欢写出整个包 id:

sudo kextunload /path/to/file.kext

您还可以使用它kextstat来验证您的 kext 文件是否已加载:

kextstat | grep -v apple

只要 bundle id 中没有‘apple’,这将列出所有第三方 kext。

答案3

我有同样的问题 (无法创建 –b。;无法创建 com.apple.driver.AppleUSBFTDI。) 试 ”sudo kextunload –b com.apple.driver.AppleUSBFTDI“在 OS X 10.9.5 上

但在我使用完整路径后(sudo kextunload /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBFTDI.kext/), 有效...

这只发生在一些 kext 上例如在其他 kext (/System/Library/Extensions/FTDIUSBSerialDriver.kext) 上,它可以完美运行“sudo kextunload -b com.FTDI.driver.FTDIUSBSerialDriver

相关内容