You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决macOS Sierra及El Capitan中禁用USB大容量存储设备的问题?

如何在macOS Sierra和El Capitan中禁用USB大容量存储设备

折腾过不同macOS版本禁用USB存储的过来人来答一波!这俩版本的内核驱动差异确实容易踩坑,我帮你理清楚正确的操作步骤:

El Capitan 及更早版本的操作方式

在这些旧版本里,系统依赖的是IOUSBMassStorageClass内核扩展,操作起来比较直接:

  • 临时禁用(重启后失效):打开终端,执行以下命令卸载驱动:
    sudo kextunload -b com.apple.iokit.IOUSBMassStorageClass
    
  • 永久禁用:如果想要开机就禁用,可以把上面的命令添加到系统启动项里,或者修改内核扩展的加载权限(注意需符合系统权限要求)。

macOS Sierra/High Sierra 的差异与问题

到了Sierra和High Sierra,苹果替换了USB存储的内核驱动——原来的IOUSBMassStorageClass不再被系统加载,取而代之的是IOUSBMassStorageDriver。你可以用下面的命令验证这一点:

kextstat | grep USBMass

执行后你会发现输出里只有com.apple.iokit.IOUSBMassStorageDriver,完全找不到旧的那个扩展。

这时候如果你还尝试卸载旧的IOUSBMassStorageClass,就会碰到你提到的错误:

(kernel) Can't remove kext com.apple.iokit.IOUSBMassStorageDriver; services failed to terminate - 0xdc008018. Failed to unloa...

这个错误的原因很直白:一是你要卸载的旧驱动根本没在运行,二是当前活跃的IOUSBMassStorageDriver因为有依赖服务(比如正连接着USB存储设备,或者系统后台在占用它),所以无法直接卸载。

Sierra/High Sierra 禁用USB大容量存储的可行方案

1. 临时禁用(重启后恢复)

先确保所有USB存储设备都已经断开,然后在终端执行以下命令卸载当前驱动:

sudo kextunload -b com.apple.iokit.IOUSBMassStorageDriver

如果还是报错服务无法终止,再检查一遍有没有遗漏的USB存储设备,或者重启后再试。

2. 永久禁用(开机不加载)

因为系统的完整性保护(SIP)会阻止修改系统内核扩展,所以需要先关闭SIP再操作:

  • 重启Mac,按住Command + R进入恢复模式
  • 打开终端,执行命令关闭SIP:
    csrutil disable
    
  • 重启回到正常系统后,把驱动文件重命名,让系统无法加载它:
    sudo mv /System/Library/Extensions/IOUSBMassStorageDriver.kext /System/Library/Extensions/IOUSBMassStorageDriver.kext.disabled
    
  • 最后再次进入恢复模式,执行命令重新启用SIP:
    csrutil enable
    

重启之后,USB大容量存储设备就会被完全禁用了。如果之后需要恢复,只要把改名的驱动改回原来的文件名,重启即可。

内容的提问来源于stack exchange,提问作者Ned W.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:36:17