Windows の Bluetooth を直す

(画像は煽っているわけではなく本当にこうなりました)

Windows で Bluetooth が前触れもなく使えなくなることを何度か経験しました。その際の対処をメモしておきます。

過去どうしたかは忘れてしまったのでとりあえず 1 つだけ。

パターン 1 : Windows Update 直後の場合

Windows Update の直後に Bluetooth が使えなくなった場合、次の方法で直る事があります。

  1. DISM /online /get-packages コマンドで、インストールされているパッケージの一覧を取得。
  2. DISM /online /Remove-Package /PackageName:xxx コマンドで、Wi-Fi 関連のパッケージを削除。
  3. デバイスマネージャーでデバイスをアンインストール。

少しだけ詳しく見ていきます。

原因の推測

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 のパッケージを削除することもできるようです。

DISM の概要 | Microsoft Learn

今回の修正作業では、次の事を覚えておけば対応できます。

パターン 2 : 何もしていないのに壊れた場合

本当に何もしていない場合、コールドリブートが有効かもしれません。Bluetooth のトラブルシューティング ツール(Windows 10 以降で機能します)を実行すると、最終的に次のような案内が出ることがあります。これはコールドリブートと呼ばれる操作で、各コンポーネントの状態が完全にリセットされるようです。

Windows 8 以降では電源を抜かないシャットダウン方法としてシャットダウン・完全シャットダウンの2種類があるそうですが、それらとコールドリブートの違いは不明です。なんらかの揮発性メモリに残る何かが消えるのだろうとは思いますが、少し調べてみてもわからず。

おわりに

また手元で Bluetooth が止まったら追記します。

2024年2月27日