私の状況

私の状況

私の状況

Ubuntu 18.04 ホストで VirtualBox v5.2.32 を実行しています。Windows 10 (64 ビット) ゲストを作成しました。Windows 10 ゲスト (Windows 10 Pro - v1903 - 64 ビット) に VirtualBox v6.0.10 をインストールしました。Windows 10 ゲスト内に Ubuntu (64 ビット) ゲストを作成しようとしています。Windows ゲスト内には 32 ビット オプションしか表示されません。この問題を解決するために何度か試みましたが、依然として 32 ビット オプションしか表示されません。

私の意図

VM 内に VM を作成する目的は、VirtualBox が動作していることを確認し、Windows 10 環境内で Vagrant 構成をテストできるようにすることです。Vagrant 構成では 64 ビット ベース イメージを使用しているため、この Windows 10 ゲスト内に 64 ビット ゲストをセットアップできる必要があります。

すでに試したこと

...Ubuntuホスト上

私は確認しましEnable VT-x/AMD-Vシステム > 加速Windows 10 ゲスト マシンの Ubuntu ホストの VirtualBox 構成のタブ。

...Windowsゲストの場合

Windowsゲストマシンでは、ホストの物理CPUの詳細が次のように渡されていることがわかります。設定 > システム > バージョン情報そしてそれは「64 ビット オペレーティング システム、x64 ベースのプロセッサ」

これは、追加のソフトウェア (つまり、アドオンのウイルス対策ソフトウェア) のない、標準の Windows 10 Pro インストールです。

私は検査したWindowsの機能以下の事項を確実に実施するないチェック済み:

  • 守られたホスト
  • ハイパーV
  • 仮想マシンプラットフォーム
  • Windows ハイパーバイザー プラットフォーム
  • Linux 用 Windows サブシステム

...グーグルで調べたところ、これらのうちのいくつか、またはすべてが問題である可能性があるようです。

VirtualBoxフォーラム(64ビットホストを持っていますが、64ビットゲストをインストールできません)、を使用してgpedit.mscローカル コンピュータ ポリシー > コンピュータの構成 > 管理用テンプレート > システム > デバイス ガード > 仮想化ベースのセキュリティを有効にするDisabled。また、Windows セキュリティ > デバイス セキュリティ > コア分離の詳細に設定されていますOff

VirtualBox のインストールを「修復」しました。VirtualBox をアンインストールし、再起動し、再インストールし、さらに再起動しました。

関連する Stack Exchange の質問とその他の参考資料

私は、関連する過去の質問を確認し、上記の手順に示されている提案に従いました。私が見つけたものはすべて、ホスト マシン上で直接実行されている Windows 64 ビット ホストに関連しているようで、それ自体がゲスト VM である Windows ホストには関係していないようです。

答え1

Ubuntu 18.04 ホストで VirtualBox v5.2.32 を実行しています。Windows 10 (64 ビット) ゲストを作成しました。Windows 10 ゲストに VirtualBox v6.0.10 をインストールしました。Windows 10 ゲスト内に Ubuntu (64 ビット) ゲストを作成しようとしています。Windows ゲスト内には 32 ビット オプションしか表示されません。この問題を解決するために何度か試みましたが、依然として 32 ビット オプションしか表示されません。

VirtualBox は、別の仮想マシン内での 64 ビット仮想マシンのホスティングをサポートしていません。

Windows 10 ゲスト マシンの Ubuntu ホストの VirtualBox 構成で VT-x/AMD-V を有効にしました。

VT-x/AMD-V が有効になっているため、最初の 64 ビット仮想マシンを実行できますが、仮想マシンには渡されません。VirtualBox のネストされた仮想化では、仮想化テクノロジ x86 拡張機能をネストされた仮想マシンに公開することはサポートされていません。これが、2 番目の仮想マシン内で 64 ビット オペレーティング システムを実行できない理由です。

私が見つけたものはすべて、ホスト マシン上で直接実行されている Windows 64 ビット ホストに関連しているようで、それ自体がゲスト VM である Windows ホストには関係していないようです。

これは、あなたが望んでいるものが非常にニッチであるという事実によるものです。 現在のハードウェアを使用した VirtualBox では、必要なことは実現できません。

Oracle VM VirtualBox は、AMD CPU を実行するホスト システム上でネストされた仮想化をサポートします。この機能により、ハードウェア仮想化機能をゲスト VM にパススルーできます。つまり、Oracle VM VirtualBox、Oracle VM Server、KVM などのハイパーバイザを Oracle VM VirtualBox ゲストにインストールできます。その後、ゲスト VM 内で VM を作成して実行できます。

**ただし、ネストされた仮想化を有効にしても、現在お持ちのAMDハードウェアでは必要なことは実現できません。VirtualBoxを使用するには、プロセッサがサポートしている必要があります。高速仮想化インデックス

Rapid Virtualization Indexing (RVI) は、開発中は Nested Page Tables (NPT) と呼ばれていましたが、プロセッサ メモリ管理ユニット (MMU) 用の AMD 第 2 世代ハードウェア支援仮想化テクノロジです。

AMD-V は、第一世代のハードウェア仮想化と考えられています。ネストされた仮想化を有効にするには、必要なプロセッサを搭載したシステムで、modifyvm コマンドで --nested-hw-virt オプションを使用する必要があります。

ソース:ネストされた仮想化

ホスト マシンは AMD Opteron 6338P です。Windows ゲスト マシンの VM 構成で VT-x/AMD-V を有効にするがチェックされています。そのため、VT-x は Windows ゲストに公開される必要があります。

VT-X は Intel ハードウェアにのみ存在します。AMD Opteron 6338P は AMD-V のみをサポートします。ただし、選択したオプションを使用すると、仮想マシン内で 64 ビット オペレーティング システムを実行できます。 実際には、VirtualBox がサポートする制限付きのネストされた仮想化は有効になりません。

答え2

64ビット仮想マシンを実行するにはVT-xが必要です。そのため、VT-xがVMに公開されていない場合は、現在のVM内で別のVMを実行することはできません。Windows VM のネストされた仮想化実行することによって

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

もちろん、CPUがネストされた仮想化をサポートしているかどうかを確認する必要があります。

しかし、それはVirtualBoxはAMDのネストされた仮想化のみをサポートします別のハイパーバイザーを使用する必要があります

参照

関連情報