Windows7/10とLinuxMint/ Ubuntuをデュアルブートする場合、Bluetoothデバイスを何度も再ペアリングする必要がある場合があります。これは、OSを切り替えるたびに発生します。
では、どうすればこれを防ぐことができますか?
私は、Ubuntu14.4とLinuxMint 17.2、17.3、そして現在はLinuxMint18でテストされている次のガイドで自分の質問に答えています。x 。
承認された回答:
なぜこれが起こるのですか?
基本的に、デバイスをペアリングすると、Bluetoothサービスは一意のペアリングキーのセットを生成します。まず、コンピュータにBluetoothデバイスのMACアドレスとペアリングキーが保存されます。次に、BluetoothデバイスはコンピュータのMACアドレスと一致するキーを保存します。これは通常は正常に機能しますが、BluetoothポートのMACアドレスはLinuxとWindowsの両方で同じになります(ハードウェアレベルで設定されます)。したがって、WindowsまたはLinuxでデバイスを再ペアリングし、新しいキーを生成すると、そのキーがBluetoothデバイスに以前に保存されたキーを上書きします。 WindowsはLinuxキーを上書きし、その逆も同様です。
Bluetooth LEデバイス: これらは異なるペアになる場合があります。自分自身を調査したことはありませんが、これはデュアルブートBluetooth LE(低エネルギー)デバイスのペアリングに役立つ可能性があります
修正方法
以下の手順を使用して、最初にBluetoothデバイスをUbuntu / Linux Mintとペアリングし、次にWindowsをペアリングします。次に、Linuxシステムに戻り、Windowsで生成されたペアリングキーをLinuxシステムにコピーします。
- すべてのデバイスをMint/Ubuntuとペアリングします
- すべてのデバイスをWindowsとペアリングします
- 次の2つの方法のいずれかでWindowsペアリングキーをコピーします。
-
psexec -s -i regedit.exe
を使用します Windowsから(難しい)- コントロールパネルの[デバイスとプリンタ]に移動し、Bluetoothデバイスのプロパティに移動します。次に、Bluetoothセクションで一意の識別子を見つけることができます。それをコピーします(後で必要になります)。
- http://technet.microsoft.com/en-us/sysinternals/bb897553.aspxからPsExecをダウンロードします。
- ダウンロードしたzipを解凍し、管理者特権でcmdウィンドウを開きます。 ([スタート]メニューをクリックして、
cmd
を検索します 、次にCMDを右クリックし、[管理者として実行]をクリックします。) - ダウンロードを解凍したフォルダにcdします。
-
psexec -s -i regedit.exe
を実行します -
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesBTHPORTParametersKeys
でキーを見つけるためにナビゲートします 。
CurrentControlSet
がない場合 、ControlSet001
を試してください 。 - MACアドレスが記載されたキーラベルがいくつか表示されます。前にコピーした一意の識別子に関連付けられているMACアドレスを書き留めてください。
-
chntpw
を使用する Linuxディストリビューションから(簡単)。ターミナルで開始し、次のようにします。-
sudo apt-get install chntpw
-
Windowsシステムドライブをマウントする
-
cd /[WindowsSystemDrive]/Windows/System32/config
-
chntpw -e SYSTEM
コンソールを開きます -
そのコンソールで次のコマンドを実行します:
> cd CurrentControlSetServicesBTHPORTParametersKeys > # 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
-
どのBluetoothデバイスのMACアドレスがどのペアリングキーと一致するかをメモします。 Mint / Ubuntuの場合、間にスペースは必要ありません。
:00000
を無視します 。
-
-
- Linuxに戻り(Linuxでない場合)、WindowsキーをLinux構成エントリに追加します。 WindowsからLinuxに移行する場合、BluetoothポートのMACアドレスの形式が異なることに注意してください。上記の例ではWindowsでaa1122334455と呼ばれています。
Linuxバージョンはすべて大文字で、2文字ごとに「:」で区切られます。 –たとえば、AA:11:22:33:44:55。
Linuxのバージョンに基づいて、次のいずれかを実行できます。- Mint 18 / 16.04より前は、次のことができました。
-
sudo edit /var/lib/bluetooth/[MAC address of Bluetooth]/linkkeys
–[BluetoothのMACアドレス]はそのBluetoothフォルダ内の唯一のフォルダである必要があります。 -
このファイルは次のようになります。
[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
-
Linuxのペアリングキーを、スペースを除いたWindowsのペアリングキーに変更します。
-
- Mint 18(およびUbuntu 16.04)では、次のことを行う必要があります。
-
ルートに切り替えます:
su -
-
Bluetooth設定の場所にcdします
/var/lib/bluetooth/[bth port MAC addresses]
-
ここには、ペアリングした各デバイスのフォルダがあります。 BluetoothデバイスのMACアドレスであるフォルダ名には、単一のファイル
info
が含まれています 。これらのファイルには、次のように、Windowsのものと置き換える必要のあるリンクキーが表示されます。[LinkKey] Key=B99999999FFFFFFFFF999999999FFFFF
-
- Mint 18 / 16.04より前は、次のことができました。
- 更新したら、次のいずれかの方法でBluetoothサービスを再起動すると、機能します!
-
Ubuntu、Mint、Arch:
sudo systemctl restart Bluetooth
-
または、マシンをLinuxで再起動します。
-
- Windowsで再起動–動作します!