解决Win10和Linux双系统配对蓝牙设备问题(不使用PsExec)

前言

在电脑上安装了Windows和Linux双系统,但是在蓝牙连接上却出现了一些问题,主要问题在于蓝牙配对后,要使用蓝牙,其中一个系统必须要重新配对。但是在在google问题后,终于发现了不使用PsExec的解决方法。

查找到的解决方法:点击跳转

博文原地址:作者博客

未经许可,禁止转载

开始

1. 在Windows下先对蓝牙进行配对

2. 重启至Linux ,并配对蓝牙

接下来的操作都在Linux系统下进行

3.安装chntpw

执行命令

sudo pacman -S chntpw

安装chntpw这个工具

4.挂载Windwos系统盘

挂载Windows系统盘,并进入Windows/System32/config这个路径,

我执行的命令是cd /run/media/eswd/Windows/Windows/System32/config

5.查看注册表内容

到该目录后,在终端内执行命令

chntpw -e SYSTEM

进入注册表编辑器,执行命令

cd \ControlSet001\Services\BTHPORT\Parameters\Keys

如图所示

输入命令ls查看本机设备,我显示的内容是

(...)\Services\BTHPORT\Parameters\Keys> ls
Node has 1 subkeys and 0 values
  key name
  <50eb71cf316c>

所以再次执行 cd 50eb71cf316c

再次执行ls可以看到如下类似的内容

(...)\BTHPORT\Parameters\Keys\50eb71cf316c> ls
Node has 1 subkeys and 3 values
  key name
  <c8b030e58751>
  size     type              value name             [value if type DWORD]
    16  3 REG_BINARY         <MasterIRK>
    16  3 REG_BINARY         <9c19c2074f39>
    16  3 REG_BINARY         <001694452a94>

我要解决的蓝牙设备是001694452a94这个设备,因此接下来输入命令

hex 001694452a94

会得到类似如下的内容

(...)\BTHPORT\Parameters\Keys\50eb71cf316c> hex 001694452a94
Value <001694452a94> of type REG_BINARY (3), data length 16 [0x10]
:00000  97 A6 50 C6 AB 66 64 D9 E3 01 54 8C FE AA 71 82 ..P..fd...T...q.

因此我们需要的Key就是97A650C6AB6664D9E301548CFEAA7182

随后输入q后回车退出

6.修改Linux下的蓝牙信息

编辑文件 sudo vim /var/lib/bluetooth/{设备MAC}/{设备地址}/info

因为我的设备是MAC是50:EB:71:CF:31:6C,设备地址是00:16:94:45:2A:94,所以应输入的命令是

sudo vim /var/lib/bluetooth/50\:EB\:71\:CF\:31\:6C/00\:16\:94\:45\:2A\:94/info

路径可以使用用Tab键补全

将[LinkKey]下的Key改成刚才找到的Key,修改后保存,重启蓝牙设备后即可

sudo systemctl restart bluetooth
posted @ 2021-08-07 20:02  犯二的二  阅读(1136)  评论(0编辑  收藏  举报