「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 2.0ポートに移動し、最も高速な転送速度が必要なデバイスだけをUSB 3.0ポートに残しましょう。エンドポイント数が16個を下回れば、エラーは表示されなくなるはずです。
方法2:セルフパワー式のUSBハブまたはドッキングステーションを使う
ノートパソコンでこの問題が発生している場合、原因はUSBポートから供給される電力の総量にある可能性があります。接続するデバイスの数を減らせない場合は、独立した電源を持つドッキングステーションやセルフパワー式USBハブ(Powered USB Hub)を導入することで解決できます。

ドッキングステーションは一般的に50ドル以上と高価ですが、安価な対策をお探しなら、15ドル前後で購入できるセルフパワー式USBハブでも十分対応可能です。
方法3:USBコントローラーを再インストールする
USBコントローラーのドライバーが正しくインストールされていない、または何らかの理由で破損している場合にも、このエラーが発生することがあります。デバイスマネージャーからUSBコントローラードライバーを再インストールすることで解決できる場合があります。
手順は以下の通りです。
- Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開き、「devmgmt.msc」と入力してEnterキーを押します。デバイスマネージャーが起動します。

- デバイスマネージャー内で「ユニバーサル シリアル バス コントローラー」を展開し、USBホストコントローラーを右クリックして「デバイスのアンインストール」を選択します。ホストコントローラーが2つある場合は、両方ともアンインストールしてください。

- パソコンを再起動します。次回の起動時に、Windowsが不足しているUSBホストコントローラーのドライバーを自動的に再インストールします。
再起動後もエラーが続く場合は、次の方法を試してください。
方法4:BIOS設定でxHCIモードを無効化する
最終手段として、BIOS設定でxHCIモードを無効にすることで、このエラーを解決できる可能性があります。ただし、この設定を行うとすべてのUSB 3.0ポートがUSB 2.0相当にダウングレードされる点に注意してください。
この犠牲を払ってでもエラーを解決したい場合は、以下の手順でIntel xHCI Modeを無効化します。
- パソコンを再起動し、起動画面が表示されている間にセットアップキー(BIOSキー)を繰り返し押して、BIOS設定画面に入ります。
注意: セットアップキーは通常、起動画面に表示されますが、表示されない場合はお使いのノートパソコンやマザーボードの型番をもとに、BIOSへの入り方を検索してください。 - BIOS設定画面内で「Advanced」タブを開き、「Device Options」配下にある「USB EHCI Debug」などの項目を探します。このオプションを有効にするとxHCIコントローラーが無効になり、エラーが解消されます。

注意: 設定名や配置はメーカーによって異なります。「XHCI Pre-Boot Mode」「EHCI Hand-OFF」「xHCI Mode」などの名称で表記されている場合もあります。
- xHCIコントローラーを無効化したら、変更を保存してパソコンを通常どおり起動します。
- 次回の起動以降、「USBコントローラーのリソースが不足しています」エラーは表示されなくなるはずです。
-
【Windows 10】「このコマンドを処理するのに十分な記憶域がありません」エラーの直し方
多くのWindowsユーザーが、「このコマンドを処理するのに十分な記憶域がありません(Not enough storage is available to process this command)」というエラーメッセージに悩まされています。原因としては、レジストリの不具合、メモリ不足、ドライバー同士の競合などが挙げられます。同じ問題でお困りの方は、本記事で紹介する効果的なトラブルシューティング手法をお試しください。 「このコマンドを処理するのに十分な記憶域がありません」エラーの対処法 このエラーが発生する原因はさまざまです。主なものを以下にまとめました。 ドライブの空き容量不足 アプリケ
-
Windows 10でロケットリーグのコントローラーが認識されない・動作しない問題を解決する方法
「Rocket League(ロケットリーグ)」は、PlayStation、Microsoft Windows、Xbox、Nintendo Switch向けに提供されている人気のサッカーゲームです。迫力ある3Dゲーム体験が魅力のスポーツ系ビデオゲームで、チームを組んで対戦するマルチプレイ対応タイトルでもあります。ほかのサッカーゲームと同様に、相手チームからゴールを奪うことを目指してプレイします。 しかし近年、「ロケットリーグがコントローラーを認識しない」「コントローラーが反応しない」といった不具合の報告が相次いでいます。同じ問題でお困りの方は、ぜひ本記事をご覧ください。この記事では、考えられる