WindowsでCOMポート番号をクリーンアップ・リセットする方法を徹底解説
パソコンに新しいCOMデバイスやUSBデバイス(USBモデム、スマートフォン、Bluetoothアダプター、USB-シリアル変換ケーブルなど)を接続すると、Windowsはプラグアンドプレイ機能でこれを自動検出し、1〜255の範囲内でCOMポート番号(COM1、COM2、COM3など)を割り当てます。同じデバイスを再接続した場合には、以前に予約されたCOM(Communication/Serial)ポート番号がそのまま使われ、新規デバイスには空いている最初の番号が振られます。
また、外部デバイスを1台接続するだけで、複数のCOMポートが同時に作成されるケースも少なくありません。筆者の環境では、Bluetoothアダプターを接続しただけで10個もの新しいCOMポートがシステムに追加されてしまいました。
ここで問題になるのが、古いアプリケーションの存在です。レガシーなソフトウェアの中には、2桁までのCOMポート番号しか扱えず、COM100以上のポートに対応していないものがあります。最悪の場合、COM1〜COM9でしか動作しないプログラムも存在します。目的のデバイスに大きな番号が割り当てられてしまった場合、予約済みCOMポートの番号付けをリセットしたり、不要なポート割り当てを削除したりすることはできるのでしょうか。
- WindowsでデバイスのCOMポート番号を変更する方法
- シリアルCOMポートを使用しているプロセスを特定する方法
- WindowsレジストリでCOMポート番号をリセットする方法
WindowsでデバイスのCOMポート番号を変更する方法
Windowsでは、デバイスに割り当てられたCOMポート番号を手動で変更できます。必要なCOMポートがすでに使用中で、それを解放したい場合の手順を見ていきましょう。
devmgmt.mscコマンドを実行してデバイスマネージャーを開きます。- メニューから「表示」→「非表示のデバイスの表示」を選択します。

- 「ポート(COM と LPT)」を展開し、一覧から対象のデバイスを探します。
- 「ポートの設定」タブを開き、「詳細設定」ボタンをクリックします。
- 現在割り当てられているCOMポート番号は、「COMポート番号」フィールドで確認できます。
- 変更するには、ドロップダウンリストを開いて希望するCOMポート番号を選択します。

ただし実際には、番号の小さいCOMポートがすべて使用中のため、ハードウェアのプロパティから別のポート番号へ変更できないことがほとんどです。そのような場合は、COMポートの予約自体を解除することを試みましょう。
- 「ポート(COM と LPT)」ブランチを展開し、目的のCOMポート番号がどのデバイスに割り当てられているかを確認します(アイコンが薄く表示されている場合、そのCOMポートは予約済みですが、デバイスは現在接続されていないことを意味します)。
- 対象を右クリックして「デバイスのアンインストール」を選択します。

- これで解放されたCOMポートを別のデバイスに割り当てられます。対象デバイスのプロパティを再度開き、「ポートの設定」→「詳細設定」と進み、ドロップダウンリストから空いているCOMポートを選択してください。

とはいえ、この方法ですべてのケースで使用中のCOMポートを解放できるわけではありません。
Windows上で使用中のCOMポートの一覧は、PowerShellを使って取得できます。
Get-WMIObject Win32_SerialPort | Select-Object Name,DeviceID,Description
デバイス名を指定して、特定デバイスのCOMポート番号を調べることも可能です。例えば次のように実行します。
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*Arduino*"} | select name, deviceid
または
Get-WMIObject Win32_SerialPort | Where-Object { $_.Name -like "*GPS*"} | select name, deviceid
WindowsでシリアルCOMポートを使用しているプロセスを特定する方法
Windowsや実行中のプログラム(プロセス)が使用しているCOMポートは、そのままでは解放できません。まず、そのCOMポートを使用しているプロセスを停止する必要があります。どのプロセスが特定のCOMポート番号を掴んでいるのかを調べるには、Sysinternals製のProcess Explorerツールが便利です(https://docs.microsoft.com/en-gb/sysinternals/downloads/process-explorer)。
まず、COMポートを使用しているサービス名を表示します。PowerShellで次のコマンドを実行してください。
get-pnpdevice -class Ports -ea 0 | Select Name, PNPDeviceID, Status, Service

各COMポートのサービス名は「Service」列に表示されます。例えばCOM2の場合はSerialです。続いて、Process Explorerを管理者として起動し、メニューから「Find」→「Find Handle or DLL」を選択します。「Handle or DLL substring」欄に、先ほど確認したServiceの値(この例ではSerial)を入力します。
するとProcess Explorerが、現在そのCOMポートを使用しているプロセス名を表示します。COMポートを解放するには、該当するプロセスやプログラムを終了させてください。

WindowsレジストリでCOMポート番号をリセットする方法
使用中のCOMポートに関する情報は、レジストリキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter配下のCommDB値に保存されています。
- レジストリエディター(
regedit.exe)を開き、上記のキーへ移動します。
重要:作業を始める前に、必ずこのレジストリキーのバックアップを作成してください(「ファイル」→「エクスポート」)。問題が発生した場合でも、元のCOMポート構成を復元できます。 - ComDB値はバイナリ形式で、Windows内で予約されているCOMポートの一覧を表します。各ビットが対応するポート(1〜255)の状態を示しています。例えば、COM3だけの予約を残したい場合、ComDBの16進数の値は04(0000 0100)となります。

重要:このパラメーターに余計なビットを追加しないよう十分注意してください。誤って編集すると、システムがブルースクリーン(BSOD)でクラッシュする可能性があります。 - すべてのCOMポートの割り当てをリセットしたい場合は、ComDBの値を0に変更します。

補足:Windowsに接続されているCOMポートの完全な一覧は、レジストリキーHKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMMで確認できます。SERIALCOMM以下のエントリは、基盤となるデバイスが接続され準備できている間のみ存在します。このサブキーはHARDWAREキーの一部であり、システム起動のたびに再作成されます。
- レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Portsには、割り当て済みの全COMポート番号の一覧が含まれています。ここで不要なポート予約を削除できます。この例ではCOM3だけを残し、それ以外のポートを削除します。

- すべての外部デバイスを取り外し、パソコンを再起動します。
- 再起動後、必要な順序でデバイスを接続し直し、USB-シリアル変換器などを再インストールします。検出されたすべてのCOMポートデバイスはシステムによって自動認識され、連続したCOMポート番号が割り当てられます。
また、予約済みCOMポートのクリーンアップには、以下の無料ツールを利用する方法もあります。
- COM Name Arbiter Tool:COMポートの予約をリセットし、使用中のCOMポート番号を調べるためのツールです。ダウンロードして管理者として実行し、解放したいCOMポートを選択して「Clear unused Reservations」および「Remove non-present devices」をクリックします。

- Device Cleanup Tool:過去に接続されたデバイスの情報をレジストリ(
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum)から検索し、未使用デバイスの削除とCOMポート予約のクリアを行えるユーティリティです。
-
Windows 11を出荷時設定にリセット(初期化)する方法
Windows 11のファクトリーリセット(出荷時設定への復元)は、PC内のデータをまっさらにできる強力な機能です。さまざまなWindowsの不具合に対する最終手段として活用されるほか、PCを新品同様の状態で使い直したいとき、特に他の解決策では対応できないケースにも役立ちます。 ご安心ください。手順はそれほど複雑ではなく、所要時間も数分程度です。それでは早速、出荷時リセットの手順を見ていきましょう。 Windows 11を出荷時設定にリセットする手順 まず、リセット作業を始める前に、バックアップを作成しておくことを強くおすすめします。万が一途中で問題が発生しても、バックアップがあれば大切なデー
-
Windows 11でWindowsセキュリティをリセットする3つの簡単な方法
Windows セキュリティは、Windows 11 デバイスと個人情報を守るための総合的なセキュリティセンターです。しかし、アプリが不具合を起こしたり、稀には起動しなくなったりすることもあります。そのような場合は、Windows セキュリティをリセットしましょう。リセットを実行すると、すべての設定が工場出荷時の既定値に戻ります。リセット後のアプリは、最初にパソコンで起動したときとまったく同じ状態で動作・表示されます。アプリの再インストールに似ていますが、リセットの方が短時間で完了し、ダウンロードし直す必要もありません。ここでは、Windows 11 の Windows セキュリティをリセット