なぜWindows 11でVMware仮想マシンのパフォーマンスが低下するのか?
ThinkPad(i7-12700H搭載)をWindows 11にアップグレードしたばかりなのですが、意気揚々とVMwareを開いてラボ環境を動かそうとしたところ、いきなり「Virtualization technology is not enabled」というエラーに阻まれました。BIOSでVT-xは有効にしていたはずなのに、仮想マシンがエラーを吐くか、あるいは亀のように遅い動作になってしまったのです。8台のESXiホストを管理するエンジニアとして、個人のラボ環境が動かないのは容認できることではありません。
実は、Windows 11ではデフォルトで「仮想化ベースのセキュリティ(VBS)」が有効になっています。この機能はWindowsがバックグラウンドで独自のHyper-Vレイヤーを構築してセキュリティを強化するものですが、これがハードウェアの制御権を握ってしまうため、VMwareがCPUのVT-x命令セットに直接アクセスできなくなります。その結果、パフォーマンスが最大40%低下したり、仮想マシン自体が起動しなくなったりするのです。
この問題を解決するには、BIOSで「Enable」にするだけでは不十分です。Hyper-Vの影響を完全に排除する一連の対策が必要になります。
エラーを完全に解消する4つのステップ
私はこの手順をDell Latitudeからハイエンドのワークステーションまで数十台のPCで適用してきましたが、過去6ヶ月間、非常に安定して動作しています。
ステップ1:BIOS/UEFIの確認 — 「コールドブート」を忘れずに
これが全ての基本です。Intel Virtualization TechnologyまたはSVM Mode (AMD) がEnabledになっていることを必ず確認してください。
実体験からのアドバイス:Dell Precisionシリーズなどでは、この設定はVirtualization Support項目内にあります。設定を変更した後は、必ず一度シャットダウン(Shut down)してから電源を入れてください。「再起動(Restart)」は避けてください。一部のマザーボードは、完全な電源サイクルが行われないと仮想化マイクロコードを正しくロードしない場合があるからです。
ステップ2:Windowsの機能の無効化
Windows 11にはHyper-Vに依存するサービスが多く存在します。「Windowsの機能の有効化または無効化(Turn Windows features on or off)」を開き、以下の項目のチェックをすべて外してください。
- Hyper-V(サブディレクトリもすべて)。
- 仮想マシン プラットフォーム (Virtual Machine Platform)。
- Windows ハイパーバイザー プラットフォーム (Windows Hypervisor Platform)。
- Windows サンドボックス (Windows Sandbox)。
まだ再起動はしないでください。効率化のためにステップ3を続けて行いましょう。
ステップ3:コマンドプロンプト(CMD)でHypervisorを無効化
GUIでオフにしても、Hyper-Vはブート時に自動起動しようとすることがあります。これが「決定打」となるステップです。管理者権限でコマンドプロンプトを開き、以下のコマンドを実行します。
bcdedit /set hypervisorlaunchtype off
このコマンドにより、Windowsが独自のハイパーバイザーレイヤーをロードするのを強制的に停止させ、CPUの優先権をVMwareに譲渡させることができます。
ステップ4:コア分離(メモリ整合性)をオフにする
メモリ整合性 (Memory Integrity)機能は、Windows 11で最も強い競合を引き起こすサイレント・キラーです。VBSを使用してプロセスを保護しますが、サードパーティ製の仮想マシンソフトとは極めて相性が悪いです。
- Windows セキュリティ > デバイス セキュリティを開きます。
- コア分離の詳細をクリックします。
- メモリ整合性をオフに切り替えます。
ここでPCを再起動し、すべての変更を反映させます。
VMwareの設定を最適化して速度を最大化する
OSからHyper-Vの影響が消えたところで、次はソフトウェア側を最適化します。仮想マシンのSettings > Processors項目で、以下の項目にチェックを入れます。
- Virtualize Intel VT-x/EPT or AMD-V/RVI: DockerやESXiをVMware内で入れ子(Nested)にして動かす場合に必須です。
- Virtualize CPU performance counters: パフォーマンス計測ツールを正確に動作させるのに役立ちます。
もし仮想マシンで依然としてSide-channelのセキュリティエラーが出る場合は、.vmxファイルに以下の行を追記してください。
ulm.disableMitigations = "TRUE"
このTipsは、CPUを低速化させるセキュリティパッチ(Spectreなど)を仮想マシン側でバイパスし、レスポンス速度を劇的に向上させます。
設定が正しく完了したか確認する方法
単に仮想マシンが起動しただけで満足しないでください。以下の2点を確認しましょう。
1つ目は、タスクマネージャー (Ctrl+Shift+Esc)の「パフォーマンス」タブを開きます。「仮想化」が有効 (Enabled)になっていることを確認してください。もし「無効」になっている場合は、ウイルス対策ソフト(Avastなど)がVT-xを占有している可能性があります。
2つ目は、仮想マシンのフォルダ内にあるvmware.logを開き、“monitor mode”というキーワードを検索してください。以下の行が見つかれば成功です。
Monitor Mode: CPL0
おめでとうございます!CPL0モードは、VMwareがハードウェア上で直接動作していることを意味します。もしULM (User Level Monitor)と表示されている場合は、まだWindowsのAPI経由で動作しており、パフォーマンスが著しく低下している状態です。
この修正により、私のラボ環境は重いアプリを開いてもマウスカーソルがカクつくことなくスムーズに動作するようになりました。皆さんの環境でも成功することを願っています!

