web-dev-qa-db-ja.com

WindowsとLinux Mint / UbuntuのデュアルブートでのBluetoothペアリング-デバイスのペアリングを停止する

Windows 7/10とLinux Mint/Ubuntuをデュアルブートすると、Bluetoothデバイスを何度もペアリングし直す必要がある場合があります。これは、OSを切り替えるたびに発生します。

さて、どうやってこれを防ぐのですか?

Ubuntu 14.4とLinux Mint 17.2、17.3、そしてLinux Mint 18 .xでテストされた次のガイドで自分の質問に答えています。

70

なぜこれが起こるのですか?

基本的に、デバイスをペアリングすると、Bluetoothサービスは一意のペアリングキーのセットを生成します。まず、コンピュータにBluetoothデバイスのMACアドレスとペアリングキーが保存されます。次に、BluetoothデバイスはコンピューターのMACアドレスと一致するキーを保存します。これは通常は正常に動作しますが、BluetoothポートのMACアドレスはLinuxとWindowsの両方で同じになります(ハードウェアレベルで設定されます)。したがって、WindowsまたはLinuxでデバイスを再ペアリングして新しいキーを生成すると、そのキーはBluetoothデバイスに以前に保存されたキーを上書きします。 WindowsはLinuxキーを上書きし、その逆も同様です。

直し方

以下の手順を使用して、まずBluetoothデバイスをUbuntu/Linux Mintとペアリングし、次にWindowsをペアリングします。次に、Linuxシステムに戻り、Windowsで生成されたペアリングキーをLinuxシステムにコピーします。

  1. Mint/Ubuntuとすべてのデバイスをペアリング
  2. Windowsとすべてのデバイスをペアリング
  3. 次の2つの方法のいずれかでWindowsペアリングキーをコピーします。

    • Windowsのpsexec -s -i regedit.exeを使用する(難しい)

      1. コントロールパネルの[デバイスとプリンター]に移動し、Bluetoothデバイスのプロパティに移動します。次に、Bluetoothセクションで、一意の識別子を見つけることができます。コピーします(後で必要になります)。
      2. http://technet.Microsoft.com/en-us/sysinternals/bb897553.aspx からPsExecをダウンロードします。
      3. ダウンロードしたZipを解凍し、管理者特権でcmdウィンドウを開きます。 ([スタート]メニューをクリックしてcmdを検索し、CMDを右クリックして[管理者として実行]をクリックします。)
      4. ダウンロードを解凍したフォルダーにcdします。
      5. psexec -s -i regedit.exeを実行します
      6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keysに移動してキーを見つけます。 CurrentControlSetがない場合は、ControlSet001を試してください。 ->
      7. MACアドレスの付いたいくつかのキーラベルが表示されます。以前にコピーした一意の識別子に関連付けられているMACアドレスを書き留めます。
    • linuxディストリビューションからchntpwを使用します(より簡単)。ターミナルから始めてください:

      1. Sudo apt-get install chntpw
      2. windowsシステムドライブをマウントする
      3. cd /[WindowsSystemDrive]/Windows/System32/config
      4. chntpw -e SYSTEMはコンソールを開きます
      5. そのコンソールで次のコマンドを実行します。

        > cd CurrentControlSet\Services\BTHPORT\Parameters\Keys
        > # if there is 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 the 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デバイスのMACアドレスがどのペアリングキーと一致するかをメモします。 Mint/Ubuntuの場合、間にスペースを入れる必要はありません。 :00000は無視してください。

  4. Linuxに戻って(Linuxにない場合)、WindowsキーをLinux構成エントリに追加します。 WindowsからLinuxに移動すると、BluetoothポートのMACアドレスのフォーマットが異なることに注意してください。上記の例では、Windowsではaa1122334455として参照されています。 Linuxバージョンはすべて大文字で、2文字ごとに「:」で区切られます(例:AA:11:22:33:44:55)。 Linuxのバージョンに基づいて、次のいずれかを実行できます。

    • ミント18/16.04より前は、次のことができます。

      1. Sudo edit /var/lib/bluetooth/[MAC address of Bluetooth]/linkkeys-[BluetoothのMACアドレス]が、その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. bluetooth構成の場所にcdします/var/lib/bluetooth/[bth port MAC addresses]
      3. ここには、ペアリングした各デバイスのフォルダーがあります。フォルダ名はBluetoothデバイスのMACアドレスであり、単一のファイルinfoが含まれています。これらのファイルには、次のようにWindowsのものと置き換える必要のあるリンクキーが表示されます。

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. アップデートが完了したら、次のいずれかの方法でBluetoothサービスを再起動すると機能します!
    • Ubuntu/Mint:Sudo /etc/init.d/bluetooth restart
    • Archの場合:Sudo systemctl restart bluetooth-mesh
    • または、マシンをLinuxで再起動します
  6. Windowsで再起動します-機能します!
  7. これで問題が解決した場合は賛成投票してください。
118

WindowsでBluetoothデバイスのキーを取得したら、簡単に設定、Bluetoothに移動してキーを取得できます。難しいのは、Linuxで変更することです。私はubuntuを使用しています。

gksuをインストールして管理者権限を取得するには、次のコマンドを入力します。Sudo apt-get install gks

インストールしたら、ALT + F2を押してgksu nautilusと入力する必要があります(必要なものだけを変更するように注意してください。そうしないと、OSに損傷を与える可能性があります)。

ここで、上記の回答パスに続くファイルの特定の場所に移動すると、Infoというファイルが見つかり、それを開いてキーを変更します。 Bluetoothを再起動するか、PCを再起動して完了します。悪い英語と文法の場合は申し訳ありませんが、私はそれをチェックするのが面倒でした。

0
Omar Alcazar