
升级新 macOS 后蓝牙图标变灰用 OpenCore Legacy Patcher 修复老 Mac 蓝牙驱动【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-PatcherOpenCore Legacy Patcher 是让老旧 Intel Mac 运行新版 macOS 的补丁工具它顺带解决了升级后最常见的翻车点之一——蓝牙驱动失效。如果你的 MacBook 2012 或 iMac 2011 装完 Monterey 之后蓝牙图标发灰、搜不到设备这篇文章按判断原因→自动修复→验证→卡点处理的顺序带你走完整个排障过程不需要手写任何配置。 现象蓝牙图标发灰设备一个都搜不到升级后你会看到这些表现系统设置里蓝牙开关可开但设备列表永远为空或者鼠标键盘要等很久才连上连上后偶尔掉线。先别急着换硬件做个判断打开终端运行下面命令看输出里有没有你的蓝牙控制器条目system_profiler SPBluetoothDataType如果输出里能看到 Bluetooth Controller 且列出了芯片型号比如 BRCM20702 Hub、BRCM2070 Hub说明系统已经认识硬件问题大概率出在驱动层如果整个输出是空的说明蓝牙根本没被系统拉起更值得往下修。 原因Monterey 起Apple 移除了老蓝牙芯片的固件一句话讲透macOS Monterey 把 BRCM2046、BRCM2070 这批 2012 年前后芯片的固件文件从系统里删掉了原本放在 IOBluetoothUSBDFU.kext 里具体清单见 docs/MONTEREY-DROP.md。固件没了芯片就起不来。OpenCore Legacy Patcher 的思路是在 OpenCore 引导阶段注入两个 kextBlueToolFixup 负责让老芯片的固件能重新上传Bluetooth-Spoof 负责给最老的 BRCM2046/BRCM2070 补上识别信息。各组件的作用和适用机型官方在 docs/PATCHEXPLAIN.md 里有逐项说明。️ 动手之前先用 Time Machine 做一次完整备份EFI 构建会写入你的启动盘。工具本身需要管理员权限构建过程中会要求密码。所有 kext 都由仓库自带如payloads/Kexts/Acidanthera/目录下的压缩包构建时自动取用不需要你从别处下载。 主路径用 OpenCore Build 自动检测并修复蓝牙修复发生在 EFI 构建阶段不是 Root Patch。程序源码在 opencore_legacy_patcher/efi_builder/bluetooth.py构建时会先探测你的 USB 设备认出芯片型号再自动往 config.plist 里写对应配置。第 1 步获取项目并启动图形界面git clone https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher cd OpenCore-Legacy-Patcher open OpenCore-Patcher-GUI.command第 2 步在 OpenCore Build 页面执行构建主菜单选择 OpenCore Build按提示选择 SMBIOS 和安装位置即可。程序根据探测结果分几种情况处理识别到BRCM2046 Hub 或 BRCM2070 Hub启用 BlueToolFixup.kext Bluetooth-Spoof.kext追加启动参数-btlfxallowanyaddr并写入 NVRAM 绕过项bluetoothInternalControllerInfo因为这类芯片的固件上传路径和新款不同。识别到BRCM20702 Hub部分老机型固件不兼容同样注入 BlueToolFixup.kext。识别到第三方 4.0 蓝牙芯片BCM20702A0 / BCM2045A0注入 BlueToolFixup.kext 并打开 ExtendBTFeatureFlags。探测不到比如换了芯片按机型预设表做保守假设老机型默认注入 BlueToolFixup。第 3 步重启从新 EFI 启动构建完成后按提示重启从 OpenCore 启动项引导进系统。如果之前装过旧版 EFI注意确认启动的是新构建的版本。 备选路径配置没生效或芯片太冷门主路径失效时按下面两步走先检查配置是否真的写进去了。找到 EFI 分区里的config.plist搜索Kernel → Add节点确认存在这些条目仓库自带的模板payloads/Config/config.plist中均有对应位置可对照stringLilu.kext/string stringBlueToolFixup.kext/string stringBluetooth-Spoof.kext/string缺哪个补哪个注意 kext 必须依赖 Lilu 先加载保存后重启。再考虑外置适配器。如果内置芯片彻底不工作比如硬件损坏插一个第三方 USB 蓝牙适配器。OpenCore Legacy Patcher 对第三方 4.0 蓝牙芯片有专门的处理分支注入 BlueToolFixup 并开启 ExtendBTFeatureFlags重新跑一次 Build 让程序识别到它即可。✅ 验证怎样算修好了重启进系统后依次确认系统设置 → 蓝牙能列出周围设备重新运行system_profiler SPBluetoothDataType输出中应出现控制器型号和已配对设备在终端确认补丁 kext 已加载kextstat | grep -i bluetool有输出就说明 BlueToolFixup 在系统里运行。三项都过修复才算完成蓝牙鼠标、键盘配对后连续用 10 分钟不掉线就可以放心使用了。⚠️ 常见卡点设备列表是空的但 kextstat 有输出。说明驱动加载了、固件没传上去。最常见原因是构建前没重启过机器OpenCore 第一次启动时才会完成固件上传。重启一次再试。Ventura 上设备能发现但连接按钮点不到。这是系统设置界面的悬停状态 bug不是驱动问题。解法开启键盘导航系统设置 → 键盘用 Tab 空格在蓝牙设备列表里选中设备配对按钮就会出现。详见 docs/TROUBLESHOOT-HARDWARE.md 的 Cannot Pair Bluetooth Devices 一节。换了无线卡导致芯片探测不到。只要 USB 设备名里带 Bluetooth 字样就会被归为 Generic走机型预设表兜底如果预设表里没有你的机型可以手动在 Build 页面把机型选成同代较新的型号再检查 config.plist 是否包含 BlueToolFixup 条目。 收尾提示系统日后升级比如从 Monterey 升到 Ventura后蓝牙再次失效不用重装任何东西重新跑一次 OpenCore Build 让新系统版本的配置重新生成即可。遇到本文没覆盖的怪问题优先查 docs/FAQ.md硬件类疑难按 docs/TROUBLESHOOT-HARDWARE.md 逐条对OpenCore Legacy Patcher 更新频繁保持版本最新通常比手动折腾配置更有效。【免费下载链接】OpenCore-Legacy-PatcherExperience macOS just like before项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考