การจับคู่บลูทู ธ ในการบู๊ตคู่ของ Windows & Linux Mint / Ubuntu - หยุดการจับคู่อุปกรณ์


52

เมื่อบูทคู่กับ Windows 7/10 และ Linux Mint / Ubuntu คุณอาจต้องซ่อมอุปกรณ์บลูทู ธ ซ้ำแล้วซ้ำอีก สิ่งนี้จะเกิดขึ้นทุกครั้งที่คุณสลับระบบปฏิบัติการ

ตอนนี้คุณจะป้องกันได้อย่างไร

ฉันตอบคำถามของตัวเองด้วยคำแนะนำต่อไปนี้ซึ่งได้รับการทดสอบบน Ubuntu 14.4 และ Linux มิ้นต์ 17.2, 17.3 และตอนนี้ Linux Mint 18.x


2
ฉันได้ทำมาหลายครั้งแล้วและขั้นตอนต่าง ๆ ก็น่าเบื่ออย่างยิ่ง ฉันสร้างสคริปต์นี้เพื่อช่วยเร่งให้เร็วขึ้น: github.com/LondonAppDev/dual-boot-bluetooth-pair
Mark Winterbottom

คำตอบ:


96

ทำไมสิ่งนี้ถึงเกิดขึ้น

โดยทั่วไปเมื่อคุณจับคู่อุปกรณ์บริการบลูทู ธ ของคุณจะสร้างชุดการจับคู่คีย์เฉพาะ ก่อนอื่นคอมพิวเตอร์ของคุณจะจัดเก็บที่อยู่ mac ของอุปกรณ์ Bluetooth และคีย์การจับคู่ ประการที่สองอุปกรณ์ Bluetooth ของคุณจะจัดเก็บที่อยู่ mac ของคอมพิวเตอร์และคีย์การจับคู่ โดยปกติแล้วจะใช้งานได้ดี แต่ที่อยู่ mac สำหรับพอร์ตบลูทู ธ ของคุณจะเหมือนกันทั้งบน Linux และ Windows (ตั้งอยู่ที่ระดับฮาร์ดแวร์) อย่างไรก็ตามเมื่อคุณจับคู่อุปกรณ์ใน Windows หรือ Linux อุปกรณ์จะสร้างรหัสใหม่ รหัสนั้นจะเขียนทับรหัสที่เก็บไว้ก่อนหน้านี้บนอุปกรณ์ Bluetooth Windows จะเขียนทับคีย์ Linux และในทางกลับกัน

วิธีแก้ไข

โดยใช้คำแนะนำด้านล่างเราจะจับคู่อุปกรณ์บลูทู ธ ของคุณกับ Ubuntu / Linux Mint ก่อนแล้วเราจะจับคู่ Windows จากนั้นเราจะกลับไปที่ระบบ Linux ของเราและคัดลอกคีย์การจับคู่ที่สร้างขึ้น Windows ลงในระบบ Linux ของเรา

  1. จับคู่ w / mint / ubuntu - อุปกรณ์ทั้งหมด
  2. จับคู่อุปกรณ์ทั้งหมดที่มี windows
  3. คัดลอกคีย์การจับคู่ windows ของคุณใน 1 ใน 2 วิธี

    • ใช้psexec -s -i regedit.exeจาก windows (ยากขึ้น)

      1. ไปที่อุปกรณ์และเครื่องพิมพ์ในแผงควบคุมและไปที่คุณสมบัติของอุปกรณ์บลูทู ธ จากนั้นในส่วนบลูทู ธ คุณจะพบตัวระบุที่ไม่ซ้ำคัดลอก (คุณจะต้องใช้ภายหลัง)
      2. ดาวน์โหลดได้จากการดาวน์โหลด psexec จาก: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
      3. แตกซิปที่คุณดาวน์โหลดและเปิดเทอร์มินัล cmd เป็นรูท (คลิกเริ่มค้นหาcmdแล้วคลิกขวาที่ CMD แล้วคลิกRun as Administrator)
      4. cd ในโฟลเดอร์ที่คุณคลายซิปไฟล์ดาวน์โหลด
      5. วิ่ง psexec -s -i regedit.exe
      6. นำทางไปหาคีย์ที่LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\Keysถ้าไม่มี CurrentControlSet Controlset001ลอง ใน Windows 10 คุณจะพบกุญแจได้ที่HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. คุณควรเห็นป้ายกำกับคีย์สองสามตัวพร้อมที่อยู่ MAC - จดที่อยู่ MAC ที่เกี่ยวข้องกับตัวระบุที่ไม่ซ้ำกันที่คุณคัดลอกมาก่อน คุณไม่สามารถคัดลอกส่วนเสริมของ MAC จากนั้นเขียนด้วยมือโดยบันทึกในที่ที่คุณสามารถเข้าถึงได้ในระบบปฏิบัติการลินุกซ์
    • ใช้chntpwจาก Linux distro ของคุณ (ง่ายขึ้น) เริ่มต้นในเทอร์มินัลจากนั้น:

      1. sudo apt-get install chntpw
      2. ติดตั้งไดรฟ์ระบบ windows ของคุณ
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - ใน windows 10 โฟลเดอร์รากคือ "Windows" บน Win7 คือ "WINDOWS"
      4. chntpw -e SYSTEM เปิดขึ้นคอนโซล
      5. เรียกใช้คำสั่งเหล่านี้ในคอนโซลนั้น

        > cd CurrentControlSet\Services\BTHPORT\Parameters\Keys
        > # if no CurrentControlSet then try ControlSet001
        > # on windows 7, "services" above is lowercased.
        > ls
        # shows you your bluetooth port's mac address
        Node has 1 subkeys and 0 values
          key name
          <aa1122334455>
        > cd aa1122334455  # CD into the folder
        > ls  
        # lists of existing devices' MAC addresses
        Node has 0 subkeys and 1 values
          size     type            value name             [value if type DWORD]
            16  REG_BINARY        <001f20eb4c9a>
        > hex 001f20eb4c9a
        => :00000 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX ...ignore..chars..
        # ^ the XXs are the pairing key
        
      6. จดบันทึกที่อยู่บลูทู ธ ของอุปกรณ์ Bluetooth ซึ่งตรงกับคีย์การจับคู่ มิ้นต์ / อูบุนตูไม่จำเป็นต้องใช้ช่องว่างระหว่างกัน ไม่ต้องสนใจ:00000

  4. กลับไปที่ Linux กันเถอะ (ถ้าไม่ใช่ใน Linux) และเพิ่ม windows key ของเราลงในรายการการกำหนดค่า Linux ของเรา เพิ่งทราบว่าที่อยู่ mac ของพอร์ตบลูทู ธ มีรูปแบบแตกต่างกันเมื่อย้ายจาก Windows เป็น Linux - อ้างอิงเป็น aa1122334455 ใน Windows ในตัวอย่างด้านบนของฉัน เวอร์ชัน Linux จะอยู่ในตัวพิมพ์ใหญ่ทั้งหมดและคั่นด้วย ':' หลังจากทุก 2 ตัวอักษร - ตัวอย่าง: AA: 11: 22: 33: 44: 55 คุณสามารถเลือกทำสิ่งใดสิ่งหนึ่งต่อไปนี้ตามเวอร์ชันของ Linux

    • ก่อนมิ้นต์ 18 / 16.04 คุณสามารถทำได้:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [ที่อยู่ mac ของ bluetooth] ควรเป็นโฟลเดอร์เดียวในโฟลเดอร์ bluetooth นั้น
      2. ไฟล์นี้ควรมีลักษณะเช่นนี้

        [Bluetooth MAC]   [Pairing key]                 [digits in pin]  [0]
        AA:11:22:33:44:55 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 5 0
        00:1D:D8:3A:33:83 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 4 0
        
      3. เปลี่ยนคีย์การจับคู่ Linux เป็น windows หนึ่งลบด้วยช่องว่าง
    • ใน Mint 18 (และ Ubuntu 16.04) คุณอาจต้องทำสิ่งนี้:

      1. เปลี่ยนเป็นรูท su -
      2. ซีดีไปยังตำแหน่งกำหนดค่าบลูทู ธ ของคุณ /var/lib/bluetooth/[bth port mac addresses)]
      3. ที่นี่คุณจะพบโฟลเดอร์สำหรับแต่ละอุปกรณ์ที่คุณจับคู่ ชื่อโฟลเดอร์เป็นบลูทู ธ ที่อยู่ mac infoและอุปกรณ์ประกอบด้วยไฟล์เดียว ในไฟล์เหล่านี้คุณจะเห็นปุ่มเชื่อมโยงที่คุณต้องการแทนที่ด้วยหน้าต่างของคุณเช่นนั้น

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. เมื่ออัปเดตแล้วให้เริ่มบริการบลูทู ธ ของคุณใหม่sudo /etc/init.d/bluetooth restartหรือรีบูตเป็น linux - ใช้งานได้!
  6. รีบูตเข้าสู่ windows - ใช้งานได้!
  7. โหวตขึ้นถ้าสิ่งนี้ได้ผลสำหรับคุณ!

1
งานนี้ขอบคุณ เศร้าที่จะบอกว่าบลูทู ธ ใน Windows ใช้งานได้ไม่ยุ่งยาก BT ใน Linux เพียงแค่ดูด ฉันใช้ Linux Mint 17.3 และชุดหูฟังของฉันเชื่อมต่อแล้วยกเลิกการเชื่อมต่อเกือบทันที ทุกครั้งที่ฉันลอง BT ใน Linux มันเป็นการต่อสู้เพื่อให้มันทำงาน
RyanNerd

2
ฉันมาที่นี่โดยเพิ่งติดตั้ง Ubuntu 16.04LTS (dualboot กับ Windows) และได้จับคู่แป้นพิมพ์และเมาส์ไว้กับมันแล้ว แทนที่จะทำการคัดลอกคีย์จาก Windows ไปยัง Ubuntu ฉันทำแบบย้อนกลับโดยใช้ chntpw: หลังจากติดตั้งพาร์ติชัน windows ของคุณและทำทุกสิ่งที่ chntpw @Mario Flores ทำให้ทำ "value name" ในเทอร์มินัล chntpw ใช้ "Key =" ในไฟล์ข้อมูลอุปกรณ์บลูทู ธ ของคุณบน Ubuntu และป้อนแบบนี้ใน chntpw: ": XX XX XX XX XX .... " โดยที่ XX คือทุก 2 ตัวอักษร / หมายเลขในคีย์ จากนั้นพิมพ์ s และมันจะถูกบันทึกไว้ในรีจิสทรี ทำซ้ำหากจำเป็น
Sameer Puri

3
มันควรจะเป็น: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(ดังนั้น HLKM)
TiloBunt

2
อย่างไรก็ตามถ้าคุณมีอุปกรณ์บลูทู ธ LE จะมีอีกสองสามอย่างที่ต้องทำและunix.stackexchange.com/questions/402488อาจช่วยคุณได้
Frederick Zhang

4
ใน Windows 10 คุณจะพบคีย์ของคุณที่ "Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"
โทมัส

0

เมื่อคุณได้รับกุญแจของอุปกรณ์บลูทู ธ ใน windows คุณสามารถไปที่การตั้งค่าบลูทู ธ และรับกุญแจนั่นเป็นส่วนที่ง่าย ส่วนที่ยากคือการเปลี่ยนบน linux ฉันใช้ Ubuntu และวิธีที่ฉันทำคือ:

ติดตั้ง gksu เพื่อรับสิทธิ์ผู้ดูแลระบบเพียงแค่ใส่คำสั่งนี้: sudo apt-get install gksu

เมื่อติดตั้งแล้วคุณต้องกด ALT + F2 และพิมพ์gksu nautilus (เพียงระวังให้เปลี่ยนเฉพาะสิ่งที่คุณต้องทำมิฉะนั้นคุณอาจสร้างความเสียหายต่อระบบปฏิบัติการของคุณ)

ตอนนี้ไปที่ตำแหน่งเฉพาะของไฟล์ตามเส้นทางคำตอบข้างต้นคุณจะพบไฟล์ชื่อInfoเปิดไฟล์และเปลี่ยนรหัส รีสตาร์ทบลูทู ธ หรือรีสตาร์ทพีซีของคุณและทำ ขออภัยถ้าภาษาอังกฤษและไวยากรณ์ไม่ดีฉันขี้เกียจเกินกว่าจะตรวจสอบได้


สำหรับ Windows 10 คุณจะค้นหาคีย์ได้ที่ไหน / อย่างไร
rickhg12hs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.