ゴーストデバイスとは?Windowsに残る見えないデバイス情報の正体と削除方法を徹底解説

プログラミング・IT

パソコンに様々なUSB機器を接続したり取り外したりを繰り返していると、いつの間にかシステムの動作が不安定になったり、新しいデバイスが正常に認識されなくなったりすることがあります。
その原因の一つが「ゴーストデバイス」と呼ばれる、Windowsのシステムに残り続ける過去のデバイス情報です。
この記事では、ゴーストデバイスの正体、発生する理由、そして適切な対処方法を詳しく解説します。

スポンサーリンク

ゴーストデバイスとは

ゴーストデバイス(Ghost Device)とは、Windowsのデバイスマネージャーに記録されているものの、現在はコンピュータに接続されていないハードウェアデバイスの情報のことです。

英語では「Non-Present Device(非存在デバイス)」「Phantom Device(ファントムデバイス)」とも呼ばれます。

Weblio英和辞典では「非実体デバイス」と訳され、「もはやインストールされていない、または接続されていないにもかかわらず、コンピュータによって検出されるデバイス」と定義されています。

ゴーストデバイスの特徴

通常、デバイスマネージャーを開いても、ゴーストデバイスは表示されません。

「表示」メニューから「非表示のデバイスの表示」を選択することで、初めて確認できます。

ゴーストデバイスは、アイコンが薄く半透明(グレーアウト)で表示されるのが特徴です。

ゴーストデバイスが発生する原因

ハードウェアの接続と取り外し

Windowsは、デバイスが接続されるたびに、レジストリにそのデバイスの情報を記録します。

USBメモリ、外付けハードディスク、マウス、キーボード、プリンター、スマートフォンなど、様々なデバイスを接続するたびに、その情報がシステムに蓄積されていきます。

デバイスを取り外しても、Windowsはその情報を自動的には削除しません。

これは、同じデバイスを再接続したときに、迅速に認識できるようにするためです。

仮想デバイスの作成と削除

仮想化ソフトウェア(VMware、VirtualBoxなど)を使用すると、仮想ネットワークアダプタなどの仮想デバイスが作成されます。

これらの仮想デバイスも、削除後にゴーストデバイスとして残る場合があります。

ドライバーの更新や再インストール

グラフィックカード、サウンドカードなどのドライバーを更新すると、古いドライバー情報がゴーストデバイスとして残ることがあります。

NVIDIAやAMDのグラフィックドライバーを複数回更新した場合、多数のゴーストデバイスが蓄積される可能性があります。

Azure仮想マシンでの特殊なケース

Microsoft Learnによると、Azure仮想マシン(VM)では、高速ネットワークを使用している場合に特有のゴーストデバイスの問題が発生します。

VMを停止して起動すると、新しい物理サーバーに配置され、別のハードウェアMACアドレスが割り当てられます。

高速ネットワークではパフォーマンスのために仮想スイッチがバイパスされるため、オペレーティングシステムは以前のMACアドレスを再利用できません。

その結果、古いNIC(ネットワークインターフェースカード)がゴーストデバイスになります。

500を超えるゴーストNICがある場合、VMに大きな悪影響があります。

VMwareのVMXNet3の問題

Citrixのサポートページによると、VMXNet3ネットワークデバイスは、新しいインスタンスごとに完全に別のデバイスとして検出されます。

E1000互換デバイスとは異なり、デバイスノードを再利用しないため、新しいMACアドレスごとに新しいデバイス検出が行われます。

そのため、これらのデバイスがレジストリに非存在デバイスとして蓄積されていきます。

ゴーストデバイスが引き起こす問題

デバイスの認識エラー

ゴーストデバイスが蓄積すると、新しいデバイスを接続したときに正常に認識されないことがあります。

特に、USB機器やネットワークアダプタで問題が発生しやすくなります。

リソースの競合

ゴーストデバイスは、ポート番号、SCSI ID、ターゲット、LUN(論理ユニット番号)などのリソース情報を保持しています。

これらの情報が、現在アクティブなデバイスと競合する可能性があります。

Veritasのサポート記事によると、NetBackupでデバイス検出ウィザードを実行すると、物理的には10台しかないテープドライブが20台リストされることがあります。

これは、ゴーストデバイスから誤った情報が取得されているためです。

ハードウェアの不安定性

リソースの競合により、ハードウェアの動作が不安定になることがあります。

Windows Updateの問題

Azure VMの場合、ゴーストNICが接続、パフォーマンス、Windows Update、その他の問題の原因になる可能性があります。

デバイスマネージャーの混乱

デバイスマネージャーが多数のゴーストデバイスで混雑すると、トラブルシューティングが困難になります。

ゴーストデバイスの確認方法

Windows 8以降の場合

Windows 8以降では、環境変数を設定しなくても、デバイスマネージャーで非表示のデバイスを表示できます。

  1. デバイスマネージャーを開く
  2. 「表示」メニューをクリック
  3. 「非表示のデバイスの表示」を選択

グレーアウト(半透明)で表示されているデバイスがゴーストデバイスです。

Windows 7以前の場合

Windows 7以前では、環境変数を設定する必要があります。

方法1: コマンドプロンプトを使用

  1. 管理者権限でコマンドプロンプトを開く
  2. 以下のコマンドを実行:
set devmgr_show_nonpresent_devices=1
start devmgmt.msc
  1. デバイスマネージャーが開いたら、「表示」→「非表示のデバイスの表示」を選択

方法2: 環境変数を永続的に設定

  1. 「マイコンピュータ」を右クリックし、「プロパティ」を選択
  2. 「詳細設定」タブをクリック
  3. 「環境変数」ボタンをクリック
  4. 「システム環境変数」セクションで「新規」をクリック
  5. 変数名: devmgr_show_nonpresent_devices
  6. 変数値: 1
  7. OKをクリックして設定を保存

この設定により、デバイスマネージャーを開くたびに非表示のデバイスを確認できるようになります。

キーボードショートカット

Windows 10以降では、以下のキーシーケンスで素早く表示できます。

Win + X → M → Alt + V → W

このショートカットで、Win+Xメニューを開き、デバイスマネージャーを開き、表示メニューから「非表示のデバイスの表示」を切り替えられます。

ゴーストデバイスの削除方法

手動削除

デバイスマネージャーでゴーストデバイス(グレーアウトされたデバイス)を右クリックし、「アンインストール」を選択します。

ただし、現在使用中のデバイスを誤って削除しないように注意が必要です。

実際には、使用中のデバイスを削除対象にしても、削除は実行されません。

専用ツールを使用した削除

手動での削除が面倒な場合、専用ツールを使用すると効率的です。

GhostBuster

GhostBusterは、ゴーストデバイスを検出して削除できる無料ツールです。

主な特徴:

  • 過去に接続したデバイスを一覧表示
  • 現在使われていないデバイスを分かりやすくハイライト
  • ワイルドカードを使ってデバイス名を一括選択可能
  • 処理前に復元ポイントを作成する機能

使い方:

  1. GhostBusterを管理者として実行
  2. ゴーストデバイス(Status: Ghosted)を選択
  3. 「Remove Ghosts」をクリック

Device Cleanup Tool

Device Cleanup Toolは、ワンクリックでゴーストデバイスを一括削除できるツールです。

使い方:

  1. x64版Toolを管理者として実行
  2. すべてのゴーストデバイス(グレーアウトされた項目)が表示される
  3. 「Devices」→「Select all」
  4. 「Devices」→「Remove selected」

devcon(Microsoftの公式ツール)

devconは、Microsoftが提供するコマンドラインツールです。

ただし、デバイスの状態が「Status: Unknown」になっているゴーストデバイスは、devconでも削除できない場合があります。

レジストリを直接編集する方法(上級者向け)

通常の方法で削除できない深刻なゴーストデバイスの場合、レジストリを直接編集する必要があります。

警告: レジストリの編集は慎重に行う必要があります。
誤った操作はシステムを破損させる可能性があります。

  1. PsExecを使用してregeditをSYSTEM権限で開く
  2. 該当するデバイスのレジストリキーを削除

この方法は、通常のAdministrator権限では削除できない、SYSTEMが所有するレジストリキーを削除する場合に使用します。

ゴーストデバイスの削除時の注意事項

削除してはいけないデバイス

以下のデバイスは、たとえゴーストデバイスとして表示されていても、削除してはいけません。

  • プラグアンドプレイでないデバイス: プリンター、非PnPドライバーなど
  • セットアップクラスがNoDisplayClassとして登録されているデバイス
  • ノートパソコンのドッキングステーションに接続されているデバイス: ドッキングステーションを再接続したときに必要

削除しても安全なデバイス

以下のデバイスは、通常削除しても問題ありません。

  • 過去に接続したUSBメモリ、外付けHDD
  • 使用しなくなった古いマウス、キーボード
  • 接続を解除したスマートフォン、タブレット
  • アンインストールしたソフトウェアの仮想デバイス
  • 更新前の古いグラフィックドライバー

削除後の対応

デバイスを削除した後、コンピュータを再起動することを推奨します。

再起動後、新しいゴーストエントリが作成されていないか確認してください。

必要に応じて、NetBackupなどのアプリケーションで使用していたデバイスを削除して再追加する必要があるかもしれません。

Windowsバージョンごとの違い

Windows 2000

起動済みで動作しているデバイスのみ非表示にできました。

Windows XP以降

破損したデバイスも非表示にできるようになりました。

Windows 7以前

環境変数devmgr_show_nonpresent_devicesを設定する必要がありました。

コマンドプロンプトウィンドウを閉じると、この変数がクリアされ、次回デバイスマネージャーを開いたときにゴーストデバイスが表示されなくなります。

Windows 8以降

環境変数を設定しなくても、デバイスマネージャーで「非表示のデバイスの表示」を選択するだけで、グレーアウトされた非存在デバイスも自動的に表示されるようになりました。

Windows 10 20H2での特殊な問題

Windows 10 Forumでの報告によると、Windows 10 20H2のクリーンインストール後、デバイスマネージャーに多数のゴーストデバイスが表示される問題が報告されています。

これらには以下が含まれます:

  • フロッピードライブとコントローラー
  • PS/2マウスとキーボード
  • 2つのCOMポート
  • IDEコントローラー
  • Intel 82371AB/EB IDE bus master controller
  • 多数のMicrosoft Hyper-Vデバイス

これらのゴーストデバイスは、すべて2020年9月27日(20H2のリリース日)にインストール日が設定されています。

サービスにも6〜7個のHyper-V Guest Integrationサービスがインストールされています。

この問題は、Microsoftがインストールメディアを作成する前に、デバイスとサービスをクリーンアップするのを忘れたためと考えられています。

ゴーストデバイスの予防策

不要なデバイスの定期的な削除

定期的にゴーストデバイスを確認し、不要なものを削除することで、システムを健全な状態に保てます。

仮想化環境での対策

VMware環境では、可能であればE1000互換ネットワークアダプタを使用することで、VMXNet3のゴーストデバイス問題を回避できます。

Azure VMでの対策

Azure VMでは、OS内からシャットダウンするのではなく、Azure Portalまたはcliで割り当て解除を行うことで、ゴーストNICの問題を防げます。

まとめ

ゴーストデバイスは、Windowsのデバイスマネージャーに記録されているものの、現在は接続されていないハードウェアデバイスの情報です。

USB機器、仮想デバイス、ドライバーの更新などにより、時間とともに蓄積されていきます。

ゴーストデバイスが多く蓄積すると、デバイスの認識エラー、リソースの競合、ハードウェアの不安定性などの問題を引き起こす可能性があります。

Windows 8以降では、デバイスマネージャーの「表示」メニューから「非表示のデバイスの表示」を選択することで、グレーアウトされたゴーストデバイスを確認できます。

Windows 7以前では、環境変数devmgr_show_nonpresent_devicesを設定する必要があります。

ゴーストデバイスは、デバイスマネージャーから手動で削除するか、GhostBusterやDevice Cleanup Toolなどの専用ツールを使って効率的に削除できます。

ただし、プラグアンドプレイでないデバイスや、ノートパソコンのドッキングステーションに接続されているデバイスなど、削除してはいけないゴーストデバイスもあるので注意が必要です。

定期的にゴーストデバイスを確認し、不要なものを削除することで、Windowsシステムを健全な状態に保つことができます。

特にデバイスの接続と取り外しを頻繁に行う環境や、仮想化環境、Azure VMなどでは、ゴーストデバイスの管理が重要になります。

参考情報

※この記事は2026年2月6日時点の情報に基づいています

コメント

タイトルとURLをコピーしました