Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

VMware ESXi上のWindows 10仮想マシンにHyper-V役割をインストールする方法

はじめに

VMware ESXiホスト上で稼働しているWindows 10仮想マシン(Windows Server 2016にも同様の手順が適用可能)に、Hyper-V仮想化ロールをインストールする必要があるテスト作業がありました。これは、VMware ESXi上でHyper-Vのネステッド・バーチャライゼーション(入れ子状仮想化)を実現することを意味します。

ネステッド・バーチャライゼーションとは

ネステッド・バーチャライゼーション(Nested Virtualization)とは、あるハイパーバイザー上で動作する仮想マシンの中で、さらに別のハイパーバイザーを実行できるようにする技術です。Hyper-Vにおいてネステッド・バーチャライゼーションが完全にサポートされたのは、Windows Server 2016 / Windows 10 Anniversary Update以降です。一方、VMwareではこの技術は古くから利用可能で、ESXi 5.0の時点ですでに搭載されていました。

本記事では、VMware ESXi 6.0仮想化ホスト上でWindows 10(1709)仮想マシンを稼働させている環境を例に、設定手順を解説します。

問題1:「必要な仮想化機能がプロセッサにない」エラー

コントロールパネル →「プログラムと機能」→「Windowsの機能の有効化または無効化」からHyper-Vハイパーバイザーロール(コンポーネント名:Hyper-V ハイパーバイザー)をインストールしようとすると、オプションがグレーアウトして選択できないことがあります。表示されるエラーは以下の通りです。

Hyper-V をインストールできません: プロセッサに必要な仮想化機能がありません
(Hyper-V cannot be installed: The processor does not have the required virtualization capabilities)

解決策:ハードウェア支援仮想化をゲストOSに公開する

Windows 10ゲストOSが動作する仮想マシンでネステッド・バーチャライゼーションを有効にするには、vSphere Webクライアントを使用して仮想マシンの設定を開きます(仮想マシンの電源は必ずオフにしておいてください)。CPUセクションにある「ハードウェア支援による仮想化をゲストOSに公開(Expose hardware assisted virtualization to the guest OS)」オプションにチェックを入れます。なお、このオプションはvCenter C#シンクライアント(従来型デスクトップクライアント)では利用できません。

代替方法:.vmxファイルを直接編集する

このオプションを持たない旧バージョンのESXiや、デスクトップ版のVMware Workstationでは、仮想マシンの構成ファイル(*.vmx)に以下の行を追加することでネステッド・バーチャライゼーションを有効化できます。

hypervisor.cpuid.v0 = "FALSE"
mce.enable = "TRUE"
vhv.enable = "TRUE"

VMware vSphereクライアントから設定する場合は、仮想マシン設定の「オプション」→「全般」→「構成パラメータ(Configuration Parameters)」を開き、「Add Row」ボタンで同じパラメータを行として追加します。

問題2:「SLATがサポートされていない」エラー

Windows 10仮想マシンを起動し、再度Hyper-Vロールのインストールを試みます。今度はWindowsが自身が別のハイパーバイザー上で動作していることを検出しなくなりますが、新たなエラーが表示される場合があります。

Hyper-V をインストールできません: プロセッサが第2レベルのアドレス変換(SLAT)をサポートしていません
(Hyper-V cannot be installed: the processor does not support second level address translation (SLAT))

これは、仮想化対応に加えて、仮想マシンのプロセッサがSLAT(Second Level Address Translation)技術、つまりメモリページの仮想化とゲストOSによる直接制御をサポートしている必要があることを意味します。Intelではこの機能を「拡張ページテーブル(EPT)」、AMDでは「Rapid Virtualization Indexing(RVI)」と呼んでいます。

SLATサポートの確認方法

以下のコマンドで、プロセッサ(vCPU)がSLATをサポートしているかどうかを確認できます。

systeminfo

コマンド出力の「Hyper-V の要件」セクションに、SLAT非対応であることが次のように表示されます。

第2レベルのアドレス変換: いいえ(Second Level Address Translation: No)

解決策:CPU/MMU仮想化の設定変更

この場合は、仮想マシンのプロセッサパラメータを変更する必要があります。vSphere Webクライアントの「CPU/MMU仮想化(CPU/MMU Virtualization)」セクションで、「ハードウェアCPUとMMU(Hardware CPU and MMU)」を選択してください。

シンvSphereクライアントの場合、同じオプションは「オプション」タブの「CPU/MMU仮想化」セクションにあり、「命令セットの仮想化にIntel VT-x/AMD-Vを、MMU仮想化にIntel EPT/AMD RVIを使用する」という名称で提供されています。

まとめ

Windows 10仮想マシンを起動し、systeminfoコマンドなどでプロセッサがSLATをサポートするようになったことを確認します。その後、Hyper-Vロールのすべてのコンポーネントをインストールすれば、このWindows 10仮想マシン内で他の仮想マシンを実行できるようになります。ESXi側の設定さえ正しく行えば、ネステッド環境でのHyper-V検証もスムーズに進められます。

  1. Windows 10に言語パックをインストール・変更する方法【初心者向け完全ガイド】

    Windowsは世界で最も多く使用されているデスクトップOSです。そのため、多言語への対応ニーズも非常に高まっています。Windowsでは英語が既定の主要言語として設定されていますが、実はWindows 10では111の言語から好きなものを選んでインストールできることをご存じでしょうか。これらの豊富な選択肢の中から、お使いのデスクトップに最適な言語を選ぶことができます。 Windows 10の表示言語を変更すると、すべての設定画面が選択した言語に切り替わります。では、どのようにしてデスクトップの言語を追加し、設定すればよいのでしょうか。この記事では、Windows 10に言語パックをインストー

  2. Windows 10 に Amazon Alexa をインストールする方法【初心者向け完全ガイド】

    Amazon Alexaは、Amazon Echoに搭載されているデジタルアシスタントで、これまでの音声アシスタントの中でも最高峰とされ、高い人気を誇っています。レシピを尋ねたり、お気に入りのレストランからテイクアウトを注文したりと、Alexaはさまざまな場面であなたをサポートしてくれます。さらに、その他の日常的なタスクにおいても非常に効率的に活躍します。しかし、多くのユーザーは「Windows 10でもAlexaを使いたい」と考えていました。実は、それが可能なのです! この記事では、Windows 10にAmazon Alexaをインストールする手順を、ステップバイステップでわかりやすくご紹