Mac更新第三方驱动后自动关机,本质是驱动注入强制关机逻辑;需定位卸载驱动本体、清除kext、移除LaunchDaemon自启项及登录项,并重建内核缓存或进入安全模式验证。

Mac更新第三方驱动程序后出现自动关机,本质是该驱动在系统启动或加载时注入了强制关机逻辑(如监控硬件状态失败后触发 shutdown -h now),必须定位并卸载驱动本体、清除其内核扩展、移除开机自启项及残留配置文件。
识别并卸载问题驱动程序
第一步:回忆最近安装的驱动类软件——Logitech Options、Elgato Stream Deck、ASUS GPU Tweak、Razer Synapse、Blackmagic Desktop Video、Dell Command | Update 等最常附带内核扩展(kext)和后台守护进程,且更新后易因签名失效或API变更触发异常关机。
第二步:打开“访达”→前往→“前往文件夹”→输入 /Library/Extensions/ → 查看最近修改日期靠前的 .kext 文件,重点关注名称含 vendor 名(如 Logitech、Elgato、Blackmagic)、或含 “driver”、“control”、“utility” 字样的包;右键显示简介,确认“上一次修改日期”是否与自动关机开始时间吻合。
第三步:在终端中执行:sudo kextunload -b 【com.logitech.driver.LogiMgr】(将方括号内替换为实际检测到的 bundle ID)→ 回车后输入密码→若提示“no such file or directory”,说明该 kext 未加载,但可能仍驻留磁盘;若提示“unloaded successfully”,则已临时禁用。
第四步:彻底删除驱动本体:前往 /Library/Application Support/ 和 /Library/LaunchDaemons/,搜索相同厂商名关键词,将匹配的 .plist、.app、.bundle 全部拖入废纸篓;特别注意 /Library/LaunchDaemons/ 下以 com.vendor.*.plist 命名的文件——它们会在开机时自动拉起关机脚本。
清除内核扩展缓存与系统信任链
方法一:重建kext缓存并重置签名验证
打开终端→依次执行:
sudo kmutil clear-staging
sudo kmutil trigger-panic-mitigations
sudo kextcache -i /
执行完毕后重启Mac,此时系统会拒绝加载未经公证或签名损坏的驱动。
方法二:手动清理残留签名标记(适用于被标记为“已损坏”的驱动)
终端中运行:sudo spctl --master-disable→临时关闭Gatekeeper(仅用于诊断)→再运行:xattr -rd com.apple.quarantine /Library/Extensions/【ProblemDriver.kext】→最后执行:sudo codesign --force --deep --sign - /Library/Extensions/【ProblemDriver.kext】。注意:重签名不能修复逻辑错误,仅用于绕过启动拦截;若关机仍发生,说明驱动内部逻辑本身有问题,必须卸载。
检查并终止开机即运行的关机进程
第一步:打开“系统设置”→“用户与群组”→当前用户→“登录项”,查找与驱动厂商同名的条目(如“Logitech Options Helper”),选中后点击“–”移除。
第二步:按 Shift + Command + G 打开访达路径:
~/Library/LaunchAgents/
/Library/LaunchAgents/
/Library/LaunchDaemons/
在三个路径中分别搜索 shutdown、poweroff、reboot、autohalt、vendor 名(如 elgato、logitech),将所有匹配的 .plist 文件全部移到废纸篓。
第三步:终端中运行:
launchctl list | grep -i "logitech\|elgato\|blackmagic"
若返回非空结果,说明仍有活跃服务;记下第一列 service ID,执行:
sudo launchctl bootout system/【service.id】
第四步:重启 Mac,观察是否仍有自动关机现象;若仍发生,立即长按电源键强制关机,再开机时立刻按住 Shift 键进入安全模式——安全模式不加载任何第三方 kext 和 LaunchDaemon,若此时不再关机,则100%确认为驱动所致,需回退至旧版驱动或联系厂商获取修复版本。


















