我开始学习更多关于 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“