我有一只魔术鼠标和一只苹果蓝牙键盘。
我通常在我的计算机上运行 ubuntu,但有时我需要从外部磁盘使用 windows 7。
每当我启动其他系统时,我都必须再次配对我的设备。
有办法实现这个功能吗?我已经尝试将主机名设置为相同,但没有效果。
答案1
在这里,我分享了经过几天的挣扎后学到的东西。我有一个双启动系统,带有 Windows 10 和最新的 Debian 测试,并且想共享相同的蓝牙鼠标。我的是 Razer Orochi 鼠标。我感谢以下人员及其工作:
- http://forum.notebookreview.com/threads/dual-booting-and-bluetooth.739236/
- https://forums.solydxk.com/viewtopic.php?f=7&t=5251#p53746
- https://www.insanelymac.com/forum/topic/268837-dual-boot-bluetooth-pairing-solved/
- https://ubuntuforums.org/showthread.php?t=2390542&highlight=bluetooth+mouse+reboot(获取Ubuntu 18.04中缺少的LinkKey)
*编辑:我发现更一致的方法是先将其与 Linux 配对,然后转到 Windows 更改配对密钥。因此,我在这里修改了答案,以便您可以遵循完整的教程。
-- Linux 第一种方法(到目前为止一切顺利!)
在开始之前,我假设您至少在 Windows 和 Linux 中配对过鼠标一次,因此设置了相应的注册表。启动 Linux 并确保鼠标正常工作。我使用 Debian 测试 KDE(Plasma 5),因此使用标准内置蓝牙包配对非常容易。我不太确定 Ubuntu,但我认为底层过程是相似的。确保鼠标可用。
更改为 root 用户(这里不能使用 sudo)(只需使用命令 su 或 sux),导航到以下位置:
/var/lib/bluetooth/AA:AA:AA:AA:AA:AA/BB:BB:BB:BB:BB:BB
AA 是笔记本电脑的适配器,BB 是鼠标。其中有一个名为 info 的文件。使用 vi、nano 或您最喜欢的编辑器编辑此文件。在“info”中,您应该看到以下名为 LinkKey 的条目。Key 是一个 32 个字符的十六进制字符串。将此字符串复制并保存在 Linux 和 Windows 都可以访问的文本文件中,例如外部闪存驱动器。
[LinkKey]
Key=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
Type=4
PINLength=0
现在启动 Windows。不使用蓝牙鼠标(关闭或放在一边),在管理员终端下运行以下命令:psexec -s -i regedit.exe
。您必须下载 psexec第一的。
导航至以下键:
(LM)\ControlSet001\Services\BTHPORT\Parameters\Keys\(ID_Adapter)
在那里,你应该能够看到另一个与你的鼠标匹配的ID。右键单击该键并选择“修改二进制数据”。
现在是时候找到您保存的文件并按“正常顺序”输入 16 组中的 32 个字符。不要颠倒顺序,这是 Mac 的特色。
此后,关闭注册表并打开鼠标!哇哦!
--- Windows 优先方法(不一致,此处仅作记录)
首先,您需要将鼠标与 Windows 10 配对,并获取链接密钥。为此,您可以在 Linux 中使用 chntpw 方法(参见链接 1),也可以在 Windows 中使用 psexec 方法。在 Windows 中,在管理员终端下运行以下命令:psexec -s -i regedit.exe
。您必须下载 psexec第一的。
从以下位置获取并导出密钥。将其保存到稍后可以在 Linux 中访问的文本文件中。
(LM)\ControlSet001\Services\BTHPORT\Parameters\Keys
然后启动 Linux;在这种情况下,您可能至少尝试过一次配对鼠标。我假设您这样做了。
更改为 root 用户,进入以下位置:
/var/lib/bluetooth/AA:AA:AA:AA:AA:AA/BB:BB:BB:BB:BB:BB
AA 是笔记本电脑的适配器,BB 是鼠标。其中有一个名为 info 的文件。使用 vi、nano 或您喜欢的编辑器编辑此文件。
[LinkKey]
Key=A7XXXXXXXXXXXXXXXXXXXXXXXXXXXX89
Type=4
PINLength=0
目标是将密钥(删除所有空格和逗号)夹在 A7 和 89 之间。A7 和 89 对于实现这一目标至关重要。为什么要夹在中间?老实说,我不知道,但如果没有夹在中间,它对我来说就行不通了。密钥不再是 8 个字节,而是 16 个字节!因此,您将有 32 个字符需要夹在中间。最终密钥的总长度为 36 个字符。
祝你好运,重启 Linux。终于,耶!
答案2
你可能已经找到答案了。但为了完整起见,这里是解释的链接http://ubuntuforums.org/showpost.php?p=9363229&postcount=5。配对使用的 PIN 码用于生成另一个密钥。即使每次使用相同的 PIN,此密钥也不同。这就是相同 PIN 码不起作用的原因。您必须将密钥从 WIndows 复制到 Ubuntu 机器。
答案3
带 Windows 10 和 K/Ubuntu 17.10 双启动的蓝牙鼠标 - HP Z5000 蓝牙鼠标
关于这个主题有很多建议,大多数都是旧的,而且很难理解。这是让同一个蓝牙鼠标在 Windows 10 和 Kubuntu 17.10 上工作的替代方法。这相当简单。这应该适用于其他 Debian 系统,也许也适用于其他蓝牙设备。
第一步:
1/. Windows 中的第一对。将蓝牙密钥的副本保存到 USB 记忆棒,然后打印出来。这有助于确定用于更改 Windows LinkKey 的计算机和设备地址。使用 regedit(在结果中单击鼠标左键以启用管理员权限)转到 - HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\keys\computer MAC\device MAC。
2/. 重新启动到 Linux,然后在 Linux 中配对。
3/. 使用 su 通过终端打开 Nautilus 以获得完全 root 权限:
4/. 使用 Nautilus 通过文件系统 ROOT - var – lib - bluetooth 导航到蓝牙
5/. 从蓝牙打开12位数字(机器MAC地址)打开设备MAC地址
6/. 打开设备MAC
7/. 打开信息文件夹
8/. 打开信息 – 显示 Linux LinkKey 数据 - 可以保存副本或打印屏幕/文件,也可以打印副本以供稍后使用。它使输入 Linux LinkKey 变得更加容易。
窗户 10:
在启动 Windows 之前关闭鼠标,并且不要重新连接。手指/触摸板将是唯一的继续方式。
1/. 使用普通用户密码登录
2/. 搜索 regedit
3/. 在结果中单击左键以启用管理员权限。
4/. 转到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\keys\computer MAC\device MAC
Linux 和 Windows 中的计算机和设备地址至少会相似甚至相同。这可以从打印的副本(如果有)中检查出来。5/。要访问 Keys 文件,需要提升权限(请参阅https://www.howtogeek.com/262464/how-to-gain-full-permissions-to-edit-protected-registry-keys/)。
6/. 点击按键,然后点击设备 Mac
这将打开一个二进制值编辑器:
1/.输入使用 Nautilus 获取的 32 对 Linux 密钥。
2/. 原始 LinkKey 将显示为两行 8 对数字。将有三行可见。
3/. 将光标置于第一行开头并输入 Linux LinkKey。光标将自动移动到下一对。
4/. 输入将以大写形式显示,但完成后将自动转换为小写。在此过程中,Windows 会将关键字符转换为十六进制值,这将显示在新 LinkKey 的右侧。
5/. 当新密钥输入完成后,将光标放在原密钥的开头,删除原来的两行。这样将留下原来的三行。
6/. 关闭编辑器,如果重新打开,将保存更改,键将以小写字母和 Windows 格式显示(以逗号而不是冒号分隔)
7/.折叠HKEY-L_M并退出Windows注册表编辑器。
最后:
关闭 Windows 10 并重新启动 Windows,但不打开鼠标。完全启动后打开鼠标 - 它现在应该可以在 Kubuntu 17.10 和 Windows 10 中工作。
答案4
每次加载操作系统时,该操作系统都需要加载硬件驱动程序。即使您是从休眠状态加载,它仍会再次加载/刷新驱动程序。试试看...在设备管理器中卸载驱动程序,然后立即休眠。当您从休眠状态恢复时,驱动程序会再次出现在设备管理器中,就像您重新启动一样。
加载驱动程序后,您需要配对蓝牙设备。
保持蓝牙设备连接的唯一方法是保持蓝牙接收器处于活动状态。保持它们处于活动状态的唯一方法是不从系统中卸载它们。不从系统中卸载它们的唯一方法是不关闭正在访问它们的操作系统。
现在,如果您在虚拟机中运行某个操作系统,情况就完全不同了。但是由于您没有在虚拟机中运行,并且您在更改之间实际上会重新启动,因此不行。您当前的使用选择无法避免蓝牙设备每次都必须重新配对。