64 ビット ゲストを持つ VirtualBox 64 ビット ホストが 32 ビット VM に切り替わります

64 ビット ゲストを持つ VirtualBox 64 ビット ホストが 32 ビット VM に切り替わります

私は 2 台の 64 ビット (ハードウェア) マシンを持っています。それぞれのマシンに、Ubuntu を実行する 64 ビット VM を新しくインストールしました。

$ dpkg-query -W virtualbox 
virtualbox      6.0.6-dfsg-1
$ uname  -a
Linux zubu 5.0.0-13-generic #14-Ubuntu SMP Mon Apr 15 14:59:14 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux  

この VM は、新しいハードウェア バージョンの Ubuntu ホストの試用インスタンスであるため、VirtualBox などでテストしています。そのため、ここでは次のような珍しいことが行われています。

- A base system (call it "host 0"), running VirtualBox, where:
- ...a guest host, call this "host 1", runs VirtualBox, where:
- ...another guest runs.  "host 2".

「ホスト 0」で新しい VM を起動すると、オプション リストに 64 ビット バージョンが表示されます。

ここで、64 ビット Ubuntu を正常に構築します。私の知る限り、問題はありません。これは「ホスト 1」です。私が知る限り、この VM は 64 ビット インスタンスとして起動します。「設定...」ウィンドウの「システム」->「アクセラレーション」で、「VM-x/AMD-V を有効にする」ボックスがデフォルトで「オン」になっています。問題になる場合は、「ネストされたページングを有効にする」もデフォルトで「オン」に設定されています。

しかし、この VM 内で「VirtualBox」を実行すると、すべての設定が上記のように表示されますが、このプロセスから VM を作成しようとすると、32 ビット オプションのみが表示されます。つまり、64 ビット (ハードウェア) ホストは 64 ビット (仮想) ホストを実行し、64 ビット ゲストの構成を「拒否」します。

これは珍しいレイアウトであり、長期的には意味をなさないことは承知していますが、実際に実行する前に VM 上でハードウェアをテストできるようにしたいと思います。

私が知らないスイッチがあるのでしょうか?

答え1

VirtualBox は、ネストされた仮想化、特に仮想化のハードウェア アクセラレーションをサポートしていません。

この結果、L1 ゲストはハードウェア アクセラレーションを備えた VM を実行できず、64 ビット VM にはハードウェア アクセラレーションが必要であるため、32 ビットの非アクセラレーション VM のみを実行できます。

ネストされた仮想化が必要な場合は、ホストと L1 ゲストの両方で virt-manager を使用した KVM の使用を検討してください。さらに、ホスト上の virt-manager を設定して、SSH 経由で L1 ゲストの libvirt に接続し、ホスト上の VM と L1 ゲストの VM の両方を管理できるようにすることもできます。

関連情報