平淡
因?yàn)楸4鍸TK信息的鍵值默認(rèn)受系統(tǒng)保護(hù),直接啟動(dòng)regedit.exe無(wú)法看到鍵值,所以這里必須使用PsExec.exe來(lái)加載啟動(dòng)。
藍(lán)牙鼠標(biāo)在和系統(tǒng)首次進(jìn)行連接時(shí),它們之間會(huì)進(jìn)行配對(duì),配對(duì)成功后就會(huì)生成LTK(即Long-Term Key,譯為長(zhǎng)期密鑰)。這樣下次需要再連接的時(shí)候,系統(tǒng)會(huì)檢測(cè)配對(duì)設(shè)備的LTK,如果一致則成功連接,否則需要重新配對(duì)(圖1)。
由于Windows10和Linux在連接藍(lán)牙鼠標(biāo)時(shí),它們會(huì)分別生成不同的LTK,比如在Windows 10中連接藍(lán)牙鼠標(biāo)生成的LTK是A,但是切換到Linux系統(tǒng)中后這個(gè)連接的密鑰就變?yōu)锽。這樣當(dāng)我們?cè)俅吻袚Q到Windows 10系統(tǒng)中后,由于藍(lán)牙鼠標(biāo)保存的LTK仍然是B,Windows 10就會(huì)將藍(lán)牙鼠標(biāo)重新識(shí)別為新設(shè)備,因此需要重新進(jìn)行配對(duì)才能正常使用。反之亦然。不過(guò)對(duì)Windows 10系統(tǒng)來(lái)說(shuō),成功連接后會(huì)在注冊(cè)表中保存LTKA,我們可以手動(dòng)將其改為L(zhǎng)TKB。這樣在Linux中連接后藍(lán)牙鼠標(biāo)保存的也是LTKB,從而實(shí)現(xiàn)切換到Windows 10中之后也能成功連接。
如上所述,通過(guò)手動(dòng)更改Windows系統(tǒng)保存的LTK可以解決問(wèn)題。下面我們以在Linux(以Ubuntu 20.10操作為例)中保存的LTK為準(zhǔn),介紹如何在Windows 10下修改LTK,使之和Liunx下顯示的一致。
1.獲取Ubuntu系統(tǒng)下的LTK
進(jìn)入U(xiǎn)buntu系統(tǒng),按提示先連接藍(lán)牙鼠標(biāo),成功完成連接并可以正常使用后啟動(dòng)終端。接著在終端輸入命令“SU”并回車(chē)執(zhí)行,按提示輸入U(xiǎn)buntu賬戶(hù)和登錄密碼。接著繼續(xù)輸入“cd/var/lib/bluetooth”和“Is”命令并執(zhí)行,在這里可以看到一個(gè)類(lèi)似“49:BA:F9:77:05:42”的目錄名,這個(gè)對(duì)應(yīng)的是本機(jī)MAC地址的名稱(chēng)(圖2)。
繼續(xù)輸入并執(zhí)行“cd 49:BA:F9:77:05:42”和“Is”命令,在該目錄下還可以看到類(lèi)似“29:88:5F:4E:E6:55”的子目錄,這個(gè)對(duì)應(yīng)的是藍(lán)牙鼠標(biāo)的MAC地址。最后在終端中輸入并執(zhí)行“cat info”命令顯示其中“info”文件的信息(這個(gè)文件里保存LTK信息),其中[Linkkey]字段下“key=”后的代碼(即95406DAD56FDFFDF42FDFF47DAFDI2EF)即為L(zhǎng)TK代碼,按提示復(fù)制并保存?zhèn)溆茫▓D3)。
2.在Windows 10下更改LTK
重啟電腦并切換到Windows 10系統(tǒng)。進(jìn)入系統(tǒng)后先使用有線(xiàn)鼠標(biāo)或者直接使用觸摸板(請(qǐng)勿重新配對(duì)藍(lán)牙鼠標(biāo),以免生成新的LTK)操作,接著到“https:∥docs.microsoft.com/en-us/sysinternals/downloads/psexec”下載PsExec.zip,然后將其全部文件解壓到q:\aa備用。接著以管理員身份啟動(dòng)命令提示符,輸入“cdg:\aa”和“PsExec.exe-s-i regedit”,回車(chē)后啟動(dòng)注冊(cè)表編輯器(圖4)。
打開(kāi)注冊(cè)表編輯器后依次展開(kāi)[HKEY LOCAL MACHlNE\SYSTEM\Current ControlSet\services\BTH PORT\Parameters\Keys],在[Keys]鍵值下可以看到[49baf9770542]和[29885f4ee655]子項(xiàng),這個(gè)和本機(jī)的MAC、之前成功連接的藍(lán)牙鼠標(biāo)的MAC值相對(duì)應(yīng)(圖5)。
切換到圖5的右側(cè)窗格,其中的“LTK”項(xiàng)的數(shù)據(jù)就是之前成功連接藍(lán)牙鼠標(biāo)的LTK代碼??梢钥吹剑琖indows 10和Ubuntu下保存的LTK代碼并不相同,這也是為什么切換系統(tǒng)后需要重新連接藍(lán)牙鼠標(biāo)的原因?,F(xiàn)在按提示雙擊“LTK”項(xiàng),在打開(kāi)的窗口中將其原來(lái)的數(shù)據(jù)全部刪除,然后輸入和圖3顯示的“key=”后的數(shù)值一致的代碼即可(圖6)。
完成上述的操作后,在Windows 10中關(guān)閉藍(lán)牙再開(kāi)啟,這樣可以成功連接藍(lán)牙鼠標(biāo)。而且以后無(wú)論在哪個(gè)系統(tǒng)中,都可以自動(dòng)連接藍(lán)牙鼠標(biāo)使用了。其他藍(lán)牙設(shè)備的設(shè)置類(lèi)似。