Windows 11/10 の入れ子仮想化とは何ですか?

Windows Speedup Tool をダウンロードしてエラーを修正し、PC の動作を高速化します。

ネストされた仮想化仮想マシン内でハイパーバイザーを実行できます。 Windows 10 では、入れ子仮想化が導入されました。必要かどうかに関係なく、興味があるかもしれない情報をいくつか紹介します。

コンテナ内のコンテナ: Windows の入れ子仮想化について

以前は、メイン メモリが許す限り多くの並列コンテナを作成し、それらをさまざまな目的に使用できました。 Microsoft は、最新の Insider ビルド番号 10565 で入れ子になった仮想化の機能をリリースしました。Windows の入れ子になった仮想化の機能を使用すると、コンテナーの中にコンテナーを作成できます。この機能はまだ完璧ではありませんが、知っておくべきことは次のとおりです。

Hyper Vを使用した仮想化

Windows は Droka をサポートしています。Droka を使用すると、並行して使用できる単純なコンテナーを作成したり、単純なコンテナーよりも優れていると考えられる Hyber V コンテナーを作成したりできます。 Windows コンテナーは並行して作成できますが、多くの場合、同じライブラリとリソースを使用することになります。この場合、1 つ以上の「悪い」コンテナがリソースを保持し、他のコンテナが使用できるようにリソースを解放しないことにより、ジャムが発生する可能性があります。これが、Hyper V コンテナーの導入につながった唯一の欠点です。

Hyper V コンテナーは、仮想環境ごとにすべてを個別に作成します。つまり、OS さえも再作成され、その仮想コンパートメントで実行されているアプリケーションに提供されます。これは、共通の仮想リソースが存在しないため、競合がないことを意味します。

Windows のネストされた仮想化は、Hyper V を使用して可能になります。他のことを試すこともできますが、Microsoft によると、現時点ではネストされた仮想化は仮想化Hyper V コンテナでのみ動作します。したがって、1 つのコンテナを作成し、その後、最初のコンテナ内に別のコンテナを作成するように注意する必要があります。他のハイパーバイザーを使用しようとしたり、既に作成したコンテナと並行して別の Hyper V コンテナを作成しようとすると、機能しない可能性があります。しかし、私の心には疑問が生じます。では、Windows では並列コンテナーは不可能なのでしょうか?次のセクションでもお話します。

ネストされた仮想化 – それは何ですか?そしてそれを実装する方法は何ですか?

前述したように、Hyper V コンテナーを作成できます。このコンテナーは、他のハイパーバイザーからの参照が許可されていないことを確認します。つまり、コンテナーのみが CPU として表示され、実際の CPU は他のハイパーバイザーからは認識されない可能性があるため、別のコンテナーを並行して作成することもできません。この場合、疑問なのは、2 つ以上の Hyper V コンテナーを並行して作成できるのか、それとも最初に作成したコンテナー内にのみコンテナーを作成できるのかということです。

Microsoft のブログによると、一度 Hyper V コンテナを作成すると、他のハイパーバイザは実際の CPU を認識できないため、それ以上 Hyper V コンテナをインストールすることはできなくなります。すでに作成したコンテナの外にさらにコンテナを作成することはできませんか?その後、他のバーチャライザーを実行すると、他のバーチャライザーはコンテナーが実際の CPU であると認識し、そのコンテナー内に仮想コンテナーを作成します。

これは、コンテナー内にコンテナーを配置するネストされた仮想化です。これも、それぞれが完全に独立しており、共有ライブラリやドライバーはありません。並列コンテナーに関する 1 つの疑問を除けば、良さそうです。これは、ネストされた仮想化の動作を示すために Microsoft から借用した画像です。

ネストされた仮想化の実装には、さまざまな要素を確認する必要があります。いくつかの例は次のとおりです。

  1. RAM の量 (RAM は制限要因であることに注意してください。作成できるコンテナは RAM が保持できる数だけです)
  2. あなたのプロセッサはサポートされていますか? (MS によれば、現時点では Intel VT-X のみがサポートされています)
  3. ダイナミックメモリはオフにする必要があります
  4. 実行時メモリなどを監視する

現時点では多くの問題があり、Microsoft が後の段階で対処する可能性があります。しかし、ネストされた仮想化を試すために、GitHub から呼び出すことができる PowerShell スクリプトを開発しました。

読む: 方法Hyper-V の VM のネストされた仮想化を有効または無効にする

Windows 11/10 はネストされた仮想化をサポートしていますか?

はい、Windows 11 と Windows 10 はネストされた仮想化をサポートしています。参考までに、これはソフトウェアベースの機能ではなく、ハードウェアの機能です。そうは言っても、コンピュータのハードウェアは SLAT または第 2 レベルのアドレス変換をサポートしている必要があります。そうしないと、コンピューター上でネストされた仮想化を使用できません。

Windows 11/10 でネストされた仮想化を有効にするにはどうすればよいですか?

Hyper-V を使用して仮想マシンを作成する場合は、追加の設定を有効にしたりオンにしたりする必要がない場合があります。一方、Virtual Box または VMware を使用して仮想マシンを作成する場合は、それぞれの設定を見つけることができます。仮想 OS 内に別の仮想マシンを作成して使用できるように、仮想マシンを実行する前にこれらをオンにする必要があります。

Windows 10 で入れ子になった仮想化コンテナーを作成する方法などについては、こちらを参照してください。MSDN ブログ投稿。