Спарювання через Bluetooth при подвійному завантаженні Windows & Linux Mint / Ubuntu - перестаньте працювати з пристроями


53

Під час подвійного завантаження Windows 7/10 та Linux Mint / Ubuntu, можливо, вам доведеться знову і знову ремонтувати пристрої Bluetooth. Це станеться кожного разу при переключенні ОС.

Тепер, як ви цьому запобігаєте?

Я відповідаю на власне запитання в наступному посібнику, який був протестований на Ubuntu 14.4 та Linux mint 17.2, 17.3 і тепер Linux Mint 18.x.


2
Я робив це неодноразово, і кроки надзвичайно виснажливі. Я створив цей сценарій, щоб допомогти його прискорити: github.com/LondonAppDev/dual-boot-bluetooth-pair
Марк Вінтерботтом

Відповіді:


97

Чому це відбувається?

По суті, підключаючи свій пристрій, служба Bluetooth створює унікальний набір клавіш сполучення. По-перше, на вашому комп'ютері зберігається мак-адреса пристрою Bluetooth та ключ сполучення. По-друге, ваш пристрій Bluetooth зберігає mac-адресу вашого комп’ютера та відповідний ключ. Зазвичай це працює добре, але mac-адреса для вашого порту Bluetooth буде однаковою для Linux та Windows (вона встановлюється на апаратному рівні). Однак при повторній парі пристрою в Windows або Linux він генерує новий ключ. Ця клавіша перезаписує раніше збережений ключ на пристрої Bluetooth. Windows перезаписує ключ Linux і навпаки.

Як виправити

Користуючись наведеними нижче інструкціями, ми спочатку з’єднаємо ваші пристрої Bluetooth з Ubuntu / Linux Mint, а потім з’єднаємо Windows. Тоді ми повернемося до нашої системи Linux і скопіюємо ключі, створені в ОС Windows, створені в нашу систему Linux.

  1. Пара w / mint / ubuntu - всі пристрої
  2. З'єднайте всі пристрої з вікнами
  3. Скопіюйте клавіші сполучення ключів Windows 1 з 2 способів.

    • Використання psexec -s -i regedit.exeз Windows (важче)

      1. перейдіть до пристрою та принтерів на панелі керування та перейдіть до властивостей пристрою Bluetooth, тоді у розділі bluetooth ви можете знайти унікальний ідентифікатор, скопіювати його (вам знадобиться пізніше).
      2. завантажити з Завантажити psexec з: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. розпакуйте завантажений zip та відкрийте cmd-термінал як root. (натисніть кнопку Пуск, пошук 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, а потім виписати це вручну, зберігаючи місце, до якого ви могли отримати доступ у вашій ОС Linux.
    • використовувати chntpwз дистрибутива Linux (простіше), запустити в терміналі потім:

      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. Запишіть, яка MAC-адреса пристрою Bluetooth відповідає відповідній клавіші розбору. У монетному дворі / ubuntu одному не знадобляться проміжки між ними. Ігноруйте:00000

  4. Повернемося до Linux (якщо не в Linux) і додамо ключ Windows до наших записів конфігурації Linux. Зауважте лише, що mac-адреса порту Bluetooth при переході з 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 на вікно один, мінус пробіли.
    • У Монетному дворі 18 (і ubuntu 16.04) вам, можливо, доведеться це зробити:

      1. перейти на корінь su -
      2. компакт-диск до вашого конфігурації Bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. Тут ви знайдете папки для кожного пристрою, з яким ви поєдналися. Назви папок, що мають мак-адресу пристроїв Bluetooth, містять один файл info. У цих файлах ви побачите ключ посилання, який потрібно замінити на такі, як такі.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Після оновлення перезапустіть службу Bluetooth sudo /etc/init.d/bluetooth restartабо перезавантажте Linux - це працює!
  6. Перезавантажте вікна - це працює!
  7. Оновіть, якщо це працювало для вас!

1
Це працює дякую. Сумно сказати, що Bluetooth у Windows працює без суєти. BT в Linux просто смокче. Я використовую Linux Mint 17.3, і моя гарнітура підключається, а потім майже відразу відключається. Кожен раз, коли я пробую BT в Linux, це битва, щоб змусити його працювати.
RyanNerd

2
Я прийшов сюди, щойно встановив Ubuntu 16.04LTS (dualboot з Windows) і вже спарив мою клавіатуру та мишу з ним. Замість того, щоб копіювати ключ з Windows на Ubuntu, я робив це в зворотному режимі за допомогою chntpw: Після монтажу розділу Windows і виконання всіх chntpw матеріалів @Mario Flores зробіть редактор "name name" у терміналі chntpw. Візьміть "Key =" у файлі інформації вашого пристрою Bluetooth на Ubuntu та введіть його так у chntpw: ": XX XX XX XX XX ....", де XX - кожні 2 літери / цифри у ключі. Потім введіть s і він буде збережений у реєстрі. Повторіть, якщо потрібно.
Самер Пурі

3
чи має бути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(так HLKM)
TiloBunt

2
До речі, якщо у вас є пристрій Bluetooth LE, вам доведеться зробити ще кілька речей, і unix.stackexchange.com/questions/402488 може вам допомогти.
Фредерік Чжан

4
У Windows 10 свої ключі ви знайдете в розділі "Комп'ютер \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Параметри \ Ключі".
Томас

0

Як тільки ви отримаєте ключ пристрою Bluetooth у Windows, ви можете просто перейти до налаштувань, Bluetooth та отримати ключ, це проста частина. Важка частина полягає в тому, щоб змінити його на Linux, я використовую ubuntu, і я це зробив так:

встановіть gksu, щоб отримати права адміністратора, просто поставте цю команду: sudo apt-get install gksu

Після встановлення вам потрібно натиснути ALT + F2 і ввести gksu nautilus (просто будьте обережні, щоб змінити лише те, що вам потрібно, інакше ви можете пошкодити ОС.)

Тепер перейдіть до конкретного розташування файлу слідом за вищевказаним шляхом відповіді, там ви знайдете файл під назвою Інформація , відкрийте його та змініть ключ. перезавантажте bluetooth або перезавантажте ПК та готово. Вибачте, якщо погана англійська та граматика, я лінувався перевірити це.


Для Windows 10, де / як знайти ключ?
rickhg12hs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.