Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策

WindowsでUSBポートにデバイスや周辺機器を接続した際に「USBコントローラーのリソースが不足しています(Not Enough USB Controller Resources)」というエラーが表示されるケースがあります。特にUSB 3.0ポートで発生しやすいと報告されており、Windows 7、Windows 8.1、Windows 10など、特定のバージョンに限らず幅広い環境で見られる問題です。

「USBコントローラーのリソースが不足しています」エラーの原因

さまざまなユーザー報告や解決事例を調査したところ、このエラーは電力や帯域幅の不足ではなく、USBエンドポイント(EndPoint)の上限に達していることが原因であるケースがほとんどであることがわかりました。まずはUSBエンドポイントについて簡単に解説します。

USBエンドポイントとは?

エンドポイントとは、USB通信における最も基本的な単位です。データは必ず一方向にのみ流れる仕組みになっており、ホスト側(パソコン)からデバイスへ向かう「OUT」と、デバイスからホスト側へ向かう「IN」の2種類が存在します。

USBデバイスを接続すると、パソコンはそのデバイスとの間に複数のエンドポイント(チャンネル)を作成します。一般的なUSBメモリでは3〜4個程度ですが、VRヘッドセットや7.1chヘッドセットなどのデバイスでは、最大10個前後のIN・OUTエンドポイントを使用する場合があります。

この仕組みを踏まえると、「USBコントローラーのリソースが不足しています」エラーが発生する主な状況は以下の3つです。

  • USBコントローラーの上限を超えている – 多くのUSBデバイスを接続してエンドポイントの総数が上限に達すると、このエラーが表示されます。Intel製XHCIコントローラーでは1コントローラーあたり96エンドポイント、AM4コントローラーでは254エンドポイントが上限です。
  • ポートごとのエンドポイント使用数が上限を超えている – 多くのUSBコントローラーは、ポートごとに「IN 16個・OUT 16個」の上限が設けられています。しかし、多くのデバイスは主にINエンドポイントを使用するため、思ったより早く上限に達してしまい、USBポートを十分に活用できません。
  • USBデバイスの消費電力が最大供給容量を超えている – ノートパソコンでこのエラーが発生する場合、USBポートからの給電容量を超えている可能性が高いです。この場合はセルフパワー式のUSBハブやドッキングステーションの利用で解決できます。

以下では、同様の状況で実際に効果があった対処法を紹介します。効率よく問題を解決するために、記載された順番に試してみることをおすすめします。

方法1:一部のデバイスをUSB 2.0ポートに移動する

USB 3.0コントローラーでこのエラーが発生している場合、一部のデバイスを従来のUSB 2.0ポートに移すことで回避できることがあります。VRヘッドセットや7.1chヘッドセットなど、多くのエンドポイントを使う機器は、高速な転送速度の恩恵を受けられるUSB 3.0ハブに接続したくなりますが、ハブ経由でも16個のINエンドポイント制限は変わらないため、わずかな接続ですぐに上限に達してしまいます。

「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策

そこで、転送速度をそれほど必要としない古いデバイスをUSB 2.0ポートに移動し、最も高速な転送速度が必要なデバイスだけをUSB 3.0ポートに残しましょう。エンドポイント数が16個を下回れば、エラーは表示されなくなるはずです。

方法2:セルフパワー式のUSBハブまたはドッキングステーションを使う

ノートパソコンでこの問題が発生している場合、原因はUSBポートから供給される電力の総量にある可能性があります。接続するデバイスの数を減らせない場合は、独立した電源を持つドッキングステーションやセルフパワー式USBハブ(Powered USB Hub)を導入することで解決できます。

「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策

ドッキングステーションは一般的に50ドル以上と高価ですが、安価な対策をお探しなら、15ドル前後で購入できるセルフパワー式USBハブでも十分対応可能です。

方法3:USBコントローラーを再インストールする

USBコントローラーのドライバーが正しくインストールされていない、または何らかの理由で破損している場合にも、このエラーが発生することがあります。デバイスマネージャーからUSBコントローラードライバーを再インストールすることで解決できる場合があります。

手順は以下の通りです。

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開き、「devmgmt.msc」と入力してEnterキーを押します。デバイスマネージャーが起動します。「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策
  2. デバイスマネージャー内で「ユニバーサル シリアル バス コントローラー」を展開し、USBホストコントローラーを右クリックして「デバイスのアンインストール」を選択します。ホストコントローラーが2つある場合は、両方ともアンインストールしてください。「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策
  3. パソコンを再起動します。次回の起動時に、Windowsが不足しているUSBホストコントローラーのドライバーを自動的に再インストールします。

再起動後もエラーが続く場合は、次の方法を試してください。

方法4:BIOS設定でxHCIモードを無効化する

最終手段として、BIOS設定でxHCIモードを無効にすることで、このエラーを解決できる可能性があります。ただし、この設定を行うとすべてのUSB 3.0ポートがUSB 2.0相当にダウングレードされる点に注意してください。

この犠牲を払ってでもエラーを解決したい場合は、以下の手順でIntel xHCI Modeを無効化します。

  1. パソコンを再起動し、起動画面が表示されている間にセットアップキー(BIOSキー)を繰り返し押して、BIOS設定画面に入ります。
    「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策注意: セットアップキーは通常、起動画面に表示されますが、表示されない場合はお使いのノートパソコンやマザーボードの型番をもとに、BIOSへの入り方を検索してください。
  2. BIOS設定画面内で「Advanced」タブを開き、「Device Options」配下にある「USB EHCI Debug」などの項目を探します。このオプションを有効にするとxHCIコントローラーが無効になり、エラーが解消されます。「USBコントローラーのリソースが不足しています」エラーの原因と4つの解決策

    注意: 設定名や配置はメーカーによって異なります。「XHCI Pre-Boot Mode」「EHCI Hand-OFF」「xHCI Mode」などの名称で表記されている場合もあります。

  3. xHCIコントローラーを無効化したら、変更を保存してパソコンを通常どおり起動します。
  4. 次回の起動以降、「USBコントローラーのリソースが不足しています」エラーは表示されなくなるはずです。
  1. 【Windows 10】「このコマンドを処理するのに十分な記憶域がありません」エラーの直し方

    多くのWindowsユーザーが、「このコマンドを処理するのに十分な記憶域がありません(Not enough storage is available to process this command)」というエラーメッセージに悩まされています。原因としては、レジストリの不具合、メモリ不足、ドライバー同士の競合などが挙げられます。同じ問題でお困りの方は、本記事で紹介する効果的なトラブルシューティング手法をお試しください。 「このコマンドを処理するのに十分な記憶域がありません」エラーの対処法 このエラーが発生する原因はさまざまです。主なものを以下にまとめました。 ドライブの空き容量不足 アプリケ

  2. Windows 10でロケットリーグのコントローラーが認識されない・動作しない問題を解決する方法

    「Rocket League(ロケットリーグ)」は、PlayStation、Microsoft Windows、Xbox、Nintendo Switch向けに提供されている人気のサッカーゲームです。迫力ある3Dゲーム体験が魅力のスポーツ系ビデオゲームで、チームを組んで対戦するマルチプレイ対応タイトルでもあります。ほかのサッカーゲームと同様に、相手チームからゴールを奪うことを目指してプレイします。 しかし近年、「ロケットリーグがコントローラーを認識しない」「コントローラーが反応しない」といった不具合の報告が相次いでいます。同じ問題でお困りの方は、ぜひ本記事をご覧ください。この記事では、考えられる