Windows Update でサーバー ラウンドトリップの上限を超えたために発生する 0x80244010 エラーを修正する方法

新しいWSUSサーバーをセットアップした後に発生する0x80244010エラーへの対処は、本当に頭の痛い問題です。これはWindows Updateから直接更新を取得しているマシンに限った話ではなく、社内サーバー用に構成されたクライアントでも発生します。基本的に、このエラーは更新クライアントがループに陥った場合、つまりサーバーに何度もリクエストを試みても成功しない場合に発生します。通常、ネットワークの不具合やサーバー/クライアントの制限が原因です。このガイドは、管理者の方でも、PCを修理しようとしている方でも、この問題を解決し、更新プロセスを再びスムーズに実行できるようにするためのものです。

「サーバーラウンドトリップの最大回数を超えました: 0x80244010」というエラーログが表示されることがあります。これは、クライアントが事前に設定されたリクエスト数の上限に達したことを示します。一部の設定では、大量の更新リストが一度に大量の更新を取得しようとすることでこの問題が発生することがあります。多くの場合、グループポリシーの調整、古い更新の削除、WSUSを使用している場合はサーバー設定の調整といった簡単な修正で済みます。ただし、ネットワークが不安定だったり、クライアントマシンが長期間更新されていない場合は、それが大きな問題の一因となっている可能性があります。

Windows Updateでエラー0x80244010を修正する方法

方法1: アップデートクライアントを更新して再試行する

これはすぐに実行でき、頻繁に実行されるため、最初に行うべきことと言えるでしょう。このエラーが発生した場合、最も簡単な解決策は、Windowsに強制的に更新プログラムを再度確認させることです。wuauclt.exe /detectnow管理者権限でコマンドプロンプトから実行するだけです。クライアントは直ちにサーバーに再クエリを実行します。一部のマシンでは、これによりスタックしていたものがリセットされ、更新プロセスが再開されるようです。なぜうまくいくのかは分かりませんが、試してみる価値はあります。

やり方:

  • 管理者としてコマンドプロンプトを開きます。
  • 入力wuauclt.exe /detectnowして Enter キーを押します。
  • 次に、[設定] > [Windows Update] で、すぐに更新プログラムが取得されるかどうかを確認します。

この方法は、小規模な環境やネットワークが不安定な場合には有効です。しかし、複数のクライアントを扱っている場合や、この問題が頻繁に発生する場合は、より徹底的な修正が必要です。

方法2: グループポリシーを使用して最大サーバートリップ数を増やす

この問題は、特に大量のアップデートがある場合やサーバー接続が遅い場合に、デフォルトの最大サーバーリクエスト数(200)を超えることで発生することがよくあります。この問題を解決するには、Windows Update に対し、多数の小さなリクエストではなく、より少ない数の大きなリクエストを送信するように指示することができます。グループポリシーエディター(g: gpedit.msc)で、以下のコマンドを実行します。

  • コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > Windows Update

「自動更新の検出頻度」という設定を見つけて、「3時間」などに設定します。これはクライアントが頻繁に確認しなくなるため、負荷が軽減され、エラーを防ぐことができます。また、更新チェック間隔に関する関連設定も確認し、さらに細かく設定したい場合は変更してください。

設定が完了したら、gpupdate /force管理者プロンプトで実行して、新しいポリシーをすぐに適用します。

方法3: WSUSのXMLサイズ制限を削除または増やす

これはWSUSデータベースへのアクセスが必要なため、少し複雑です。XMLファイルの最大サイズ制限(デフォルトは200KB)により、クライアントが巨大な更新メタデータリストをダウンロードしようとすると接続が切断される可能性があります。この制限を超えるには、SUSDBデータベースに接続されたSQL Server Management Studioを開き、次のコマンドを実行してください。

USE SUSDB; GO select MaxXMLPerRequest from tbConfigurationC; UPDATE tbConfigurationC SET MaxXMLPerRequest = 0; 

0に設定すると、サイズ上限が完全に解除されます。ただし、これはWSUSサーバーを管理している場合のみ有効です。管理していない場合は、 WSUSコンソールでクリーンアップウィザード(/Options/Server Cleanup Wizard)を実行して、古くて未使用の更新プログラムを削除し、メタデータのサイズを縮小することを検討してください。不要なファイルが減れば、アクセス回数が減り、上限に達する可能性も低くなります。

補足: クリーンアップ後は、クライアントが取得するデータが少なくなり、セッション数がより確実に許可された制限内に収まるようになります。

方法4: IIS WsusPoolを調整してパフォーマンスを向上させる

クライアントや更新プログラムの数が多い場合、WSUSサーバーのIISアプリケーションプールが逼迫している可能性があります。IISマネージャーWsusPoolの設定を調整できます。 「アプリケーションプール」に移動し、「WsusPool」を右クリックして「詳細設定」を選択します。調整する項目は以下のとおりです。

  • プライベートメモリ制限(KB) : 1.2 GB の上限を解除するには0に設定します
  • キューの長さ: より多くの同時リクエストを処理するために 10000 から 25000 に増加
  • 制限間隔(分):プールに余裕を持たせるために5分から15分に増加
  • サービス利用不可応答: TcpLevelに設定

また、web.configにあるファイルを編集してプラス設定を7200 秒にC:\Program Files\Update Services\WebServices\ClientWebService\web.config変更すると、更新フィードが大きい場合に役立ちます。httpRuntime maxRequestLength="4096"204800executionTimeout

方法5: Windows Updateの設定を完全にリセットする

他に方法がない場合は、Windows Updateのコンポーネントをすべて削除して最初からやり直す必要がある場合があります。具体的には、サービスの停止、キャッシュファイルの削除、更新コンポーネントの再登録などを行います。このためのスクリプトは数多くありますが、Windows Updateのコンポーネントをリセットし、更新を再確認するバッチスクリプトを実行するのが手軽な方法です。これは少々極端な方法ですが、クライアントが深刻な問題を抱えている場合は、多くの場合必要になります。

これらのオプションを試してもエラーが表示される場合は、ネットワークの安定性を再確認し、他のセキュリティ設定やプロキシ設定によってアップデートリクエストがブロックまたは制限されていないことを確認してください。場合によっては、単純なファイアウォールルールやDNSの問題によっても、これらの最大トリップエラーが発生することがあります。

まとめ

  • 実行しwuauclt.exe /detectnowて強制的に更新します。
  • グループ ポリシーを使用して検出間隔を長い期間に調整します。
  • T-SQL コマンドを使用して、WSUS の API XML 要求のサイズ制限を増やします。
  • WSUS サーバーの IIS 設定 (特にプール メモリとキューの長さ) を最適化します。
  • 他の方法が機能しない場合は、Windows Update コンポーネントをリセットします。

まとめ

このエラーを回避するには、簡単な修正とサーバーのより深い調整を組み合わせる必要があります。ある環境では、クライアントのアップデートをリセットするだけで自然に解決しましたが、別の環境ではIISプールの調整で大きな変化がありました。問題は、クライアント側、サーバー側、それともネットワーク側のどれにあるのかを判断することです。これらの手順が、アップデートサイクルを正常に戻すのに役立つことを願っています。アップデートが失敗するのを待つのは本当にイライラするものですから。