不再烦人让Windows10和Linux双系统共用蓝牙设备
    因为保存LTK信息的键值默认受系统保护,直接启动无法看到键值,所以这里必须使用来加载启动。
    了解问题产生的原因
    蓝牙鼠标在和系统首次进行连接时,它们之间会进行配对,配对成功后就会生成LTK(即Long-Term Key,译为长期密钥)。这样下次需要再连接的时候,系统会检测配对设备的LTK,如果一致則成功连接,否则需要重新配对(图1)。
    由于Windows10和Linux在连接蓝牙鼠标时,它们会分别生成不同的LTK,比如在Windows 10中连接蓝牙鼠标生成的LTK是A,但是切换到Linux系统中后这个连接的密钥就变为B。这样当我们再次切换到Windows 10系统中后,由于蓝牙鼠标保存的LTK仍然是B,Windows 10就会将蓝牙鼠标重新识别为新设备,因此需要重新进行配对才能正常使用。反之亦然。不过对Windows 10系统来说,成功连接后会在注册表中保存LTKA,我们可以手动将其改为LTKB。这样在Linux中连接后蓝牙鼠标保存的也是LTKB,从而实现切换到Windows 10中之后也能成功连接。
    统一蓝牙鼠标的LTK
    如上所述,通过手动更改Windows系统保存的LTK可以解决问题。下面我们以在Linux(以Ubuntu 20.10操作为例)中保存的LTK为准,介绍如何在Windows 10下修改LTK,使之和Liunx下显示的一致。
    1.获取Ubuntu系统下的LTK
    进入Ubuntu系统,按提示先连接蓝牙鼠标,成功完成连接并可以正常使用后启动终端。接着在终端输入命令“SU”并回车执行,按提示输入Ubuntu账户和登录密码。接着继续输入“cd/var/lib/bluetooth”和“Is”命令并执行,在这里可以看到一个类似“49:BA:F9:77:05:42”的目录名,这个对应的是本机MAC地址的名称(图2)。
    继续输入并执行“cd 49:BA:F9:77:05:42”和“Is”命令,在该目录下还可以看到类似“29:88:5F:4E:E6:55”的子目录,这个对应的是蓝牙鼠标的MAC地址。最后在终端中输入并执行“cat info”命令显示其中“info”文件的信息(这个文件里保存LTK信息),其中[Linkkey]字段下“key=”后的代码(即________FDI2EF)即为LTK代码,按提示复制并保存备用(图3)。
    2.在Windows 10下更改LTK电脑怎么装linux和windows双系统
    重启电脑并切换到Windows 10系统。进入系统后先使用有线鼠标或者直接使用触摸板(请勿重新配对蓝牙鼠标,以免生成新的LTK)操作,接着到“https:∥docs.microsoft./en-us/sysinternals/downloads/psexec”下载PsExec.zip,然后将其全部文件解压到q:\aa备用。接着以管理员身份启动命令提示符,输入“cdg:\aa”和“-s-i regedit”,回车后启动注册表编辑器(图4)。
    打开注册表编辑器后依次展开[HKEY LOCAL MACHlNE\SYSTEM\Current ControlSet\services\BTH PORT\Parameters\Keys],在[Keys]键值下可以看到[49baf__]和[__f4ee655]子项,这个和本机的MAC、之前成功连接的蓝牙鼠标的MAC值相对应(图5)。
    切换到图5的右侧窗格,其中的“LTK”项的数据就是之前成功连接蓝牙鼠标的LTK代码。可以看到,Windows 10和Ubuntu下保存的LTK代码并不相同,这也是为什么切换系统后需要重新连接蓝牙鼠标的原因。现在按提示双击“LTK”项,在打开的窗口中将其原来的数据全部删除,然后输入和图3显示的“key=”后的数值一致的代码即可(图6)。
    完成上述的操作后,在Windows 10中关闭蓝牙再开启,这样可以成功连接蓝牙鼠标。而且以后无论在哪个系统中,都可以自动连接蓝牙鼠标使用了。其他蓝牙设备的设置类似。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。