趣味でつながる、仲間ができる、大人世代のSNS、趣味人倶楽部(しゅみーとくらぶ)

よくあるご質問

Win10 Proのリモートデスクトップ接続時の「内部エラー」の対処方法/一般的なディスプレイ表示に関わるトラブルの予防措置

[投稿者コメント]

 Windowsのリモートデスクトップ機能と云えば、いわばITエンジニアの商売道具だろう。

 都市近郊のデータセンター内のサーバを、都市内の会社執務室のクライアントPCから、VPN回線経由で、メインテンス・遠隔操作するのには、必須の機能だ。

 この機能がまともに作動しなければ、Webサーバに障害があってもすぐに対処出来ないし、アプリ・ソフトの更新作業も出来ない。いちいち、電車に乗って1時間以上も掛けてデータセンターへ出向いての作業なんぞやっておられない。

 リモートデスクトップ機能はWindowsの独自機能ではなく、1990年台のUNIXサーバ・クライアントシステムが全盛の時も、UNIXサーバをPCから遠隔操作する際も、X-Window機能として提供されていたばかりでなく、現在のMac OSのGUIの元ともなっている。

 このリモートデスクトップ機能はIT業務用の機能としてばかりでなく、個人用途としても提供されており、Windows10 Pro 64ビット及び32ビット OSの機能として提供されている。

 個人用途では、宅内LANに接続した複数台数のPCの管理・維持用途だ。

 リモートデスクトップ機能は一種の仮想化技術であり、「操作する側のメインPC」と「操作される側のゲストPC」の間で、ファイルを相互に自由にコピペ・移動出来るので、LAN回線を通じた仮想化機能と見てよいだろう。

 古い世代のPCをデータ保管用に用いて、最新版PCでそのデータを加工編集する(例:写真画像の現像編集)と云った使い分けが出来る。

 更に、Webアクセス機能とファイヤーウォール機能を併設すれば、外出先から自宅のPCに接続してPC作業を行う事が可能となる。

 こうすれば、出先のモバイル端末から、自宅のPC内のWordファイルを操作・編集して、出先のコンビニのプリンタへ印刷出力する事も可能となる。

添付図1_1台のPCから複数台のPCを操作可能。データ・処理別にPCの使い分けが可能となる。複数台のPCを1個のマウスと1台のキーボードとモニターで操作出来る。

 こうした便利機能=複数PCの維持管理に必須の機能だが、最近の頻繁なWindows Updateの障害の影響を受けて、接続先への接続に失敗して使えないと云う故障事象が発生する事がある。

 以下はそう云う、リモートデスクトップ機能の接続不可事象の対処方法の報告である。


【トラブル報告/事象内容と対処】

 トラブル内容とその対処方法は以下の通り。

 本件は、遭遇する確率の高い支障なので、「RemoteDesktopがつながらない」→「アンチウィルスソフトのFirewall機能が接続を妨げている」と短絡的に思いがちな自己解決が困難なユーザが遭遇した場合は参考になるだろう。

 但し、レジストリ編集作業を伴う為に、「操作誤りでWindows起動不可となる場合があるので、操作の前にBackupを取得する事」を了解頂きたい。
 「システム復元ポイント」では、アトランダムに消失するので不可だ。

<トラブル事象の内容>:

 「アンチウィルスソフトの最新版」と「Windows 10 Pro (64-bit),Ver.10.0.17134」のもとで、「リモートデスクトップ機能」を使用しようとして、
 「リモート デスクトップ接続」のダイヤログで、接続先PCのIPをキーインすると、以下のエラーとなる。

 エラー表示:「内部エラーが発生しました」と云うダイヤログが表示されて接続に失敗する。

 ここで、接続先と接続元は、「アンチウィルスソフトの最新版」と「Windows 10 Pro (64-bit),Ver.10.0.17134」が適用された最新版である。

 「Windows 10 April 2018 Update」と「1803の累積更新プログラムKB4103721」等の最新パッチが相互に充(あ)たっているから、「RD接続ブローカー問題」は該当しない。

添付図3_リモートデスクトップの接続ダイヤログで接続先のPCのIPを入力したところ

<原因と対処>

 接続先(操作される側)のPCの空リソース不足が原因だ。

 リモートデスクトップ接続の際に、接続先では必要なメモリやディスク領域を確保しようとするが、確保出来ない場合は、上記のエラーとなり接続を中断する。

 従って、対処方法は、接続先のPCの空きリソースを確保する事だ。

 具体的には、

 リモートデスクトップのトラブルとして、リモートPC(接続先)への接続直後に切断されて、イベントログへ、「RDPDD.dll failed to load」と云うエラーが記録される事がある。
 リモートPCにグラフィックス・カードを追加している場合に、このトラブルが生じる可能性が高い。

 「SessionImageSize」と云う「レジストリ値」を設定すると解消出来る場合がある。

 事象の推移は、

 リモートデスクトップ接続クライアント(Remote Desktop Connection Client、以下RDC)を起動して、[接続]ボタンをクリックすると、リモートPCの画面が一瞬表示された後に閉じて、RDCが元のダイアログ表示に戻る、と云う事象だ。
 接続元PCでは何もエラーメッセージが表示されないが、接続先のリモートPCでは、同時刻に、「アプリケーションポップアップ:\SystemRoot\System32\RDPDD.dll failed to load」と云うシステム・イベント・ログが複数連続で記録される。

 必ずしも同じ方法で本トラブルが解消出来るとは限らないが、症状が上記と同じであれば試す価値はあるだろう。

 NVIDIAのユーザー・コミュニティでも、同じ症状のトラブルが報告されている。
・「WHQL 175.16 - remote desktop fails(NVIDIA Forums)(英文)」
 http://forums.nvidia.com/index.php?s=40d81aa53e7a2fb256cc4d46d16d078d&showtopic=67147

 一方、AMD製グラフィックス・チップとWindows Server 2003 SP2の組み合わせでも、同じトラブルが発生したとの報告もある。
・「\SystemRoot\System32\RDPDD.dll failed to load(Brad Rutkowski's Blog)」(英文)
 http://blogs.technet.com/brad_rutkowski/archive/2008/01/04/systemroot-system32-rdpdd-dll-failed-to-load.aspx

 これらの報告から、OSやグラフィックス・チップには余り依存していない事が推定出来る。

 又、Citrix SystemsのPresentation Server/XenApp製品向けの技術情報では、RDP接続時に「\SystemRoot\System32\RDPDD.dllを読み込めませんでした」と云うエラーメッセージが表示される事があると報告している。
 http://support.citrix.com/article/CTX117165

 一方、この技術情報では、トラブルの直接的な原因として、ディスプレイ・ドライバがメモリにロードされる際に、レジストリ値「SessionImageSize」で決定されるメモリ領域の容量が不足する事を挙げている。

 Windowsの起動時には、物理的なコンソールの為のセッション(コンソール・セッション)が生成され、その為のグラフィックス・チップ用ディスプレイドライバも、8Mbytesの領域にロードされる。次に、リモート・デスクトップ接続要求に依って新たなセッション(リモート・セッション)が生成されると、その為のディスプレイ・ドライバ(RDPDD.DLL)も、この領域に追加される事になる。

 つまり、グラフィックス・チップ用ディスプレイ・ドライバのプログラム/データ・サイズが大きいと、この領域の空きが足りなくなって、RDPDD.DLLをロードする余地がなくなり、結果として本トラブルが発生すると考えられる。実際に、グラフィックス・カードは多機能・高性能で、それを制御するディスプレイ・ドライバも複雑かつ大規模になりメモリ消費量も増えがちだ。

 前述のSessionImageSize値は、この領域のサイズを変更する為のものだ。

 つまり、デフォルトの8Mbytesより大きなサイズをSessionImageSize値に設定して、領域の容量不足を解消すれば、本トラブルも解消される。

 残念ながら、これでも解消出来ないと云う報告もあり、確実とは云えないが、試してみる価値はあるだろう。

 ちなみに、当方は本エラーが発生して接続操作を数時間繰り返してようやく接続出来ると云う有様だったが、本対処を行った以降は、数秒で接続出来る様になった。

 もっとも、最初に接続操作した際は、アンチウィルスソフトのFirewall機能で接続を阻止されたので、アンチウィルスソフトの「詳細設定」で、「ファイヤーウォール/フィルタリングモード」を「ルール付き自動モード」から、「対話モード」に変更して、「接続可否」を聞いて来たら、「ルールを作成し、永久に記憶」を選択して「許可」ボタンをクリックする操作を数回繰り返したら接続出来た。

 接続が完了したら、「対話モード」から、「ルール付き自動モード」に戻せばよい。

→具体的な操作手順は使用されている、アンチウィルスソフトの提供ベンダーのFAQを参照頂きたい。

 接続先のIPやポート番号や実行モジーュル(exe)等を登録する方法等もあるが、手間いらずで確実に接続しようとすれば、上記の方法がお勧めだ。

 但し、その後、接続条件/Open条件を限定する為に、アンチウィルスソフトのファイヤーウォールで、通信を許可する、ローカル/リモートの「ポート番号」と「IP」と「ゾーン」、及び、必要な「exeファイル」と「サービス」だけを、接続元PCと接続先PCについて設定して、不用意な通信許可を設定する事は避ける事(接続条件を可能な限り絞り込む事)。←【重要】必ず絞り込みの設定変更を行う事!

 具体的な設定値については、アンチウィルスソフト・ベンダーのFAQを参照したり、ベンダーのサポートや、近くのネットワーク設定に詳しい方の支援・サポートに依る事。

 尚、「IP」は、「コマンドプロンプト(管理者)(A)」で、 ipconfig /all とキーインして、「IPv4 アドレス . . . .: XXX.YYY.ZZ.AAA(優先)」で表示される、 XXX.YYY.ZZ.AAA の数字である。


 ここからが本題だが、

 「SessionImageSize」の値は、以下のレジストリ・キーに設定する。

 デフォルトでは、この値は存在しないが、グラフィックス・カードに依っては、ディスプレイ・ドライバのインストール時に、この値を自動で設定する事がある。

項目:内容
ーーーーーーーー
キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
値の名前:SessionImageSize
型:REG_DWORD
値の内容:
0x10 → 16Mbytes
0x20 → 32Mbytes
0x30 → 48Mbytes
0x40 → 64Mbytes
0x50 → 80Mbytes
0x60 → 96Mbytes
0x70 → 112Mbytes
0x80 → 128Mbytes ←<推奨値>

 (注)例えば、128Mbytesを設定する場合は、16進数の 80 を設定する。

 SessionImageSize値へ、確保したい容量をMbytes単位で設定する。
 この項目が存在していない場合は、DWORD型で新しく作成してから設定する事。
 新しい設定を有効にするには、PCの再起動が必要だ。
 デフォルト値は、8Mbytesなので、例えば、16Mbytesから16Mbytes単位で増加させながら、リモート・デスクトップ接続を試していけばよい。

 尚、当方が遭遇したトラブルでは、この値を128Mbytesに設定した事で解消できたので、いきなり、80(16進数)=128Mbyteをセットしてもよいだろう。

添付図2_レジストリに設定したディスプレイドライバー格納領域サイズ=64Mbytes

【追記】

 上記でも指摘したが、最近のWindows OSの機能では、VR機能、3D機能、ゲーム機能、仮想化機能等の、処理が重たいグラフィック機能を提供する機会が多く、それに伴って、グラフィックボードやディスプレイ・モニターのドイライバーやファームウェアも高機能化・肥大化しており、これらのファームウェアを格納するメモリ領域も拡大しているが、最近のWindows OSは、このグラフィック機能・表示機能の拡大・肥大化に十分対応出来ておらず、上記の様な、ファームウェアのプログラムサイズの肥大化に依り、ディスプレイ・ドライバ(RDPDD.DLL)のロード領域のディフォルトサイズの8Mbytesを超えてしまうと云う様なエラーが頻発している。

 当方のPCには、最初から、ディスプレイ・ドライバがメモリにロードされる際の領域サイズを規定する、レジストリ値「SessionImageSize」は設定されていなかったから、ディフォルト値の8Mbytesを割り当てて、領域不足のエラーとなってしまった。

 このサイズを64Mbytesに拡大したら、2時間掛けても接続出来なかったものが、2秒で接続出来る様になったからてきめんだ。

 最近、ディスプレイ表示用のキャッシュのリフレッシュ機能の支障に依るBlueScreen発生で、「Win10 Aprill 2018 Update」の提供が4月初旬から4月末に延期になったと云う事象があったばかりだ。

 その後でも、「5月度Windows Updateの累積パッチを適用すると、BIOSを読み込んでPC起動がパスワード入力前で停止して起動出来ない」と云う障害事例が多く報告されており、ディスプレイ(表示)処理でこけているとの指摘もある。

 「リモートデスクトップ機能は使っていないから関係ない」とか、「最近のWindows Updateでは不具合には遭遇していない」と云うPCユーザの方でも、今後のWindows Updateでどの様な故障事象に遭遇するか判らない。

 こう云う不具合に遭遇しない為にも、通常は設定されていない、上記のディスプレイ・ドライバ(RDPDD.DLL)のロード領域値:SessionImageSize=64Mbytesを予防保全的に、設定しておく事をお勧めしたい。

 尚、本設定作業はレジストリ編集作業であり、操作ミスでPCが起動出来ない場合も発生するので、事前にバックアップと起動用メディアを作成・取得して事が必須である。

 操作に自身のない方は、PC操作に詳しい方のアドバイス・援助を受ける事をお勧めしたい。
              |
              ↓
【注】本稿で記載した、アプリ、ソフト、サービス、ハードウェア、URL、操作手順、記載内容の完全性・網羅性を保証するものではありません。使用・導入・採用は自己責任となります。

カテゴリ:インターネット・デジタル

コメント