Windows の Bluetooth を直す
(画像は煽っているわけではなく本当にこうなりました)
Windows で Bluetooth が前触れもなく使えなくなることを何度か経験しました。その際の対処をメモしておきます。
過去どうしたかは忘れてしまったのでとりあえず 1 つだけ。
パターン 1 : Windows Update 直後の場合
Windows Update の直後に Bluetooth が使えなくなった場合、次の方法で直る事があります。
DISM /online /get-packages
コマンドで、インストールされているパッケージの一覧を取得。DISM /online /Remove-Package /PackageName:xxx
コマンドで、Wi-Fi 関連のパッケージを削除。- デバイスマネージャーでデバイスをアンインストール。
少しだけ詳しく見ていきます。
原因の推測
Windows Update について、自分の時はこれの直後に動かなくなりました。ここには Bluetooth の更新が含まれる旨が書かれていたため、怪しいと考えました。
対処
そこで、DISM /online /get-packages
を実行し、インストールされたパッケージの一覧を取得します。次のような形で表示されます。
PS C:\Users\xxxxx> DISM /online /get-packages
展開イメージのサービスと管理ツール
バージョン: 10.0.22621.2792
イメージのバージョン: 10.0.22631.3155
パッケージの一覧:
パッケージ ID : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3007
状態 : 置き換え済み
リリースの種類 : OnDemand Pack
インストール時刻 : 2024/01/17 23:14
パッケージ ID : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3085
状態 : 置き換え済み
リリースの種類 : OnDemand Pack
インストール時刻 : 2024/01/28 23:35
パッケージ ID : Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3155
状態 : インストール済み
リリースの種類 : OnDemand Pack
インストール時刻 : 2024/02/17 12:57
...
次に、パッケージの一覧部分をお好きなテキストエディタにコピペし、Wi-Fi と名のついたパッケージの ID を抽出します。Bluetooth ではなく Wi-Fi なのは、Bluetooth のソフトウェアが Wi-Fi のソフトウェアと一緒くたに配信されている事があるという経験則からです。
/PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.2861
/PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3007
/PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3085
...
あとはこれを DISM /online /Remove-Package /PackageName:xxx /PackageName:yyy...
コマンドに加工します。
DISM /online /Remove-Package /PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.2861 /PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3007 /PackageName:Microsoft-Windows-Wifi-Client-Broadcom-Bcmpciedhd63-FOD-Package~31bf3856ad364e35~amd64~~10.0.22621.3085 /PackageName...
結構すごい量になってドキドキしますが、管理者権限の cmd などでエイヤと実行します。
この後、デバイスマネージャーで Bluetooth アダプタをアンインストールすると直りました。
恐らくアンインストールで PnP によるドライバインストールがトリガーされ、壊れていなかった頃のドライバがインストールされたののではないかと思います。
DISM
コマンドについて
本来は Windows のイメージを操作するためのコマンドですが、Windows Update のパッケージを削除することもできるようです。
今回の修正作業では、次の事を覚えておけば対応できます。
/online
は現在の Windows のアップデート環境を指す指定子。明示的に指定する場合は/Image:C:\test\offline
など。- インストール済みのパッケージ名は
DISM /online /get-packages
で一覧可能。 DISM /online /Remove-Package /PackageName:xxx /PackageName:yyy...
で一括削除が可能。- 素の cmd は長いコマンドを切り、失敗してしまう事があるので Windows Terminal から実行すると安心。
パターン 2 : 何もしていないのに壊れた場合
本当に何もしていない場合、コールドリブートが有効かもしれません。Bluetooth のトラブルシューティング ツール(Windows 10 以降で機能します)を実行すると、最終的に次のような案内が出ることがあります。これはコールドリブートと呼ばれる操作で、各コンポーネントの状態が完全にリセットされるようです。
Windows 8 以降では電源を抜かないシャットダウン方法としてシャットダウン・完全シャットダウンの2種類があるそうですが、それらとコールドリブートの違いは不明です。なんらかの揮発性メモリに残る何かが消えるのだろうとは思いますが、少し調べてみてもわからず。
おわりに
また手元で Bluetooth が止まったら追記します。
2024年2月27日