Windows 7/10とLinux Mint/Ubuntuをデュアルブートすると、Bluetoothデバイスを何度もペアリングし直す必要がある場合があります。これは、OSを切り替えるたびに発生します。
さて、どうやってこれを防ぐのですか?
Ubuntu 14.4とLinux Mint 17.2、17.3、そしてLinux Mint 18 .xでテストされた次のガイドで自分の質問に答えています。
基本的に、デバイスをペアリングすると、Bluetoothサービスは一意のペアリングキーのセットを生成します。まず、コンピュータにBluetoothデバイスのMACアドレスとペアリングキーが保存されます。次に、BluetoothデバイスはコンピューターのMACアドレスと一致するキーを保存します。これは通常は正常に動作しますが、BluetoothポートのMACアドレスはLinuxとWindowsの両方で同じになります(ハードウェアレベルで設定されます)。したがって、WindowsまたはLinuxでデバイスを再ペアリングして新しいキーを生成すると、そのキーはBluetoothデバイスに以前に保存されたキーを上書きします。 WindowsはLinuxキーを上書きし、その逆も同様です。
以下の手順を使用して、まずBluetoothデバイスをUbuntu/Linux Mintとペアリングし、次にWindowsをペアリングします。次に、Linuxシステムに戻り、Windowsで生成されたペアリングキーをLinuxシステムにコピーします。
次の2つの方法のいずれかでWindowsペアリングキーをコピーします。
Windowsのpsexec -s -i regedit.exe
を使用する(難しい)
cmd
を検索し、CMDを右クリックして[管理者として実行]をクリックします。)psexec -s -i regedit.exe
を実行しますHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\BTHPORT\Parameters\Keys
に移動してキーを見つけます。 CurrentControlSet
がない場合は、ControlSet001
を試してください。 ->linuxディストリビューションからchntpw
を使用します(より簡単)。ターミナルから始めてください:
Sudo apt-get install chntpw
cd /[WindowsSystemDrive]/Windows/System32/config
chntpw -e SYSTEM
はコンソールを開きますそのコンソールで次のコマンドを実行します。
> 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
どのBluetoothデバイスのMACアドレスがどのペアリングキーと一致するかをメモします。 Mint/Ubuntuの場合、間にスペースを入れる必要はありません。 :00000
は無視してください。
Linuxに戻って(Linuxにない場合)、WindowsキーをLinux構成エントリに追加します。 WindowsからLinuxに移動すると、BluetoothポートのMACアドレスのフォーマットが異なることに注意してください。上記の例では、Windowsではaa1122334455として参照されています。 Linuxバージョンはすべて大文字で、2文字ごとに「:」で区切られます(例:AA:11:22:33:44:55)。 Linuxのバージョンに基づいて、次のいずれかを実行できます。
ミント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
Mint 18(およびUbuntu 16.04)では、これを行う必要がある場合があります。
su -
/var/lib/bluetooth/[bth port MAC addresses]
ここには、ペアリングした各デバイスのフォルダーがあります。フォルダ名はBluetoothデバイスのMACアドレスであり、単一のファイルinfo
が含まれています。これらのファイルには、次のようにWindowsのものと置き換える必要のあるリンクキーが表示されます。
[LinkKey]
Key=B99999999FFFFFFFFF999999999FFFFF
Sudo /etc/init.d/bluetooth restart
Sudo systemctl restart bluetooth-mesh
WindowsでBluetoothデバイスのキーを取得したら、簡単に設定、Bluetoothに移動してキーを取得できます。難しいのは、Linuxで変更することです。私はubuntuを使用しています。
gksuをインストールして管理者権限を取得するには、次のコマンドを入力します。Sudo apt-get install gks
インストールしたら、ALT + F2を押してgksu nautilusと入力する必要があります(必要なものだけを変更するように注意してください。そうしないと、OSに損傷を与える可能性があります)。
ここで、上記の回答パスに続くファイルの特定の場所に移動すると、Infoというファイルが見つかり、それを開いてキーを変更します。 Bluetoothを再起動するか、PCを再起動して完了します。悪い英語と文法の場合は申し訳ありませんが、私はそれをチェックするのが面倒でした。