2009/01/28(Wed)ディスプレイ環境変更後、VMスナップショットが開けない時の対処法

2009/01/28 9:32 Software::VM/ESXi
普段、色々な動作テストにお世話になっているVMwareであるが、先日、液晶ディスプレイが故障し、修理の間、一時的にデュアル環境からシングル環境になった。
しかしそれにともない、スナップショットが復元できなくなってしまった。
どうやら、ディスプレイの設定がスナップショットを作成したときと違うのが原因らしい。そのトラブルシューティング。

エラー内容

表示されるのはこんなエラーメッセージ。

vmware_framebuffererr1.png

現在のディスプレイのフレームバッファレイアウトが、スナップショットに格納されているフレームバッファレイアウトと一致しません。スナップショットのフレームバッファの寸法は:最大の幅 3360, 最大の高さ 1770, 最大のサイズ 23789568 です。現在のディスプレイのフレームバッファの寸法は:最大の幅 2360, 最大の高さ 1770, 最大のサイズ 16777216 です。
ファイル「~~~~.vmsn」からグループ SVGA の状態を復元している間にエラーが発生しました。
しかし、サスペンド/パワーオン状態では仮想マシンの設定を変更できない。

vmware_framebuffererr2.png


そして、ひどいことに、自分はスナップショットを稼働状態でしかとっていなかった。

vmware_framebuffererr3.png



つまり、どのスナップショットに移動した所で、このエラーが出て手詰まりというわけである。
液晶ディスプレイが再びデュアルになるまで使えないのか…これは?

設定ファイル書き換え

まあ稼働状態のVM設定をいきなり書き替えるのは、動作が保証されないからグレーアウトしてるとは思うんだけど、このままじゃ作業できないので、ディスプレイ設定を変える。
要はこのエラー、ディスプレイの自動検出結果が、VMスナップショットと異なるエラーなので、強制的に同じにしてやればいい。


まず、VMのタブを閉じる。
vmware_framebuffererr4.png


そのVMが作られているディレクトリに1つだけ、vmxという拡張子をもったファイルがあるので、それをテキストエディタで開き、以下のように修正。
- svga.autodetect = "TRUE"
+ svga.autodetect = "FALSE"
+ svga.maxWidth = "3360"
+ svga.maxHeight = "1770"
+ svga.vramSize = "3145728"
まあ、VRAMサイズはお好みで。maxWidthとmaxHeightは先ほどのエラーダイアログにあった、スナップショットのフレームバッファ寸法とやらに合わせる。

あとは、vmxをダブルクリックで開いて、普通にレジュームするだけ。
一応これでレジュームには成功しますが、応急処置的なものとして考えた方がよさそうです。

いやぁ、自動検出も考えものですなぁ……。