仮想マシンが開始されなかったのは、ネストされた仮想化がサポートされていないためです

この記事では、Windowsコンピューターで問題を解決するために必要な手順とともに、仮想マシンが開始されなかったのは、ネストされた仮想化がサポートされていないためですというエラーの原因を調べます。

仮想化は、その名前が示すように、物理コンピューター内にコンピューターまたはその構成リソース(ストレージデバイス、サーバーなど)の仮想バージョンを作成することを含みます。これらのハードウェアリソースを仮想マシンに割り当て、その管理はハイパーバイザー(Hyper-V)によって管理され、物理リソースを最大限に活用します。別の仮想マシン内で1つまたは複数の仮想マシンを実行することはネストされた仮想化と呼ばれ、ハイパーバイザーが同じ仮想マシンの管理に関与します。このようなシナリオでは、仮想マシンが開始されなかったのは、ネストされた仮想化がサポートされていないためですというエラーは非常に一般的です。

仮想マシンが開始されなかったのは、ネストされた仮想化がサポートされていないためですというエラーの原因は何ですか?

ネストされた仮想化は、主にソフトウェア開発やテスト環境で使用されます。ただし、物理ハードウェアや仮想化プラットフォームとの互換性に関する制限があり、エラーが発生します。

  1. 互換性のないハードウェアまたは仮想化拡張機能:仮想化拡張機能により、仮想マシンはホストオペレーティングシステムを介することなく、CPUのハードウェアリソースに直接アクセスできます。一部のCPUには、ネストされた仮想化環境を実行するために必要な拡張機能がなく、エラーが発生します。
  1. ソフトウェアまたはOSの制限仮想化ソフトウェアがネストされた仮想化をサポートしていない場合があります。物理ホスト上のハイパーバイザーの構成が正しくないことも原因となる可能性があります。ゲストOSもネストされた仮想化をサポートしていない場合があり、エラーの原因となる可能性があります。
  1. ホストシステムのセキュリティ構成:ネストされた仮想化は強力なツールですが、システムをセキュリティリスクにさらす可能性もあります。悪意のあるコードやマルウェアが仮想マシンからホストシステムに侵入し、その安定性に影響を与える可能性があります。そのため、このようなセキュリティリスクを軽減するため、仮想化プラットフォームはネストされた機能を無効にすることがあり、上記のエラーが発生します。
  1. UEFI/ BIOS設定:ネストされた仮想化を円滑に実行するには、BIOS/UEFIから必要なオプションを有効にする必要があります。BIOS設定が有効になっていないか、ネストされた仮想化を実行するように構成されていない場合、上記のエラーが発生する可能性があります。

仮想マシンが開始されなかったのは、ネストされた仮想化がサポートされていないためですというエラーを修正する

Windows 11/10コンピューターでネストされた仮想化がサポートされていない問題を修正するのに役立つ推奨される方法を以下に示します。

  1. ソフトウェアとハードウェアの互換性を確認します。
  2. BIOS/UEFI設定を確認します。
  3. Hyper-VまたはVMWareのいずれかを選択します
  4. 仮想化ベースのセキュリティ(VBS)を無効にします。

管理者アカウントを使用し、続行する前にシステムの復元ポイントを作成します。

1] ソフトウェアとハードウェアの互換性を確認する

仮想化環境、特にネストされた仮想化環境を実行する際には、ハードウェアのサポートまたは互換性が最も重要な要素の1つです。Intel VT-x(Intelプロセッサの場合)またはAMD-V(AMDプロセッサの場合)などの仮想化拡張機能があることは、対象の物理システムの前提条件です。これらの拡張機能は、仮想マシン制御構造(VMCS)や拡張ページテーブル(EPT)などの仮想化機能を実行するのに役立ちます。

VMCSを使用すると、仮想マシンの複数のインスタンスを作成でき、複数のVMインスタンスの作成と実行に役立ちます。EPTは、ネストされた仮想環境での効率的なメモリ管理に役立ちます。

物理システムが仮想化をサポートしているかどうかを確認するには、以下の手順を実行します。

  • 管理者としてWindowsターミナルを開きます
  • コマンドプロンプトにsysteminfoと入力し、結果を確認して仮想化が有効になっているかどうかを確認します(以下を参照)。

注:Hyper-Vのサポートと仮想化拡張機能は、Windows Server 2016以降とWindows 10以降で使用できます。

2] BIOS/UEFI設定を確認する

BIOS/UEFIから仮想化のサポートが存在し、有効になっていることを確認することも、エラーを解決するために不可欠です。したがって、BIOS設定を確認してオプションが有効になっているかどうかを確認することは、エラーを解決するための最初のステップと考えることができます。

  • コンピューターの電源を入れ、関連するキー(F2、F10、DELなど)を押してBIOS/UEFI設定に入ります。
  • 仮想化設定を確認します。一般的に、仮想化設定は、ほとんどのBIOS/UEFIの[詳細]セクションにあります。
  • 見つかったら、仮想化機能がそれ以外の場合は有効にして、システムを再起動する前に加えた変更を保存します。

3] Hyper-VまたはVMWareのいずれかを選択する

systeminfoコマンドで表示された情報に基づいて仮想化サポートが有効になっている場合でも、ネストされた仮想化エラーが続く場合は、Hyper-VまたはVMWareを使用してネストされた仮想化を調査できます。Hyper -VとVMWareは一緒に動作しないため、HypervisorをOFFにしてVMWareを使用するか、以下のようにコマンドラインユーティリティを使用する場合のように、HypervisorをVMWareの代わりに使用する必要がある場合はAUTOに設定できます。

  • Windows + Xキーを押してクイックアクセスメニューを開き、Windows PowerShell(管理者)をクリックします。
  • PowerShellで以下に示すコマンドを実行し、システムが起動したらHyper-Vのみを使用するようにシステムを再起動します
 bcdedit /set hypervisorlaunchtype auto

上記のコマンドは、システムの起動中にHypervisorを自動的に起動するようにブート構成データ(BCD)を編集します。

  • VMWareを使用するには、PowerShellで以下に示すコマンドを入力してシステムを再起動します
bcdedit /set hypervisorlaunchtype off

このコマンドはBCDを編集し、システムの起動時にHypervisorの起動をオフにして、VMWareが動作できるようにします。

4] 仮想化ベースのセキュリティ(VBS)を無効にする

VBSは、システムセキュリティを強化するためにハードウェア仮想化を使用するWindowsのセキュリティ機能です。ただし、これらの機能は、セキュリティメカニズムを最優先することで、ネストされた仮想化に必要な仮想化拡張機能の機能を妨げる場合があります。したがって、VBSをオフにすると、ソフトウェアとハードウェアの両方のレベルでホストシステムの仮想化機能に中断されることなくアクセスできます。VBSを無効にするには、

  • デスクトップの検索バーに同じものを入力してWindowsセキュリティを開きます
  • デバイスセキュリティ>コア分離に移動し、メモリ整合性OFFにします

  • 変更を有効にするためにシステムを再起動します

これで解決することを願っています。

ネストされた仮想化のセキュリティ上の問題は?

ネストされた仮想化には、セキュリティ上の懸念がないわけではありません。主な問題の1つは、ホストハイパーバイザーのコードベースが大きくなることであり、これにより、既知のセキュリティバグのために攻撃対象領域が広がります。さらに、ネストされたVMのI/Oパフォーマンスが低いことが判明しており、これはコミュニティで広く議論されているトピックです。

なぜネストされた仮想化が必要なのですか?

ネストされた仮想化により、ユーザーは他のVM内で仮想マシンインスタンスを実行できるため、カスタマイズされた仮想化環境を作成できます。ネストされた仮想化を容易にするために、Compute EngineはVMにIntel VT-x命令を追加します。これにより、VMにすでに存在するハイパーバイザーは、作成時に追加のVMを実行できます。