GUIテスト用の仮想マシンをHyper-VからVMware Workstation Proへ移行

Rust製Windowsアプリ(WinRemap)のGUIテスト環境をHyper-VのVM上に作ったが、 設定画面がVM内で開けなかった。
原因を切り分けてVMware Workstation Proへ移行するまでの覚書。
この記事はClaude Opus 5が生成。

環境: Windows 11 Pro 25H2 / Hyper-V → VMware Workstation Pro

前提として、テスト自動化にはTerminator(mediar-ai)を使う想定。
UIAベースなので、そもそもウィンドウが表示されないと何も始まらない。


Hyper-VはOpenGL非対応

Hyper-Vの仮想マシンに割り当てられる合成ディスプレイアダプターは、OpenGL 2.0以上をサポートしない。
 一時的な不具合ではなく、環境側の恒久的な制約。


仮想化基盤の比較

VMware Workstation Pro / VirtualBox / 現行Hyper-Vの3つを比較した。

必須要件

VMware Workstation Pro

VirtualBox 7.x

Hyper-V

WindowsゲストのOpenGL

◎ SVGA3DドライバでOpenGL 4.3(HWバージョン20以上)。
公式ドキュメントに明記

✗ 6.1で VBoxVGA が廃止され、Windowsゲストのアクセラレート OpenGLは実質喪失。
Guest AdditionsのOpenGLドライバも2.1止まり

✗ なし
(今回の問題)

コンソールセッションでのUI自動化

◎ vmrun runProgramInGuest -interactive / -activeWindow が公式機能

✗ VBoxManage guestcontrol run はサービスセッションで起動する既知の制約

△ タスクスケジューラで回避(実装済み)


全体比較

評価軸

VMware Workstation Pro

VirtualBox 7.x

 Hyper-V

ゲストOpenGL

◎ 4.3

✗

✗ なし

対話セッション実行

◎ 標準機能

✗ 回避策必要

△ 回避策実装済み

キー注入(Press any key突破)

✗ 相当機能なし

◎ controlvm keyboardputscancode

◎ WMI Msvm_Keyboard.TypeKey

VM作成CLI

△ vmcli + .vmx 直書き

◎ VBoxManage createvm/modifyvm が網羅的

◎ PowerShell Hyper-Vモジュール

スクリーンショット

◎ vmrun captureScreen

◎ controlvm screenshotpng

△ 未実装(WMIで実装可能)

ゲスト実行の経路

VMware Tools(NW不要)

Guest Additions(NW不要)

PowerShell Direct(NW不要)

スナップショット / エクスポート

◎ vmrun snapshot / フォルダコピー

◎ snapshot / export(OVA)

◎ 実装済み

Win11要件(TPM / Secure Boot)

◎

◎ 7.0+

◎

ライセンス(商用利用)

◎ 2024/11から全機能無償(キー不要)

◎ 本体はGPLv3で無償。Extension Packは商用有償

◎ OS同梱

ホストのHyper-Vとの共存

△ WHPモードで動作

△ 動くが低速・不安定の報告あり

―

3Dスタックの成熟度

◎ 長年の実績

△ 近年まで不安定

―


ホストのHyper-Vを切るかどうか

ホストでHyper-Vを有効にしたままだと、VMwareはWindows Hypervisor Platform(WHP)モードで動作する。
このモードで3Dアクセラレーションが効くかどうかは、公式ドキュメントで確認できなかった。

選択

影響

Hyper-Vを残す

VMwareはWHPモードで動作。
3Dアクセラレーションの可否・性能が公式文書で確認できず、要実機検証

Hyper-Vを切る

3Dも性能も確実。
ただしWSL2 / Docker Desktop / Windows Sandbox / メモリ整合性(VBS)を失う


移行してみた結果

やったことは4つ。

  1. ホストのHyper-Vを無効化して再起動。
    Win32_ComputerSystem.HypervisorPresent = False を確認し、VMwareがネイティブ仮想化で動く状態にした
  2. スクリプトでWindows 11ゲストを自動作成(無人ブートISOの自作で「Press any key」を回避、Win11要件バイパス、VMware Toolsの無人導入)
  3. vmrun snapshot でクリーン状態のスナップショットを作成
  4. OpenGL描画の検証


まとめ

Hyper-Vは無償で手軽だが、ゲストにGPU/OpenGLが要る用途には向かない。
GUIを持つアプリのテスト自動化をVMでやるなら、最初からVMware Workstation Proを選ぶのが早い。
2024年11月から商用でも無償になったので、選ばない理由もあまりない。

Mesa3D(ソフトウェアOpenGL)案は結局使わずじまいだったが、 VMwareゲストでも同じ手が使えるので、保険としては残っている。


▼ 関連記事