macOS 上の Windows10 on VMware Fusion で Hyper-Vを有効化出来るのかと、Big Sur使用時の現状の注意点

2021.08.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

私は普段、macOSを使っています。
そしてWindowsでの検証が必要な場合に備えて、Windows10の仮想マシンを用意しています。
仮想化に使っているソフトウェアはVMware Fusionです。

先日、Windows10上でHyper-Vを有効化する必要がありました。この構成で利用出来るでしょうか?

デフォルト設定の場合コントロールパネルから機能の有効化を行おうとするとグレー表示となっており有効化出来ませんが、VMware Fusion 12 にはハイパーバイザーアプリケーションを有効にする機能があります。
簡単に有効化出来ますのでその方法をご紹介します。

ただし、特定の構成で問題が生じます。(私が特定の構成だった)
バージョンアップの検討材料になると思うので、そのあたりも少し情報共有として記事にしておきたいと思います。

Hyper-Vの有効化

この設定変更を行うためには、ゲストOSの仮想マシンを事前にシャットダウンしておく必要があります。
VMware Fusionのメニューから仮想マシン -> 設定 を選択します。

プロセッサのオプションの、この仮想マシンでハイパーバイザーアプリケーションを有効にするにチェックを入れて、仮想マシンを起動し直します。

起動後、Hyper-Vの有効化が出来るようになっています。

めでたし、めでたし。とはいかなかった...

有効化によって発生する現時点での問題

この情報は2021年8月時点での情報です。今後VMware Fusionのバージョンアップによって問題が解消する可能性があります

バージョン情報をまとめておきます。

  • macOS : Big Sur 11.5.1 - 2.3 GHz クアッドコアIntel Core i7
  • Windows10 : Windows 10 Pro 21H1 19043.1110
  • VMware Fusion : 12.1.2 (17964953)

まず、私はDocer DesktopでWindows Containerが使えるのかを評価していました。
Docker Desktop for Windows を使うシステム要件として、Hyper-Vの有効化が含まれています。

前述の方法でHyper-Vを有効化出来たので使えそうだったのですが後述の問題により動作の確認までは出来ませんでした。
何が起きたかというとゲストOSの操作性が著しく低下しました。全く操作出来ないレベルで。
そしてパフォーマンス低下に伴うと思われるOSやソフトウェア上の問題が起きました。

問題

  • ゲストOSでブルースクリーンが多発する。

  • Docer Desktop はインストールが出来たが、Windowsコンテナ(Linuxコンテナでも)起動時にタイムアウトが発生してしまう。

同様の事象が報告されている

どうやら、VMwareコミュニティで議論中の問題らしいです。

VMwareコミュニティのスレッドなどで議論されていることを試してみた

スレッド内では様々な提案がされています。
一通り試してみました。

結論から言うと解決はしませんでした。

サイドチャネル緩和策の無効化をONにする

VMware Fusion の仮想マシン設定の詳細カテゴリでこの機能の有効化/無効化が可能です。
設定変更はハイパーバイザー有効化時と同様にゲストOSをシャットダウンしておく必要があります。

こちらは効果はありませんでした。

Windowsセキュリティのコア分離の設定を無効化する

こちらはゲストOSを上のセキュリティ設定です。
Windowsセキュリティの項目に存在しています。

こちらも効果はありませんでした。

VBSを無効化する

こちらも効果はありませんでした。

現状とれる解決方法

  • macOSをCatalinaへダウングレードする

まとめ

  • VMware FusionでのHyper-Vの有効化は可能。
  • 可能だが、現状特定の構成で別の問題が発生する場合があり、使用に耐えない可能性がある。

事前に構成を確認し、問題ないか評価しておくと良いですね。
私はVMware Fusion側の修正を待とうと思っています。

同様の事象が起きていたが解決したという方、是非ご連絡ください。
検証し情報を追記したいと思います。

また将来、VMware Fusionのバージョンアップで問題が解決した際にはあらためてこちらの記事へ追記したいと思います。