VMware ESXi 仮想マシンの解像度がウィンドウいっぱいにならない時は

投稿者: | 2020年8月1日

VMware ESXi 仮想マシンをvSphere ClientからRemote Consoleを使って開く場合に、Remote Console(実際にはローカルのVMware Workstation)のウィンドウサイズに合わせ、仮想マシンの解像度が動的に追随してくれない時があります。仮想マシンによってFit to Windowしてくれたり、小ぢんまり固定だったり決まっている傾向にあるので、設定を横並び比較して原因を究明します。仮想マシンをRemote Consoleの大きなウィンドウやフルスクリーンで表示させる際、このように仮想マシンの解像度が動的に大きくなってくれることを期待するでしょう。

図1.Fit to Window

図1.Fit to Window

しかし仮想マシンによっては、低めの解像度のままなことがあります。このような場合、vSphere Clientには関連するエラーが提起されているのですが、そこから解決の糸口を得ることは難しそうです。

図2.Fixed Resolution

図2.Fixed Resolution

図3.Errors on vPshere Client Console

図3.Errors on vPshere Client Console

調べてみるとこれは、仮想マシンに設定した2DグラフィックのビデオRAMが少なすぎるために起こるようです。仮想マシン製作時に特に意識したことは無かったので、GUI操作も想定されるWindows Serverでの設定をこの機会に総点検してみます。

 

1. svga.autodetect推奨】

自動検出は以前は無かったような気がするのですが、便利になりました。経常的に比較的大きな解像度を持つデスクトップが欲しいWindows Serverでは、自動設定にしておくのが無難。これを有効にしておけば、以降の項目全て無視して構いません。vmxファイル内では、

であり、vSphere Client上では「設定の自動検出」に相当し、次のようになります。仮想マシン起動中(設定参照のみ可)、シャットダウン中(設定変更可)で「ビデオメモリの合計」欄の数値が違っていて謎ですが、数値は設定出来ないのが正解なので、「0」表記が正しいと言えます。

図4.Autodetect when Running

図4.Autodetect when Running

図5.Autodetect at Off

図5.Autodetect at Off

 

2. svga.vramSize【カスタム時必須】

上の項目で設定の自動検出ではなくカスタム設定にした場合、ここで2Dグラフィックのビデオメモリ値を明示的に設定する必要があります。vmxファイル内にこの項目が無い場合、それはデフォルト4MBで、これでは大きなウィンドウ時に解像度が足りません。図02の仮想マシンは正にこの状態で、言わば「カスタム設定を選択したのに、ビデオメモリの値が未設定」という中途半端な設定でした。

図6.Custom Config 4MB

図6.Custom Config 4MB

自分の環境では、8MBあれば1920×1080フルスクリーン表示出来ました。vmxファイル内の値を直接編集する場合は、以下の要領で実際のバイト数を入力する必要があります。

  •  4MB:  “4194304”   1280×800  MAX
  •  8MB:  “8388608”   1920×1080 MAX
  • 16MB: “16777216”   2560×1600 MAX

ヘッドレスでコンソール前提なLinuxサーバでは、ビデオメモリを自動設定にしても意味がないので、カスタムとしてここで4MBにしておけば良さそうです。

 

3. vmotion.checkpointSVGAPrimarySize / vmotion.checkpointFBSize【参考】

これらの項目と次の項目は比較的最近定義されたと思われ、普通に使う分には無用なようです。試しに空白にして項目を消すと、起動時にシステムが上記svga.vramsizeの値を拾って追加します。しかし、svga.vramsizeの値を変えてもvmotion.checkpointSVGAPrimarySizeの値は適宜更新されますが、vmotion.checkpointFBSizeはそのまま。

図7.詳細設定パラメータ

図7.詳細設定パラメータ

 

4. svga.guestBackedPrimaryAware【参考】

これも有っても無くても今回の命題には関係無いのですが実験してみます。vmxファイル中の

“FALSE”にすると起動時にシステムにより、”TRUE”へと上書きされてしまいます。また、vmxファイル中の当該行を消去する他、vSphere Client上で当該項目の値を空白にして保存することでも項目は削除されますが、再起動後確認してみると”TRUE”で追加されています。放っておきましょう。

 

 

参考と鳴謝 Great Tnx! )

 

 

 

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA