双系统蓝牙设备需重配对是因密钥不共享,将macos的link key转为big-endian后写入windows注册表对应ltk项,再重插接收器即可免配对直连。

在Win11与macOS或Linux双系统共存的电脑上,每次切换系统后蓝牙鼠标、键盘必须重新配对,是因为两个系统各自生成了独立的Link Key(链路密钥),而蓝牙设备只能保存一套密钥。只要把其中一个系统的密钥复制到另一个系统对应位置,就能实现开机即连、无需重复操作。
先在Windows中完成配对并导出密钥
打开「设置 > 蓝牙 & 设备 > 设备」,确保蓝牙已开启,将鼠标/键盘置于配对模式,点击「添加设备 > 蓝牙」完成配对。这一步必须先做,因为后续要用PSEXEC以系统级权限访问注册表隐藏项。
下载PsTools工具包(微软官方免费工具),解压到C:\pstools。以管理员身份运行CMD,执行:
cd C:\pstools → psexec -s -i regedit
注册表打开后,导航至:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\【你的蓝牙适配器MAC地址】\【鼠标/键盘的MAC地址】
右键LTK(Long Term Key)→ 修改→ 记录右侧“数值数据”中的32位十六进制字符串(例如:a1b2c3d4e5f678901234567890abcdef),连空格一起完整复制。注意:若找不到LTK,检查是否漏掉了适配器MAC或设备MAC路径层级——路径必须严格匹配,少一级就找不到密钥。
再在macOS中获取并转换密钥
重启进入macOS,用同一套鼠标/键盘完成配对(若之前配过,请先在「系统设置 > 蓝牙」中删除旧记录,再重新配对,确保生成最新密钥)。
打开「终端」,输入命令:
sudo defaults read /private/var/root/Library/Preferences/blued.plist
回车后屏幕上会输出多行内容,从中找到形如「linkKey = 」的字段——这就是macOS生成的32位Link Key。复制尖括号内的全部内容(含空格),不要带「linkKey =」和尖括号。
Mac使用Little-Endian字节序存储,Windows使用Big-Endian,必须转换。把复制的16进制串按每2位切分,倒序排列:比如原串「98542ff9 88e19449 475250e1 3943255b」要变成「5b254339 e1505247 4994e188 99ff5498」,然后去掉空格合并为连续32位字符串。这一步不能手误,错一位就无法连接。
把macOS密钥写入Windows注册表
回到Windows系统,再次用管理员CMD运行psexec -s -i regedit打开注册表编辑器,导航到之前记录的相同路径(HKEY_LOCAL_MACHINE\...\Keys\适配器MAC\设备MAC)。
双击LTK → 在「数值数据」栏中,**完全删除原有内容**,粘贴刚刚转换好的32位Big-Endian密钥字符串(例如5b254339e15052474994e18899ff5498)→ 点击「确定」。
关闭注册表,**不要重启,直接拔掉蓝牙接收器再插回USB口**(或禁用再启用蓝牙服务),鼠标/键盘应立刻重连。如果未连上,说明密钥粘贴时多了空格或少了字符,需重新核对。











